Tenho um conjunto de dados que inclui uma lista de códigos postais. Existe uma maneira em R de converter esses CEPs em coordenadas de latitude e longitude?
Comentários
- Latlong.net é um bom lugar para se tornar individual coordenadas para um único código postal …
Resposta
Não há relação algorítmica estrita entre latitude e longitude e código postal – são todas as áreas personalizadas geradas pelo serviço postal. Você precisa acessar um conjunto de dados que codifica polígonos / centróides de polígonos por CEP.
1) Complexo
Tradicionalmente, esta tarefa (juntamente com a pesquisa de endereço) é chamada de “geocodificação”. O método mais conveniente para pesquisa de endereço completo é encontrar um geocodificador online preexistente, seja pelo Google Maps, Bing Maps ou ESRI.
2) Mais simples
No entanto, apenas para os códigos postais dos EUA, há dados disponíveis do Censo:
http://www.census.gov/geo/www/cob/z52000.html
Não estou familiarizado com a capacidade geoespacial R, mas tudo que você precisa é polígono-> centroide e centroide-> coordenadas.
3) Mais simples
Esta tarefa é comum o suficiente para que exista um conjunto de dados de centróide preexistente: http://coolthingoftheday.blogspot.com/2008/04/free-us-zip-code-database-as-csv.html
Comentários
- O link do Census Bureau está quebrado. Provavelmente se referia a ZCTAs que são uma invenção do census bureau. Originalmente com base em códigos postais (que NÃO são polígonos e mudam regularmente), são polígonos que pretendem ser razoavelmente constantes. Ou seja, tornando-os mais utilizáveis para fins demográficos.
Resposta
tem você olhou no zipcode
pacote ? é basicamente um dataframe com aproximadamente 45.000 códigos postais junto com sua cidade, estado, latitude e longitude.
Resposta
Eu uso a função geocode
no pacote ggmap
.
Comentários
- isso permitirá zip + 4 ou usa apenas centróides zip?
- Ele ' está usando o Google Maps e, portanto, funciona como o Google faria. (Somente obtenha um número limitado de geocódigos por dia.)
- … e aparentemente você não tem ' permissão para armazenar os dados (você ' basicamente temos que consultar a API sempre que precisar)
- Isso significa que você pode ' armazená-los para geocodificação futura (ou seja, criando seu próprio cache de mapeamentos), ou que você não pode ' armazenar os resultados? Eu ' usei para localizar crimes na minha vizinhança e certamente armazenar o Lat / Lon de cada crime f ou referência futura. Não ' t criei um cache que uso para evitar o Google para geocodificação futura.
- Minha leitura do TOS (obrigado pelo link!) É que têm a ver com a apresentação de mapas a outras pessoas. Ou seja, você não pode ' criar seu próprio serviço de mapas que use o Google como back end e não ' não dê crédito a eles. Não ' não parece ter nada a ver diretamente com dados de geocodificação. Embora quem sabe nesta era litigiosa …
Resposta
Parece que você está usando Ruby on Rails
Experimente este tutorial de Ryan Bates http://railscasts.com/episodes/273-geocoder?view=asciicast
Eu tentei antes e funciona perfeitamente. Quando você digita o endereço ou CEP, ele mostra a longitude e a latitude.
Comentários
- Ele está pedindo uma solução em R , não Ruby on Rails.