Поиск в базе данных MySQL по координатам - PullRequest
0 голосов
/ 21 октября 2011

Я делаю приложение для iPhone, которое имеет внешнюю базу данных, в этом случае я использую mySql.

Я хочу сохранить координаты в базе данных, а затем я хочу выполнить поиск в базе данных, используя координаты, чтобы получить только те координаты, которые близки к координатам, которые я запрашиваю.

Пример

-----------------
    Database    |
-----------------
1- Coordinate A |
2- Coordinate B |
3- Coordinate C |
-----------------

поиск с использованием Координаты D позволяет предположить, что координаты A и Координата C находятся рядом с Координатой D, скажем, с радиусом 5 км, тогда мой результат запроса будет показан Координаты А, Координаты С и игнорировать координату B, так как она не близка к координате D

Кто-нибудь знает, в каком формате должна быть моя база данных? Как запросить базу данных по координатам?

1 Ответ

0 голосов
/ 21 октября 2011

Сохраните ваши координаты в виде 2 столбцов, каждый из которых является поплавком.Таким образом, ваша структура таблицы будет выглядеть следующим образом:

lon float(X,Y)
lat float(X,Y)

Где X и Y - желаемая точность.

Для поиска вы можете использовать формула расстояния Хаверсайна для гео / пространственного поиска с фиксированным расстоянием (ваши 5 км)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...