Как преобразовать почтовые индексы в широту и долготу?


12

У меня есть набор данных, который включает в себя список почтовых индексов. Есть ли способ в R преобразовать эти почтовые индексы в координаты широты и долготы?


Latlong.net - отличное место для получения индивидуальных координат для одного почтового индекса ...

Ответы:


15

Не существует строгой алгоритмической связи между широтой и долготой и почтовым индексом - все они являются пользовательскими областями, генерируемыми почтовой службой. Вам необходим доступ к набору данных, который кодирует полигоны / центроиды полигонов по почтовому индексу.

1) Комплекс

Традиционно эта задача (в сочетании с поиском адресов) называется «Геокодирование». Самый удобный метод для полного поиска адреса - это найти существующий онлайн-геокодер, будь то с помощью Google Maps, Bing Maps или ESRI.

2) проще

Только для почтовых индексов США есть данные, доступные из переписи:

http://www.census.gov/geo/www/cob/z52000.html

Я не знаком с геопространственными возможностями R, но все, что вам нужно, это полигон-> центроид и центроид-> координаты.

3) Самый простой

Эта задача достаточно распространена, так что существует существующий ранее набор данных центроидов: http://coolthingoftheday.blogspot.com/2008/04/free-us-zip-code-database-as-csv.html


Ссылка на Бюро переписи населения не работает. Вероятно, это относится к ЗСТА, которые являются изобретением бюро переписей. Первоначально основанные на почтовых индексах (которые НЕ являются полигонами и регулярно меняются), эти полигоны должны быть достаточно постоянными. То есть. делая их более пригодными для демографических целей.
— winwaed

9

Вы смотрели на zipcodeпакет ? это в основном датафрейм с ~ 45 000 почтовых индексов вместе с их городом, штатом, широтой и долготой.


5

Я использую geocodeфункцию в ggmapпакете.


это позволит zip + 4 или использует только центроиды zip?

Он использует Google Maps, поэтому работает, как Google будет. (Получайте только ограниченное количество геокодов в день.)

... и, видимо, вам не разрешено хранить данные (в основном вам придется запрашивать API каждый раз, когда вам это нужно)
— Мэтт

Означают ли они, что вы не можете сохранить их для будущего геокодирования (т.е. создать свой собственный кэш сопоставлений) или что вы не можете сохранить результаты вообще? Я использовал его, чтобы найти преступления в моем районе и, конечно же, хранить широту / долготу каждого преступления для дальнейшего использования. Я не создал кеш, который я использую, чтобы избежать Google для будущего геокодирования.
— Уэйн

1
Мое чтение TOS (спасибо за ссылку!) Состоит в том, что они имеют отношение к представлению карт другим людям. То есть вы не можете создать свой собственный картографический сервис, который использует Google в качестве бэкенда и не кредитует их. Похоже, он не имеет ничего общего с данными геокодирования. Хотя, кто знает в эту спорную эпоху ...
— Уэйн

-2

Похоже, вы используете Ruby on Rails.
Попробуйте это руководство от Райана Бейтса http://railscasts.com/episodes/273-geocoder?view=asciicast.
Я пробовал его раньше, и он отлично работает. Когда вы вводите адрес или почтовый индекс, он покажет долготу и широту.


2
Он просит решение в R , а не в Ruby on Rails.
— Фезтер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.