O{geocodebr} é um pacote computacional parageolicalização de endereços Brasileiros. O pacote oferece uma maneirasimples e eficiente de geolocalizar dados sem limite de número deconsultas. O pacote é baseado em conjuntos de dados espaciais abertos deendereços brasileiros, utilizando como fonte principal o CadastroNacional de Endereços para Fins Estatísticos (CNEFE). O CNEFE épublicadopelo Instituto Brasileiro de Geografia e Estatística (IBGE). Atualmente,o pacote está disponível apenas em R.
A última versão estável pode ser baixada do CRAN com o comando aseguir:
# from CRANinstall.packages("geocodebr")Caso prefira, a versão em desenvolvimento:
# install.packages("remotes")remotes::install_github("ipeaGIT/geocodebr")O {geocodebr} possui três funções principais para geolocalização dedados:
geocode()geocode_reverso()busca_por_cep()Uma vez que você possui uma tabela de dados (data.frame)com endereços no Brasil, a geolocalização desses dados pode ser feita emapenas dois passos:
O primeiro passo é usar a funçãodefinir_campos()para indicar os nomes das colunas no seudata.frame quecorrespondem a cada campo dos endereços.
O segundo passo é usar a funçãogeocode() paraencontrar as coordenadas geográficas dos endereços de input.
library(geocodebr)library(sf)# carregando uma amostra de dadosinput_df<-read.csv(system.file("extdata/small_sample.csv",package ="geocodebr"))# Primeiro passo: indicar o nome das colunas com cada campo dos enderecoscampos<- geocodebr::definir_campos(logradouro ="nm_logradouro",numero ="Numero",cep ="Cep",localidade ="Bairro",municipio ="nm_municipio",estado ="nm_uf" )# Segundo passo: geolocalizardf<- geocodebr::geocode(enderecos = input_df,campos_endereco = campos,resultado_completo =FALSE,resolver_empates =TRUE,resultado_sf =TRUE,verboso =FALSE )Os resultados do{geocodebr} são classificados emseis categorias gerais deprecisao, dependendo do nível deexatidão com que cada endereço de input foi encontrado nos dados doCNEFE. Os resultados trazem ainda uma estimativa da incerteza dalocalização encontrada como umdesvio_metros. Para maisinformações, consulte a documentação da função ou avignette“geocode”.
A funçãogeocode_reverso(), por sua vez, permite ageolocalização reversa, ou seja, a busca de endereços próximos a umconjunto de coordenadas geográficas. A função pode ser útil, porexemplo, para identificar endereços próximos a pontos de interesse, comoescolas, hospitais, ou locais de acidentes. Aqui um exemplo de como usara função:
# amostra de pontos espaciaispontos<-readRDS(system.file("extdata/pontos.rds",package ="geocodebr") )pontos<- pontos[1:20,]# geocode reversodf_enderecos<- geocodebr::geocode_reverso(pontos = pontos,dist_max =1000,verboso =FALSE )Mais detalhes navignette“geocode reverso”.
Por fim, a funçãobusca_por_cep() permite fazerconsultas de CEPs para encontrar endereços associados a cada CEP e suascoordenadas espaciais.
# amostra de CEPsceps<-c("70390-025","20071-001")df_ceps<- geocodebr::busca_por_cep(cep = ceps,resultado_sf =TRUE,verboso =FALSE )
Os dados originais do CNEFE são coletados pelo Instituto Brasileirode Geografia e Estatística (IBGE). O{geocodebr} foidesenvolvido por uma equipe do Instituto de Pesquisa Econômica Aplicada(Ipea), e conta com apoio do Instituto Todos pela Saúde (ITpS).
Além de diversos pesquisadores e empresas que utilizam o {geocodebr},o pacote também tem sido utilizado por algumas instituições públicas noplanejamento e avaliação de políticas públicas. Entre elas:
Existem diversos pacotes de geolocalização disponíveis, muitos dosquais podem ser utilizados em R (listados abaixo). A maioria dessasalternativas depende de softwares e conjuntos de dados comerciais,geralmente impondo limites de número de consultas gratuitas. Emcontraste, as principais vantagens do{geocodebr} sãoque o pacote: (a) é completamente gratuito, permitindo consultasilimitadas sem nenhum custo; (b) opera com alta velocidade eescalabilidade eficiente, permitindo geocodificar milhões de endereçosem apenas alguns minutos, sem a necessidade de infraestruturacomputacional avançada ou de alto desempenho.