O {geocodebr} é um pacote computacional para geolicalização de endereços Brasileiros. O pacote oferece uma maneira simples e eficiente de geolocalizar endereços para encontrar suas coordenadas geográficas. O pacote é baseado em conjuntos de dados espaciais abertos de endereços brasileiros, utilizando principalmente o Cadastro Nacional de Endereços para Fins Estatísticos (CNEFE). O CNEFE é publicado pelo Instituto Brasileiro de Geografia e Estatística (IBGE). Atualmente, o pacote está disponível apenas em R.
O pacote ainda não está disponível no CRAN. Você pode instalar a versão em desenvolvimento com o código abaixo:
# install.packages("remotes")
::install_github("ipeaGIT/geocodebr") remotes
Uma que você possui uma tabela de dados (data.frame
) com
endereços no Brasil, a geolocalização desses dados com
{geocodebr} pode ser feita em apenas dois passos:
O primeiro passo é usar a função definir_campos()
para indicar os nomes das colunas no seu data.frame
que
correspondem a cada campo dos endereços.
O segundo passo é usar a função geocode()
para
encontrar as coordenadas geográficas dos endereços de input.
library(geocodebr)
# carregando uma amostra de dados
<- read.csv(system.file("extdata/small_sample.csv", package = "geocodebr"))
input_df
# Primeiro passo: inidicar o nome das colunas com cada campo dos enderecos
<- geocodebr::definir_campos(
campos logradouro = "nm_logradouro",
numero = "Numero",
cep = "Cep",
localidade = "Bairro",
municipio = "nm_municipio",
estado = "nm_uf"
)
# Segundo passo: geolocalizar
<- geocodebr::geocode(
df enderecos = input_df,
campos_endereco = campos,
resultado_completo = FALSE,
resolver_empates = FALSE,
resultado_sf = FALSE,
verboso = FALSE,
cache = TRUE,
n_cores = 1
)
Cabe também destacar aqui outros dois argumentos da função
geocode()
:
resolver_empates
: serve para indicar se o usuário quer
que a função resolva automaticamente casos de empate, i.e. casos que o
endereço de input do usuário pode ser referir a diferentes localidades
na cidade (e.g. logradouros diferentes com mesmo nome mas em bairros
distintos)resultado_sf
: quando TRUE
, o output é
retornado como um objeto espacial de classe sf
simple
feature.Os resultados do {geocodebr} são classificados em
seis categorias gerais de precisao
, dependendo do nível de
exatidão com que cada endereço de input foi encontrado nos dados do
CNEFE. Para mais informações, consulte a documentação da função ou a
vignette de geocode.
Existem diversos pacotes de geolocalização disponíveis, muitos dos quais podem ser utilizados em R (listados abaixo). A maioria dessas alternativas depende de softwares e conjuntos de dados comerciais, geralmente impondo limites de número de consultas gratuitas. Em contraste, as principais vantagens do {geocodebr} são que o pacote: (a) é completamente gratuito, permitindo consultas ilimitadas sem nenhum custo; (b) opera com alta velocidade e escalabilidade eficiente, permitindo geocodificar milhões de endereços em apenas alguns minutos, sem a necessidade de infraestrutura computacional avançada ou de alto desempenho.
Os dados originais do CNEFE são coletados pelo Instituto Brasileiro de Geografia e Estatística (IBGE). O {geocodebr} foi desenvolvido por uma equipe do Instituto de Pesquisa Econômica Aplicada (Ipea)