Почтовый индекс + Страна к географическим координатам - PullRequest
11 голосов
/ 16 января 2010

Каков наиболее полный, точный и надежный способ получения координат (широта / долгота) заданного почтового / почтового индекса данной страны? Мне нужно сделать много запросов, поэтому будет полезен высокий лимит API (может даже отсутствовать).

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

Существуют ли другие (надежные) альтернативы?


Пока я читал мета-вопрос , я наткнулся на эту ссылку:

http://query.yahooapis.com/v1/public/yql?q=select%20%2A%20from%20geo.places%20where%20text%3D%22Jyv%C3%A4skyl%C3%A4%22&format=xml

Я слышал о YQL раньше, но понятия не имел, что могу использовать его для адресов GeoCode, поэтому я немного искал и Я нашел эту очень интересную информацию :

Пределы использования

Предел приложения (определяется ваш ключ доступа): 100 000 звонков за день

По IP-ограничениям: / v1 / public /: 1,000 звонки в час; / v1 / yql /: 10000 звонков в час

Кто-нибудь знает, где можно получить более конкретную информацию по использованию адресов YQL для GeoCode?

Ответы [ 4 ]

6 голосов
/ 17 января 2010

Yahoo! GeoPlanet даст вам центроиды широты / долготы для почтовых индексов. Они были надежны в моем опыте. Предел API составляет 50 000 запросов в день. Я не уверен, какова их политика в отношении результатов кэширования. У меня складывается впечатление, что, если вы обратитесь в Yahoo !, вы можете создать соглашение с более высоким лимитом запросов, хотя это может стоить денег.

Они также позволяют вам загружать значительную часть их данных по лицензии Creative Commons, но, к сожалению, это ограничивается отношениями WOEID и названиями стран.

6 голосов
/ 16 января 2010

Я думаю, что ваш выбор, вероятно, будет зависеть от того, сколько API-вызовов вы собираетесь совершать в день. Ежедневный лимит бесплатного API Карт Google составляет 15 000 запросов на IP-адрес. (Источник: Часто задаваемые вопросы по API Карт Google .)

Вы можете выполнить геокодирование с помощью Google Maps API, используя следующий HTTP-запрос:

Простой CSV:

http://maps.google.com/maps/geo?q=W1A+1AA,+London&output=csv&sensor=false

Более сложный XML:

http://maps.google.com/maps/geo?q=W1A+1AA,+London&output=xml&sensor=false

Просто измените параметр "q" с почтовым индексом и страной на геокод.

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

2 голосов
/ 17 января 2010

Самым простым способом, конечно, было бы найти поставщика высококачественных услуг без ограничения количества запросов. Почему бы не спросить Google о предложении? Из того, что я слышал, они достаточно гибки по отношению к бизнес-клиентам.

Если это не вариант, вы, безусловно, сможете получить отдельные файлы данных, и стоимость проезда будет дешевле, чем 33 тыс. Во многих странах. Я вполне уверен, что в Германии и Австрии продаются файлы данных по трехзначным ценам, а для Великобритании есть файл почтовых индексов (PAF) это данные из Royal Mail Не думаю, что качество становится лучше, чем это. Конечно, в дополнение к стоимости и хлопотам, было бы много работы по конвертации, чтобы сделать с 26 отдельными файлами из разных почтовых отделений и еще много чего - работа, которой бы я никому не завидовал :) дешевле всего поговорить с Google или Yahoo.

1 голос
/ 25 мая 2015

Это действительно очень сложная проблема, поскольку почтовый индекс на самом деле не является многоугольной областью, а набором строк, агрегированных вместе (см. Лучший ответ для Как получить ограничивающие координаты для почтового индекса (почтового индекса) США ? для очень подробного объяснения этого.)

В Соединенных Штатах Бюро переписей ведет список примерных границ почтовых индексов, называемых «пятизначными областями табуляции почтовых индексов» (ZCTA5). Вы можете скачать их напрямую и обрабатывать их так, как вам нравится. Есть несколько инструментов геокодирования, которые помогут вам начать с этим; Я использую PostGIS (http://postgis.net/), но есть и другие, наиболее важные данные Open Street Maps (http://www.openstreetmap.org),, которые охватывают весь мир.

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