2012-02-28 4 views
0

На веб-сайте пользователи нажимают на Google Map, я звоню в службу геокодирования и получаю всю доступную информацию для данного lat-lng.Найти местность lat lng

У меня есть база данных всех провинций (областей) в Испании и данных муниципалитетов по каждой области. У меня также есть лагль каждого муниципалитета (в центре). Когда я говорю о муниципалитете, я думаю, это то, что Google называет «местностью».

Теперь я хотел бы соответствовать точке карты, нажатой пользователем, с соответствующим муниципалитетом. Как я мог это достичь? Ответ Google не является допустимым ключом для поиска в базе данных, и могут быть различия в орфографии.

Редактировать: Я нашел сайт с файлом kml для муниципалитета, определяющий его площадь. Мне нужно проанализировать каждый файл и найти тот, который содержит координату, нажатую пользователем. Можно ли перевести эти kml в базу данных для быстрой обработки?

ответ

0

Наилучшим подходом к ИМО будет использование почтовых кодов. Когда у вас есть почтовые коды, хранящиеся для каждого муниципалитета, вы можете получить почтовый код из результата геокодирования и использовать его для запроса БД.

Если у вас нет почтовых кодов (или чего-либо еще, что дает вам отличную связь между результатом геокодирования и вашей базой данных), вы можете использовать границы (вы найдете его в геометрии результат) для запроса базы данных для точки в пределах границ.

+0

Почтовый индекс Unfortunatelly не является уникальным: два населенных пункта могут передавать почтовый индекс. – Hectoret

+0

В Испании 2 муниципалитета (о чем мы говорим) могут делиться почтовым кодом? –

0

Вы можете сохранить геометрии в базе данных PostGIS и запустить GeoServer для ответа на эти запросы.

0

Ответ на ваше редактирование: это, безусловно, можно сделать анализ точки в полигоне. База данных с поддержкой геоданных упрощает работу, и это можно сделать с помощью базы данных, отличной от гео. В некоторых базах данных ГИС используется ограничивающий прямоугольник, а не фактический многоугольник. С помощью базы данных, не связанной с геологией, вы должны сами ее закодировать, поэтому можно использовать фактические данные границ. См. Решение 1 по адресу http://local.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/

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