Вот в чем проблема,
Уже было проведено несколько исследований по этому поводу, но не было найдено четкого и хорошо объясненного решения по этому поводу. Некоторые люди говорят о таких функциях, как st_distance
или st_within
, которые относятся к версиям mysql / mariadb, но эти функции, похоже, не имеют реальной документации и не подходят для моей проблемы.
Итак, я пытаюсь сделать следующее:
Получите ВСЕ пространственные ТОЧКИ (lat,ln)
, которые находятся внутри круга с определенным РАДИУСОМ в KILOMETRES
.
Пользователь задаст радиус от 1 до 100 км и получит все записи базы данных, которые находятся в пределах этого радиуса.
Таблица "point
s" выглядит так:
ID -- POINT -- SOMETEXT
Точка - это точка пространственного типа, используемая в mySql(>5.6) / mariaDb(5.5.40) (lat,lng)
Итак, запрос должен выглядеть так:
"SELECT * FROM points WHERE (function... to get distance) <= definedDistance"
Спасибо за помощь