O {geocodebr} é um pacote computacional para geolicalização de endereços Brasileiros. O pacote oferece uma maneira simples e eficiente de geolocalizar dados sem limite de número de consultas. O pacote é baseado em conjuntos de dados espaciais abertos de endereços brasileiros, utilizando como fonte principal 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.
A última versão estável pode ser baixada do CRAN com o comando a seguir:
# from CRAN
install.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 de dados:
geocode()
geocode_reverso()
busca_por_cep()
Uma que você possui uma tabela de dados (data.frame
) com endereços no
Brasil, a geolocalização desses dados 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)
library(sf)
#> Linking to GEOS 3.13.0, GDAL 3.10.1, PROJ 9.5.1; sf_use_s2() is TRUE
# carregando uma amostra de dados
input_df <- read.csv(system.file("extdata/small_sample.csv", package = "geocodebr"))
# Primeiro passo: inidicar o nome das colunas com cada campo dos enderecos
campos <- geocodebr::definir_campos(
logradouro = "nm_logradouro",
numero = "Numero",
cep = "Cep",
localidade = "Bairro",
municipio = "nm_municipio",
estado = "nm_uf"
)
# Segundo passo: geolocalizar
df <- geocodebr::geocode(
enderecos = input_df,
campos_endereco = campos,
resultado_completo = FALSE,
resolver_empates = FALSE,
resultado_sf = FALSE,
verboso = FALSE,
cache = TRUE,
n_cores = 1
)
#> Warning: Foram encontrados 1 casos de empate. Estes casos foram marcados com valor
#> `TRUE` na coluna 'empate', e podem ser inspecionados na coluna
#> 'endereco_encontrado'. Alternativamente, use `resolver_empates = TRUE` para que
#> o pacote lide com os empates automaticamente. Ver documentação da função.
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
“geocode”.
A função geocode_reverso()
, por sua vez, permite a geolocalização
reversa, ou seja, a busca de endereços próximos a um conjunto de
coordenadas geográficas. A função pode ser útil, por exemplo, para
identificar endereços próximos a pontos de interesse, como escolas,
hospitais, ou locais de acidentes.
Mais detalhes na vignette “geocode”.
# amostra de pontos espaciais
pontos <- readRDS(
system.file("extdata/pontos.rds", package = "geocodebr")
)
pontos <- pontos[1:20,]
# geocode reverso
df_enderecos <- geocodebr::geocode_reverso(
pontos = pontos,
dist_max = 1000,
verboso = FALSE,
n_cores = 1
)
Por fim, a função busca_por_cep()
permite fazer consultas de CEPs para
encontrar endereços associados a cada CEP e suas coordenadas espaciais.
# amostra de CEPs
ceps <- c("70390-025", "20071-001")
df_ceps <- geocodebr::busca_por_cep(
cep = ceps,
resultado_sf = FALSE,
verboso = FALSE
)
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)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.