2015-09-19 4 views
-1

Я разрабатываю простой веб-сервис, строго связанный с db: цель состоит в том, чтобы найти список близких мне мест.Как найти место с координатами GPS, координатами GPS и радиусом?

My db содержит список мест: каждый объект объекта состоит из уникального идентификатора, имени, долготы и широты.

Запрос, который поступает на веб-сервис, состоит из моей долготы, моей широты и радиуса в км.

Я хочу получить список мест, расположенных между мной и радиусом.

Есть ли простой способ сделать это?

Итак, мои вопросы: есть ли конкретный объект, который будет использоваться в db, который поможет мне вставить GPS-координаты?

И какой тип запроса я должен использовать? (SELECT * FROM venuesList WHERE ???)

+0

Смотрите эту [ "статью" в документации Google Maps] (https://developers.google.com/maps/articles/phpsqlsearch_v3#finding-locations-with -mysql) – geocodezip

ответ

0

Это зависит от базы данных, которую вы имеете. На пределе вы можете найти квадратный квадрат, который описывает предметы рядом с радиусом, но в прямоугольной коробке.

SELECT * FROM venuesList WHERE xPos >= clientPosX - radius AND 
           xPos <= clientPosX + radius AND 
           yPos >= clientPosY - radius AND 
           yPos <= clientPosY + radius; 

Однако индекс г-дерево даст вам «п-ближайшие член» или «в радиусе» результаты.

Я думаю, SQLite и Postgress поддержки г-деревья

Смежные вопросы