Используйте пространственные расширения MySQL для выбора точек внутри круга
У меня есть столflags
который содержит столбец с именемcoordinates
это полно MySQL «точек». Мне нужно выполнить запрос, где я получу все флаги в круге, основываясь на широте и долготе с радиусом 100 метров.
С точки зрения использования это основано на позиции пользователя. Например, мобильный телефон предоставит пользователю широту и долготу, а затем передаст его этой части API. Затем API должен создать невидимый круг вокруг пользователя с радиусом 100 метров, а затем вернуть флаги, которые находятся в этом круге.
Именно эту часть API я не знаю, как создать, поскольку я не уверен, как использовать SQL для создания этого невидимого круга и выбирать точки только в пределах этого радиуса.
Это возможно? Есть лиMySQL пространственная функция что поможет мне сделать это?
Я верюBuffer()
Функция может сделать это, но я не могу найти документацию о том, как его использовать (например, SQL). В идеале мне нужен ответ, который показывает мне, как использовать эту функцию или как можно ближе к ней. Где я храню эти координаты как геопространственные точки, я должен использовать геопространственную функцию, чтобы делать то, что я прошу, чтобы максимизировать эффективность.
Флаги настольные:
Я быкоординатыимяПример строки:
1 | [ГЕОМЕТРИЯ - 25B] | Tenacy AB
Для таблицы флагов у меня есть широта, долгота позиции и восток и север (UTM)
Местоположение пользователя просто стандартная широта / долгота, но у меня есть библиотека, которая может преобразовать эту позицию в UTM