rgeoapi — Un package R pour accéder à la GéoAPI
rgeoapi est destiné à interroger la GéoAPI d’Etalab avec R. L’objectif ? Simplifier l’accès aux références géographiques des communes françaises.
GeoAPI
Développé par Etalab, en partenariat avec La Poste, l’INSEE et OpenStreetMap, GéoAPI vous permet de lancer des requêtes sur la base de données géographiques française (métropole et DROM).
L’interface renvoie des coordonnées géographiques WGS-84, au format JSON et GeoJSON. Le package rgeoapi a été développé afin de vous permettre d’intégrer les informations de cette API facilement dans vos projets R.
Installer rgeoapi
Pour l’heure, rgeoapi est disponible sur Github. Vous pouvez l’installer dans votre environnement R via la commande suivante :
devtools::install_github("ColinFay/rgeoapi")
Fonctionnement de rgeoapi
Cette première version du package s’articule autour de trois fonctions. Toutes renvoient un dataframe contenant les variables suivantes :
name
: le ou les nom(s)codeInsee
: le ou les codes INSEEcodesPostaux
: le ou les codes postauxsurface
: la surfacelat
etlong
: les coordonnées GPSlibrary(rgeoapi) ## Loading required package: httr ## Loading required package: rjson
getByPC
Cette fonction prend un code postal en entrée, et renvoie la ville qui correspond à ce code. Attention, lorsque la ville répond à plusieurs codes postaux (comme Rennes), tous les codes sont affichés.
getByPC(35000)
## name codeInsee codesPostaux surface lat long
## 1 Rennes 35238 35200 5035 48.11023 -1.678872
## 2 Rennes 35238 35700 5035 48.11023 -1.678872
## 3 Rennes 35238 35000 5035 48.11023 -1.678872
getByName
Comme son nom l’indique, cette fonction prend en entrée le nom d’une ville et renvoie l’ensemble des villes qui correspondent parfaitement ou partiellement.
getByName("Rennes")
## name codeInsee codesPostaux surface lat long
## 1 Rennes 35238 35200 5035 48.11023 -1.6788723
## 2 Rennes 35238 35700 5035 48.11023 -1.6788723
## 3 Rennes 35238 35000 5035 48.11023 -1.6788723
## 4 Rennes-le-Château 11309 11190 1497 42.91498 2.2774065
## 5 Rennes-les-Bains 11310 11190 1975 42.92166 2.3408405
## 6 Rennes-sur-Loue 25488 25440 547 47.01497 5.8551652
## 7 Rennes-en-Grenouilles 53189 53110 801 48.49128 -0.5083472
getByIC
getByIC
prend un code INSEE en entrée, et renvoie le data.frame de la commune correspondante.
getByIC(35238)
## name codeInsee codePostal surface lat long
## 1 Rennes 35238 35200 5035 48.11023 -1.678872
## 2 Rennes 35238 35700 5035 48.11023 -1.678872
## 3 Rennes 35238 35000 5035 48.11023 -1.678872
Plus d’infos et contact
Plus d’infos sur ce package, ainsi que le code source, disponible sur la page Github — vos feedbacks sont les bienvenus !
Des questions sur ce package ? Des retours à me faire ? N’hésitez pas à me contacter !
What do you think?