Chapitre 9 Géocodage
# CRAN
library(sf)
library(tidyverse)
library(mapview)
library(mapedit)
# Github
# remotes::install_github("joelgombin/banR")
library(banR)
9.1 Géolocalisation à l’adresse
Plusieurs packages permettent de géocoder des adresses.
Le package {tidygeocoder}
utilise un grand nombre de services de géocodage en ligne et est international.
Le package {banR}
de Gombin et Chevalier, exploite l’API de la Base Adresse Nationale.
Il s’intalle depuis github.
Il est particulièrement approprié pour géocoder des adresses en France.
<- data.frame(
mes_adresses services = c("DDTM76", "CVRH Nantes", "DREAL Pays de la Loire"),
adresses = c("Cité Administrative, 2 rue Saint Sever, 76000 ROUEN",
"25 Rue du Douet Garnier, 44000 Nantes",
"5 Rue Françoise Giroud, 44200 Nantes")
)
<- geocode_tbl(tbl = mes_adresses, adresse = adresses) mes_adresses_geoc
Error in geocode_tbl(tbl = mes_adresses, adresse = adresses): The API sent back an error 400
mes_adresses_geoc
Error in eval(expr, envir, enclos): object 'mes_adresses_geoc' not found
Le résultat est un df enrichi de 15 nouveaux attributs dont le nom commence par result_
+ les champs longitude et latitude.
%>%
mes_adresses_geoc select(starts_with("result_")) %>%
names()
Error in select(., starts_with("result_")): object 'mes_adresses_geoc' not found
Le champ result_score
fournit un indicateur de la qualité de la géolocalisation.
Il reste alors à transformer le résultat en df spatial, grâce à la fonction st_as_sf()
vue au chapitre [lire-des-donnees-spatiales].
<- st_as_sf(mes_adresses_geoc, coords = c("longitude", "latitude"), crs = 4326) mes_adresses_sf
Error in st_as_sf(mes_adresses_geoc, coords = c("longitude", "latitude"), : object 'mes_adresses_geoc' not found
mapview(mes_adresses_sf)
Error in eval(quote(list(...)), env): object 'mes_adresses_sf' not found
Pour en savoir plus : site web de {banR}
, http://joelgombin.github.io/banR/.