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

12

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

user9292
источник
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

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

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

screechOwl
источник
5

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

Wayne
источник
это позволит 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.
Фезтер