sf & cartography v2.0.0

Ce billet évoque les évolutions récentes du traitement des données spatiales avec R ainsi que la mise à jour du package cartography pour prendre en compte ces changements.

Le package sf

Le 31 octobre 2016 le package sf a été mis à disposition sur le CRAN par Edzer Pebesma (déjà maintainer de sp et contributeur actif à rgeos et rgdal).
Le package sf est une implémentation du standard Simple Features de l’OGC.

Jusqu’à présent l’import, l’export, la gestion, le traitement des données spatiales dans R se faisaient grâce à 3 packages principaux : rgdal (pour l’import/export des données et les opérations de projections), sp (pour la gestion et l’affichage des données) et rgeos (pour les géotraitements). sf rassemble en un seul package la plupart des fonctionnalités de ces trois packages.

Le nouveau format fourni par sf et visant a remplacer les formats Spatial*DataFrame est le data.frame enrichi d’une « colonne-liste » de géométries :

Simple Features for R – Edzer Pebesma

Ce format est considéré comme tidy et les fonctions de sf sont compatibles avec l’opérateur pipe.
Vous trouverez à la fin du billet une liste de ressources sur le package sf.

Le package cartography

L’avenir du spatial dans R s’oriente à plus ou moins court terme vers l’utilisation de sf en lieu et place du trio rgdal/sp/rgeos.
Nous avons donc décidé de rendre le package cartography compatible avec les objets de type sf, nous utilisons également les fonctions et formats sf dans les fonctions du package.

La plupart des fonctions restent inchangées, mis à part l’ajout d’un argument x en première place, destiné à l’utilisation des objets sf.
Avant :

choroLayer(spdf, spdfid, df, dfid, var, ...)

Après :

choroLayer(x, spdf, spdfid, df, dfid, var, ...)

Les objets sf contiennent les données attributaires et les géométries d’une manière beaucoup plus pratique que les Spatial*DataFrame. Si l’argument x est utilisé les données attributaires doivent être contenues dans l’objet sf et les arguments spdf, spdfid, df, dfid ne sont pas pris en compte.

Certaines fonctions ont changé plus profondément d’input et d’output (getBorders, getLinkLayer, getGridLayer, discLayer…), l’ensemble des changement est visible ici : NEWS.

La version de cartography prenant en compte sf est pour l’instant disponible sur GitHub et sera bientôt sur le CRAN.

require(devtools)
install_github("riatelab/cartography")

Ressources sur le package sf

La page GitHub du package sf
C’est dans ce dépôt GitHub que se déroule le développement du package et que se tiennent les discussions à son sujet.

Ressources publiées par Edzer Pebesma

Billets de blogs / tutoriels


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *