Ближайший почтовый индекс почтовый индекс? - PullRequest
11 голосов
/ 14 сентября 2010

Мне нужно найти 5 ближайших почтовых индексов почтового индекса.Например, у меня есть 33304, и мне нужно найти ближайшие, такие как 33309, 33308 ...

Есть ли где-нибудь база данных или веб-сервис, который мог бы помочь мне в этом?* Думаю, мне придется создать собственную базу данных, чтобы сделать это?Я знаю, как это сделать, но если это уже сделано ...

Ответы [ 6 ]

10 голосов
/ 14 сентября 2010

какая страна?Может быть, вы хотите оформить заказ Geonames: http://www.geonames.org/

Особенно: http://www.geonames.org/export/web-services.html#findNearbyPostalCodes

5 голосов
/ 10 августа 2015

Этот ответ является ответом на недавнюю награду, запрашивающую местоположение почтовых индексов США.

Бюро переписей США имеет список почтовых индексов (с широтой и долготой) на своем веб-сайте .

Зоны табуляции почтового индекса - это CSV, который содержит (как описано в описании формата файла) среди других полей:

Column 1    GEOID   Five digit ZIP Code Tabulation Area Census Code
...
Column 6    INTPTLAT    Latitude (decimal degrees) First character is blank or "-" denoting North or South latitude respectively
Column 7    INTPTLONG   Longitude (decimal degrees) First character is blank or "-" denoting East or West longitude respectively

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

ZIP             C       ZIP Code
NAME            C       ZIP Code Name
...
CITY            C       ZIP City Name
STABBR          C       ZIP State Abbreviation
CTY_NAME        C       ZIP County Name
2 голосов
/ 24 октября 2011

Я тестировал geonames и не нашел его достаточно хорошим. Проверьте области рядом с вашим почтовым индексом, и вы не найдете все почтовые индексы. Они имеют хорошие результаты, но еще не нашли API http://www.searchbug.com/tools/zip-radius.aspx

1 голос
/ 08 февраля 2013

Вот бесплатный веб-сервис, который делает именно то, что вам нужно: http://www.zipwise.com/webservices/

1 голос
/ 24 сентября 2012

Для ближайшего почтового индекса существует два подхода: найти смежные (смежные) почтовые индексы и / или найти ближайшие почтовые индексы на основе расстояния от центра одного почтового индекса до центра другого на основе широты и долготы. .

Чтобы выбрать непрерывный подход ZIP, вам понадобятся данные границ почтового индекса. Alignstar делает то, чем мы очень довольны (мы его перепродаем), но у ESRI и нескольких других компаний также есть хорошие продукты. Моя компания, GreatData.com, разработала продукт для смежных округов и могла разработать продукт для непрерывных почтовых индексов, но пока никто его не просил. Это может быть файл данных или API.

Чтобы найти ближайшие почтовые индексы, основанные на центроидах (центральные точки широты / долготы почтового индекса), вам потребуется база данных почтовых индексов с данными широты / долготы (мы предоставляем один, или перейдите сюда для ссылок на некоторые бесплатные ресурсы : // http://uszipcodes.com/free-zip-code-lookup.htm. Если вам нужен только API, а не хлопотно делать это самостоятельно, сообщите нам. Мы начали разрабатывать аналогичные API и будем разрабатывать их в зависимости от потребностей.

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

0 голосов
/ 03 ноября 2011

PostgreSQL имеет новую функцию в 9.1, которая называется "KNN".Он предназначен специально для дистанционного поиска «Ближайший сосед», и, благодаря самому сравнительному тестированию и тестированию, он очень быстрый и может использоваться для почтовых индексов.Вот краткое введение в KNN .

Вы также можете найти ветку о применении KNN к почтовым индексам и более позднюю последующую информацию .

...