Ответ 1
какая страна? Возможно, вы хотите проверить Geonames: http://www.geonames.org/
В частности: http://www.geonames.org/export/web-services.html#findNearbyPostalCodes
Мне нужно найти 5 ближайших почтовых индексов почтового индекса. Например, у меня есть 33304, и мне нужно найти ближайшие, например 33309, 33308...
Есть ли какая-нибудь база данных или веб-служба, которая поможет мне в этом?
Думаю, мне нужно создать собственную базу данных, чтобы это сделать? Я знаю, как это сделать, но в случае, если это уже сделано...
какая страна? Возможно, вы хотите проверить Geonames: http://www.geonames.org/
В частности: http://www.geonames.org/export/web-services.html#findNearbyPostalCodes
Этот ответ отвечает на недавнюю щедрость, запрашивающую местоположение US Zip Codes.
Бюро переписи населения США имеет список почтовых индексов (с широтой и долготой) на веб-сайте .
области табуляции почтового индекса - это 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
Я тестировал geonames и не нашел его достаточно хорошим. Испытайте области рядом с вашим почтовым индексом, и вы не найдете все zipcodew. Они имеют хорошие результаты, но еще не нашли API http://www.searchbug.com/tools/zip-radius.aspx
Для ближайшего почтового индекса существует два подхода: найти прилегающие (прилегающие) ZIP-коды и/или найти ближайшие ZIP-адреса на основе расстояния от центра одного почтового индекса до центра другого, исходя из широты и долготы.
Чтобы выбрать непрерывный подход ZIP, вам понадобятся данные о границах почтового индекса. Alignstar делает то, что мы очень довольны (мы перепродаем его), но ESRI и несколько других компаний также имеют хорошие продукты. Моя компания, GreatData.com, разработала непрерывный продукт уезда и может разработать непрерывный продукт ZIP-кодов, но до сих пор никто не просил об этом. Это может быть файл данных или API.
Чтобы найти ближайший ZIP-код, основанный на центроидах (центральные точки широты/долготы почтового индекса), вам понадобится база данных ZIP-кода с данными широты/долготы (мы предоставляем один или переходим сюда для ссылок на некоторые свободные ресурсы://http://uszipcodes.com/free-zip-code-lookup.htm. Если вы просто хотите использовать API, а не хлопоты, сделайте это сами, сообщите нам. Мы начали разрабатывать аналогичные API и развиваться на основе спроса.
Одно предупреждение об этом с помощью центроидов: мы видели в прошлом, где, если у вас есть большой (или длинный) соседний ZIP, центр этого ZIP может быть дальше, чем другой маленький ZIP-код, поэтому ваш список из 5 ближайших может пропустить соседний ZIP.
Вот бесплатный веб-сервис, который сделает именно то, что вам нужно: http://www.zipwise.com/webservices/
PostgreSQL имеет новую функцию в 9.1, называемую "KNN". Это специально для поиска "Ближайшие соседи", а также от бенчмаркинга и тестирования его самого, это очень быстро и может использоваться для почтовых индексов. Вот краткое введение в KNN .
Вы также можете найти поток об использовании KNN для zipcodes и более поздние последующие действия.