Wie konvertiert man Postleitzahlen nach Breiten- und Längengrad?

12

Ich habe einen Datensatz, der eine Liste von Postleitzahlen enthält. Gibt es in R eine Möglichkeit, diese Postleitzahlen in Breiten- und Längengradkoordinaten umzurechnen?

user9292
quelle
Latlong.net ist ein schöner Ort, um individuelle Koordinaten für eine einzelne Postleitzahl zu erhalten ...

Antworten:

15

Es gibt keine strikte algorithmische Beziehung zwischen Längen- und Breitengrad und Postleitzahl - es handelt sich um benutzerdefinierte Bereiche, die vom Postdienst generiert werden. Sie benötigen Zugriff auf einen Datensatz, der Polygone / Polygonschwerpunkte nach Postleitzahl codiert.

1) Komplex

Traditionell wird diese Aufgabe (zusammen mit der Adressensuche) als "Geokodierung" bezeichnet. Die bequemste Methode für die vollständige Adresssuche ist die Suche nach einem bereits vorhandenen Online-Geocodierer, sei es über Google Maps, Bing Maps oder ESRI.

2) Einfacher

Für nur US-Postleitzahlen sind jedoch Daten aus der Volkszählung verfügbar:

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

Ich bin nicht mit R-Geodaten vertraut, aber alles, was Sie benötigen sollten, sind Polygon-> Schwerpunkt und Schwerpunkt-> Koordinaten.

3) Am einfachsten

Diese Aufgabe ist häufig genug, damit ein bereits vorhandenes Centroid-Dataset vorhanden ist: http://coolthingoftheday.blogspot.com/2008/04/free-us-zip-code-database-as-csv.html

MappingTomorrow
quelle
Der Link des Census Bureau ist unterbrochen. Es bezog sich wahrscheinlich auf ZCTAs, bei denen es sich um eine Erfindung des Zensusbüros handelt. Ursprünglich auf Basis von Postleitzahlen (die KEINE Polygone sind und sich regelmäßig ändern) handelt es sich um Polygone, die relativ konstant sein sollen. Dh sie für demografische Zwecke nutzbarer zu machen.
Winwaed
9

Sie haben an der sah zipcodePaket ? Es handelt sich im Grunde genommen um einen Datenrahmen mit ca. 45.000 Postleitzahlen sowie Stadt, Bundesstaat, Breite und Länge.

kreischeule
quelle
5

Ich benutze die geocodeFunktion im ggmapPaket.

Wayne
quelle
Erlaubt dies zip + 4 oder werden nur zip-Centroids verwendet?
Es verwendet Google Maps, funktioniert also wie von Google gewohnt. (Erhalten Sie nur eine begrenzte Anzahl von Geocodes pro Tag.)
... und anscheinend dürfen Sie die Daten nicht speichern (Sie müssten die API grundsätzlich jedes Mal abfragen, wenn Sie sie benötigen)
Matt
Bedeuten sie, dass Sie sie nicht für zukünftige Geokodierungen speichern können (dh, Sie erstellen einen eigenen Cache mit Zuordnungen), oder dass Sie die Ergebnisse überhaupt nicht speichern können? Ich habe es benutzt, um Verbrechen in meiner Nachbarschaft aufzuspüren und das Lat / Lon jedes Verbrechens als zukünftige Referenz aufzubewahren. Ich habe jedoch keinen Cache erstellt, mit dem ich Google für zukünftige Geokodierungen meide.
Wayne
1
Meine Lektüre der AGB (danke für den Link!) Hat mit dem Vorzeigen von Karten für andere Leute zu tun. Das heißt, Sie können keinen eigenen Kartendienst erstellen, der Google als Back-End verwendet und diese nicht gutschreibt. Es scheint nichts direkt mit Geokodierungsdaten zu tun zu haben. Obwohl, wer weiß in dieser streitigen Ära ...
Wayne
-2

Anscheinend verwenden Sie Ruby on Rails.
Versuchen Sie dieses Tutorial von Ryan Bates: http://railscasts.com/episodes/273-geocoder?view=asciicast
. Wenn Sie Adresse oder Postleitzahl eingeben, werden Längen- und Breitengrad angezeigt.

Edy
quelle
2
Er bittet um eine Lösung in R , nicht um Ruby on Rails.
Fezter