Jag har en datamängd som innehåller en lista med postnummer. Finns det ett sätt i R att konvertera dessa postnummer till latitud- och longitudkoordinater?
Kommentarer
- Latlong.net är ett trevligt ställe att få enskilda koordinater för ett enda postnummer …
Svar
Det finns inget strikt algoritmiskt förhållande mellan latitud och longitud och postnummer – de är alla anpassade områden som genereras av posttjänsten. Du behöver åtkomst till en dataset som kodar polygoner / polygoncentroider efter postnummer.
1) Komplex
Traditionellt kallas denna uppgift (i kombination med adressuppslag) ”Geokodning”. Den mest praktiska metoden för fullständig adressuppsökning är att hitta en redan befintlig geokodare online, oavsett om det är Google Maps, Bing Maps eller ESRI.
2) Enklare
För bara amerikanska postnummer finns det dock data tillgängliga från folkräkningen:
http://www.census.gov/geo/www/cob/z52000.html
Jag känner inte till R geospatial kapacitet, men allt du behöver är polygon-> centroid- och centroid-> koordinater.
3) Enklast
Den här uppgiften är tillräckligt vanlig för att det finns en redan existerande centroid-dataset: http://coolthingoftheday.blogspot.com/2008/04/free-us-zip-code-database-as-csv.html
Kommentarer
- Census Bureau-länken är trasig. Det hänvisade troligen till ZCTA som är en folkräkningsbyråuppfinning. Ursprungligen baserade på postnummer (som INTE är polygoner och ändras regelbundet) är polygoner som är tänkta att vara ganska konstanta. Det vill säga göra dem mer användbara för demografiska ändamål.
Svar
har du såg vid zipcode
paketet ? det är i grunden en dataram med ~ 45 000 postnummer tillsammans med deras stad, stat, latitud och longitud.
Svar
Jag använder geocode
-funktionen i ggmap
-paketet.
Kommentarer
- tillåter detta zip + 4 eller använder det bara zip-centroider?
- Det ' använder Google Maps, så fungerar dock Google. (Endast få ett begränsat antal geokoder per dag.)
- … och uppenbarligen har du ' inte tillåtelse att lagra data (du ' måste i princip fråga API om varje gång du behöver det)
- Menar de att du kan ' t lagra dem för framtida geokodning (dvs skapa din egen cache med mappningar), eller att du ' inte kan lagra resultaten alls? Jag ' har använt det för att lokalisera brott i mitt grannskap och förvara verkligen Lat / Lon för varje brott f eller framtida referens. Jag har inte ' t skapat en cache som jag använder för att undvika Google för framtida geokodning.
- Min läsning av TOS (tack för länken!) Är att de har att göra med att presentera kartor för andra människor. Det vill säga, du kan ' t skapa din egen karttjänst som använder Google som en backend och inte ' t krediterar dem. Det verkar inte ' ha något direkt att göra med geokodningsdata. Men vem vet i den här tuffa eran …
Svar
Verkar som om du använder Ruby on Rails
Prova den här guiden från Ryan Bates http://railscasts.com/episodes/273-geocoder?view=asciicast
Jag har testat det tidigare och det fungerar perfekt. När du skriver adress eller postnummer kommer det att visa longitud och latitud.
Kommentarer
- Han ber om en lösning i R , inte Ruby on Rails.