ZIP/Почтовый код + Страна для Гео Координаты

Каков наиболее полный, точный и надежный способ получить координаты (широта/долгота) заданного почтового индекса данной страны? Мне нужно сделать много запросов, поэтому будет полезна высокая предельная ставка 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 звонки в час; /v 1/yql/: 10000 звонки в час

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

Ответ 1

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

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

Ответ 2

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

Вы можете выполнить геокодирование с помощью API Карт Google, используя следующий 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. Вы можете проверить дополнительную информацию об этих ограничениях.

Ответ 3

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

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

Ответ 4

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

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