Mam zestaw danych zawierający listę kodów pocztowych. Czy w R jest sposób na przekonwertowanie tych kodów pocztowych na współrzędne szerokości i długości geograficznej?
Komentarze
- Latlong.net to dobre miejsce na indywidualne współrzędne dla pojedynczego kodu pocztowego …
Odpowiedź
Nie ma ścisłej zależności algorytmicznej między szerokością geograficzną a długość geograficzna i kod pocztowy – to wszystkie niestandardowe obszary generowane przez usługę pocztową. Potrzebujesz dostępu do zbioru danych, który koduje wielokąty / centroidy wielokątów według kodu pocztowego.
1) Złożone
Tradycyjnie to zadanie (w połączeniu z wyszukiwaniem adresu) nosi nazwę „Geokodowanie”. Najwygodniejszą metodą pełnego wyszukiwania adresu jest znalezienie wcześniej istniejącego geokodera online, czy to za pomocą Google Maps, Bing Maps czy ESRI.
2) Prostsze
Jednak tylko w przypadku kodów pocztowych w Stanach Zjednoczonych dostępne są dane ze spisu:
http://www.census.gov/geo/www/cob/z52000.html
Nie jestem zaznajomiony z możliwościami geoprzestrzennymi R, ale wszystko, czego potrzebujesz, to współrzędne wielokąta-> środka ciężkości i środka ciężkości->.
3) Najprostszy
To zadanie jest na tyle powszechne, że istnieje już istniejący zbiór danych centroidu: http://coolthingoftheday.blogspot.com/2008/04/free-us-zip-code-database-as-csv.html
Komentarze
- Link do biura spisu ludności jest uszkodzony. Prawdopodobnie odnosił się do ZCTA, które są wynalazkiem biura spisowego. Pierwotnie oparte na kodach pocztowych (które NIE są wielokątami i regularnie się zmieniają) są to wielokąty które mają być dość stałe. To znaczy uczynić je bardziej użytecznymi do celów demograficznych.
Odpowiedź
mają spojrzałeś w pakiecie zipcode
? jest to w zasadzie ramka danych z ~ 45 000 kodami pocztowymi wraz z ich miastem, stanem, szerokością i długością geograficzną.
Odpowiedź
Używam funkcja geocode
w pakiecie ggmap
.
Komentarze
- czy pozwoli to na zip + 4, czy też będzie używać tylko centroidów zip?
- To ' korzysta z Map Google, więc działa tak jak Google. (Tylko uzyskać ograniczoną liczbę geokodów dziennie.)
- … i najwyraźniej nie ' nie możesz przechowywać danych (' d po prostu musisz sprawdzać interfejs API za każdym razem, gdy go potrzebujesz)
- Czy oznaczają, że możesz ' przechowywać je do przyszłego geokodowania (tj. tworzenie własnej pamięci podręcznej mapowań) lub czy w ogóle nie możesz ' przechowywać wyników? ' użyłem go do zlokalizuj przestępstwa w mojej okolicy i na pewno przechowuj szerokość / długość każdego przestępstwa, np lub w przyszłości. Jednak nie ' nie utworzyłem pamięci podręcznej, której używam, aby unikać Google do przyszłego geokodowania.
- Czytałem TOS (dzięki za link!) że mają do czynienia z prezentowaniem map innym ludziom. Oznacza to, że możesz ' t stworzyć własną usługę mapową, która używa Google jako zaplecza i nie ' nie przypisuje im uznania. Wydaje się, że nie ' nie ma nic wspólnego z danymi geokodowania. Chociaż kto wie w tej epoce sporów …
Odpowiedź
Wygląda na to, że używasz Ruby on Rails
Wypróbuj samouczek Ryana Batesa http://railscasts.com/episodes/273-geocoder?view=asciicast
Już wcześniej go wypróbowałem i działa doskonale. Kiedy wpiszesz adres lub kod pocztowy, pokaże on długość i szerokość geograficzną.
Komentarze
- Prosi o rozwiązanie w R , a nie Ruby on Rails.