Поиск города и почтовый индекс для местоположения - PullRequest
5 голосов
/ 27 августа 2008

Учитывая широту и долготу, как проще всего узнать название города и почтовый индекс США в этом месте.

(Это похоже на https://stackoverflow.com/questions/23572/latitude-longitude-database,, за исключением того, что я хочу конвертировать в обратном направлении.)


Смежный вопрос: Получить адрес улицы по лат / длинная пара

Ответы [ 8 ]

3 голосов
/ 18 сентября 2008

Любой из упомянутых онлайн-сервисов и их конкуренты предлагают "обратное геокодирование", которое выполняет то, что вы просите - конвертируйте координаты lon / lat в какой-либо уличный адрес.

Если вам нужны только почтовые индексы и / или города, тогда я получу базу данных почтовых индексов и базу данных городских районов от Бюро переписей США, которое БЕСПЛАТНО (оплачивается вашими налогами). http://www.census.gov/geo/www/cob/zt_metadata.html.

Оттуда вы можете придумать собственный алгоритм поиска пространственных данных или использовать одну из пространственных баз данных, такую ​​как Microsoft SQL Server, PostGIS, Oracle Spatial, ArcSDE и т. Д.

Обновление: данные переписи 2010 года можно найти по адресу: http://www2.census.gov/census_2010/

2 голосов
/ 27 августа 2008

Это веб-сервис для вызова. http://developer.yahoo.com/search/local/V2/localSearch.html

Этот сайт имеет нормальные веб-сервисы, но не совсем то, что вы просите здесь. http://www.usps.com/webtools/

1 голос
/ 08 мая 2012

У вас есть два основных варианта:

Использовать службу обратного геокодирования

  • Google можно использовать только в сочетании со встроенной Картой Google на той же странице, поэтому я не рекомендую ее, если вы этим не занимаетесь.
  • У Yahoo есть хороший, см. http://developer.yahoo.com/search/local/V3/localSearch.html
  • Я не использовал OpenStreetMap. Их карты выглядят очень подробными и подробными, и они постоянно улучшаются, но я бы беспокоился о задержке и надежности, а также о том, являются ли их адресные данные полными (адресные данные не видны непосредственно на карте, а OpenStreetMap - это, прежде всего, интерактивная карта. ).

Используйте карту почтовых индексов

Перепись США публикует карту почтовых индексов США здесь . Они строят это из своей наименьшей статистической единицы - блока переписи, который в большинстве случаев соответствует городскому кварталу. Для каждого блока они находят, какой почтовый индекс наиболее распространен в этом блоке (большинство блоков имеют только один почтовый индекс, но у блоков вблизи границы между почтовыми кодами может быть больше одного). Затем они объединяют все блоки с заданным почтовым индексом в одну область, называемую областью табуляции почтового индекса. Они публикуют карту этих областей в формате шейп-файла ESRI.

Я знаю об этом, потому что я написал библиотеку Java и веб-сервис, который (помимо прочего) использует эту карту для возврата почтового индекса для заданной широты и долготы. Это коммерческий продукт, поэтому он будет не для всех, но он быстрый, простой в использовании и решает эту конкретную проблему без API. Вы можете прочитать об этом продукте здесь:

http://askgeo.com/database/UsZcta2010

А обо всех ваших географических предложениях здесь:

http://askgeo.com

В отличие от решений для обратного геокодирования, которые доступны только в виде веб-API, поскольку запуск собственной службы будет чрезвычайно сложным, вы можете запустить эту библиотеку на своем собственном сервере и не зависеть от внешнего ресурса.

0 голосов
/ 12 января 2009

Или обратное геокодирование Google

ссылка

http://maps.google.com/maps/geo?output=xml&q={0},{1}&key={2}&sensor=true&oe=utf8

, где 0 - широта, 1 - долгота

0 голосов
/ 12 января 2009

Другой провайдер обратного геокодирования, которого здесь еще нет, - OpenStreetMap : вы можете использовать его Nominatim поисковую службу.

OSM имеет (потенциально?) Дополнительный бонус за то, что он полностью редактируемый пользователем (как вики) и, следовательно, имеет очень либеральную схему лицензирования всех этих данных. Подумайте об этом из картографических данных с открытым исходным кодом.

0 голосов
/ 06 января 2009

geonames имеет обширный набор ws, которые могут справиться с этим (среди прочего):

http://www.geonames.org/export/web-services.html#findNearbyPostalCodes
http://www.geonames.org/export/web-services.html#findNearbyPlaceName

0 голосов
/ 09 сентября 2008

Вы можете купить довольно недорогую подписку на почтовые индексы с латами и длинной информацией здесь: http://www.zipcodedownload.com/

0 голосов
/ 28 августа 2008

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

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