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

Kommentare

  • Latlong.net ist ein guter Ort, um individuell zu werden Koordinaten für eine einzelne Postleitzahl …

Antwort

Es gibt keine strikte algorithmische Beziehung zwischen Breitengrad und Längengrad und Postleitzahl – das sind alle benutzerdefinierten Bereiche, die vom Postdienst generiert werden. Sie benötigen Zugriff auf ein Dataset, das Polygone / Polygonschwerpunkte nach Postleitzahl codiert.

1) Komplex

Traditionell wird diese Aufgabe (in Verbindung mit der Adressensuche) als „Geokodierung“ bezeichnet. Die bequemste Methode für die Suche nach vollständigen Adressen besteht darin, einen bereits vorhandenen Online-Geocoder zu finden, 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) Einfachste

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

Kommentare

  • Der Link zum Census Bureau ist unterbrochen. Es handelt sich wahrscheinlich um ZCTAs, die eine Erfindung des Census Bureau sind. Ursprünglich basieren sie auf Postleitzahlen (die KEINE Polygone sind und sich regelmäßig ändern). Dies sind Polygone das soll ziemlich konstant sein, dh sie für demografische Zwecke benutzerfreundlicher machen.

Antwort

haben du sahst beim zipcode -Paket ? Es handelt sich im Grunde genommen um einen Datenrahmen mit ~ 45.000 Postleitzahlen sowie deren Stadt, Bundesland, Breite und Länge.

Antwort

Ich verwende die Funktion geocode im Paket ggmap.

Kommentare

  • Ermöglicht dies zip + 4 oder werden nur zip-Zentroide verwendet?
  • ' verwendet Google Maps, funktioniert also wie Google. (Nur) Sie erhalten eine begrenzte Anzahl von Geocodes pro Tag.)
  • … und anscheinend dürfen Sie ' die Daten nicht speichern (Sie muss die API grundsätzlich jedes Mal abfragen, wenn Sie sie benötigen)
  • Bedeutet dies, dass Sie sie ' nicht für zukünftige Geokodierungen speichern können (dh Sie erstellen Ihren eigenen Cache mit Zuordnungen) oder dass Sie ' die Ergebnisse überhaupt nicht speichern können? Ich ' habe es verwendet Finde Verbrechen in meiner Nachbarschaft und speichere auf jeden Fall das Lat / Lon jedes Verbrechens f oder zukünftige Referenz. Ich habe ' keinen Cache erstellt, mit dem ich Google für zukünftige Geokodierungen vermeide.
  • Ich lese die Nutzungsbedingungen (danke für den Link!) dass sie mit der Präsentation von Karten für andere Menschen zu tun haben. Das heißt, Sie können ' keinen eigenen Kartendienst erstellen, der Google als Back-End verwendet und ' nicht gutschreibt. ' scheint nichts direkt mit Geokodierungsdaten zu tun zu haben. Aber wer weiß in dieser streitigen Zeit …

Antwort

Scheint, als würden Sie Ruby on Rails Probieren Sie dieses Tutorial von Ryan Bates aus. http://railscasts.com/episodes/273-geocoder?view=asciicast
Ich habe es bereits versucht und es funktioniert perfekt. Wenn Sie eine Adresse oder Postleitzahl eingeben, werden Längen- und Breitengrad angezeigt.

Kommentare

  • Er bittet um eine Lösung in R , nicht Ruby on Rails.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.