¿Cómo convertir códigos postales a latitud y longitud?

12

Tengo un conjunto de datos que incluye una lista de códigos postales. ¿Hay alguna manera en R de convertir estos códigos postales a coordenadas de latitud y longitud?

usuario9292
fuente
Latlong.net es un buen lugar para obtener coordenadas individuales para un solo código postal ...

Respuestas:

15

No existe una relación algorítmica estricta entre latitud y longitud y el código postal: todas son áreas personalizadas generadas por el servicio postal. Necesita acceso a un conjunto de datos que codifica polígonos / centroides poligonales por código postal.

1) complejo

Tradicionalmente, esta tarea (junto con la búsqueda de direcciones) se denomina 'Geocodificación'. El método más conveniente para la búsqueda de dirección completa es encontrar un geocodificador en línea preexistente, ya sea por Google Maps, Bing Maps o ESRI.

2) más simple

Sin embargo, solo para los códigos postales de EE. UU., Hay datos disponibles del Censo:

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

No estoy familiarizado con la capacidad geoespacial R, pero todo lo que necesita es polígono-> centroide y centroide-> coordenadas.

3) más simple

Esta tarea es lo suficientemente común como para que exista un conjunto de datos centroide preexistente: http://coolthingoftheday.blogspot.com/2008/04/free-us-zip-code-database-as-csv.html

Mapeo Mañana
fuente
El enlace de la Oficina del Censo está roto. Probablemente se refirió a ZCTA que son una invención de la oficina de censo. Originalmente basado en códigos postales (que NO son polígonos y cambian regularmente), estos son polígonos que están destinados a ser bastante constantes. Es decir. haciéndolos más utilizables para fines demográficos.
winwaed
9

has mirado el zipcodepaquete ? Básicamente es un marco de datos con ~ 45,000 códigos postales junto con su ciudad, estado, latitud y longitud.

Chillido búho
fuente
5

Yo uso la geocodefunción en el ggmappaquete.

Wayne
fuente
¿esto permitirá zip + 4 o solo usa centroides zip?
Está utilizando Google Maps, por lo que funciona como Google lo haría. (Solo obtenga un número limitado de códigos geográficos por día).
... y aparentemente no se le permite almacenar los datos (básicamente tendría que consultar la API cada vez que lo necesite)
Matt
¿Significan que no puede almacenarlos para la geocodificación futura (es decir, crear su propia caché de asignaciones) o que no puede almacenar los resultados? Lo he usado para localizar crímenes en mi vecindario y, ciertamente, almacenar el Lat / Lon de cada crimen para referencia futura. Sin embargo, no he creado un caché que uso para evitar Google para futuras geocodificaciones.
Wayne
1
Mi lectura de los TOS (¡gracias por el enlace!) Es que tienen que ver con la presentación de mapas a otras personas. Es decir, no puede crear su propio servicio de mapas que use Google como back-end y no los acredite. No parece tener nada que ver directamente con los datos de geocodificación. Aunque quién sabe en esta era litigiosa ...
Wayne
-2

Parece que estás usando Ruby on Rails
Prueba este tutorial de Ryan Bates http://railscasts.com/episodes/273-geocoder?view=asciicast
Lo he probado antes y funciona perfectamente. Cuando escriba la dirección o el código postal, mostrará la longitud y la latitud.

Edy
fuente
2
Él está pidiendo una solución en R , no Ruby on Rails.
Fezter