Como converter CEP para latitude e longitude?

12

Eu tenho um conjunto de dados que inclui uma lista de códigos postais. Existe uma maneira no R de converter esses códigos postais em coordenadas de latitude e longitude?

user9292
fonte
Latlong.net é um lugar agradável para obter coordenadas individuais para um único código postal ...

Respostas:

15

Não existe uma relação algorítmica estrita entre latitude e longitude e código postal - todas elas são áreas personalizadas geradas pelo serviço postal. Você precisa acessar um conjunto de dados que codifique polígonos / centróides de polígono por CEP.

1) Complexo

Tradicionalmente, essa tarefa (associada à pesquisa de endereço) é denominada 'Geocodificação'. O método mais conveniente para a pesquisa completa de endereços é encontrar um geocoder online preexistente, seja pelo Google Maps, Bing Maps ou ESRI.

2) Mais simples

Porém, apenas para códigos postais nos EUA, há dados disponíveis no Censo:

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

Não estou familiarizado com a capacidade geoespacial R, mas tudo que você precisa é de coordenadas poligonais> centróides e centróides.

3) Mais simples

Essa tarefa é bastante comum para a existência de um conjunto de dados centróide preexistente: http://coolthingoftheday.blogspot.com/2008/04/free-us-zip-code-database-as-csv.html

MappingAmanhã
fonte
O link do Census Bureau está quebrado. Provavelmente se referiu aos ZCTAs, que são uma invenção da agência do censo. Originalmente, com base em códigos postais (que NÃO são polígonos e são alterados regularmente), são polígonos que devem ser razoavelmente constantes. Ou seja. tornando-os mais utilizáveis ​​para fins demográficos.
Winwaed
9

você olhou para o zipcodepacote ? é basicamente um dataframe com aproximadamente 45.000 códigos postais, além de cidade, estado, latitude e longitude.

Coruja
fonte
5

Eu uso a geocodefunção no ggmappacote.

Wayne
fonte
isso permitirá zip + 4 ou usa apenas centróides zip?
Está usando o Google Maps, então funciona como o Google faria. (Só obter um número limitado de geocódigos por dia.)
... e, aparentemente, você não tem permissão para armazenar os dados (você basicamente tem que consultar a API a cada vez que você precisar)
Matt
Eles significam que você não pode armazená-los para geocodificação futura (ou seja, criar seu próprio cache de mapeamentos) ou que você não pode armazenar os resultados? Eu o usei para localizar crimes no meu bairro e certamente armazenar o Lat / Lon de cada crime para referência futura. Porém, não criei um cache usado para evitar o Google para futuras geocodificações.
Wayne
1
Minha leitura dos Termos de Serviço (obrigado pelo link!) É que eles têm a ver com a apresentação de mapas para outras pessoas. Ou seja, você não pode criar seu próprio serviço de mapas que usa o Google como back-end e não os credita. Parece não ter nada diretamente a ver com dados de geocodificação. Embora quem sabe nesta época litigioso ...
Wayne
-2

Parece que você está usando Ruby on Rails
Experimente este tutorial em Ryan Bates http://railscasts.com/episodes/273-geocoder?view=asciicast
Eu tentei isso antes e funciona perfeitamente. Quando você digita o endereço ou o CEP, ele mostra a longitude e latitude.

Edy
fonte
2
Ele está pedindo uma solução em R , não em Ruby on Rails.
Fezter