Archives par mot-clé : cartography

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

Pourquoi et comment inscrire la production de cartes statistiques dans un processus de recherche reproductible

Le 9 juin, Nicolas Lambert et moi participions à la journée « Cartostats – La cartographie statistique : Quelles méthodologies dans un contexte d’accélération et de diversification des pratiques ? » avec la présentation suivante :

Pourquoi et comment inscrire la production de cartes statistiques dans un processus de recherche reproductible.

La manière la plus répandue pour construire des cartes statistiques mobilise un ensemble de logiciels variés (tableur, logiciel de statistique, SIG, édition vectoriel…) utilisant une série de formats de données et de fichiers différents. Cette grande diversité d’outils rend difficile la reproduction, la mise à jour et la pérennité des analyses et des cartes produites.
L’utilisation du logiciel R et de son langage nous permet de couvrir l’ensemble de la chaîne de traitement allant de l’analyse à la représentation de l’information géographique. Particulièrement adapté aux traitements statistiques, R dispose également de fonctionnalités spatiales permettant de manipuler et de représenter les données.
Le package cartography, développé à l’UMS RIATE, permet de réaliser la plupart des cartes statistiques usuelles et de les insérer dans des analyses traçables et complexes.

De superbes cartes thématiques…

Dans un très complet billet de blog, Timo Grossenbacher décrit la création d’une carte thématique avec ggplot2.

Beautiful thematic maps with ggplot2 (only)


Il y détaille les étapes nécessaires à la création de cette carte en évoquant par exemple des questions de reproductibilité, l’import et la sélection des données, le choix d’une discrétisation, le choix d’une gamme de couleur, l’utilisation de données raster (pour le relief), les questions d’habillage et de design.

Dans les commentaires quelqu’un propose une version de cette même carte construite avec lattice (beautiful-thematic-maps: alternative code without using ggplot2) et une version interactive a aussi été développée (Thematic Interactive Map).

Voici donc ma contribution sans ggplot2, ni lattice, ni interactivité :-).
Continuer la lecture de De superbes cartes thématiques…

mapinsetr, faire un carton avec R

Dans un billet précédent, je proposais une solution pour créer des cartons cartographique en jouant avec les paramètres graphiques des figures.
Dans celui-ci j’introduis le package mapinsetr qui permet de créer « en dur » des fond de carte comprenant des cartons.
J’utilise les jeux de données, la problématique et une partie du code proposés par Arthur Charpentier dans son post « Cartographier le vote pour le Brexit« .

Le script complet (import et préparation des données, visualisations) est disponible ici. Continuer la lecture de mapinsetr, faire un carton avec R

Le package cartography a 1 an!

cartography a été déposé sur le CRAN le 5 octobre 2015.
Depuis cette date nous avons poursuivi le développement du package et, outre quelques corrections de bugs mineurs et diverses optimisations, nous y avons ajouté un certain nombre de fonctionnalités.

Le développement du package se passe toujours sur GitHub (https://github.com/Groupe-ElementR/cartography). Nous utilisons Travis CI et AppVeyor comme solutions d’intégration continue.
Vous pouvez nous faire des suggestions, signaler des bugs ou poser des questions ici.

Le package a été présenté dans différentes conférences, par exemple lors du FOSS4G (présentation) ou des Cinquièmes Rencontres R (présentation).

Nous avons également publié le package dans The Journal of Open Source Software.
Continuer la lecture de Le package cartography a 1 an!

FOSS4G, RUSS et Cinquièmes Rencontres R

Voici les liens vers trois présentations que j’ai données récemment autour de la cartographie avec R.

Panama Papers : d’où viennent les reporters

A la lecture des premiers articles portant sur les Panama Papers je me suis demandé d’où venaient les centaines de journalistes ayant travaillé sur le dossier.

Les différents articles évoquent plus de 100 médias dans plus de 70 pays.

En me basant sur la liste de journalistes diffusée sur le site de l’ICIJ (The International Consortium of Investigative Journalists) j’ai pu produire la carte suivante : Continuer la lecture de Panama Papers : d’où viennent les reporters

Comment faire un carton avec R?

Comme le dit Wikipédia :
« En cartographie, un carton est une petite carte complémentaire d’une carte principale, insérée dans la même page. »

Dans ce post je propose une solution pour créer des cartons cartographique en utilisant le package cartography. J’en profite pour introduire la fonction getFigDim qui aide à choisir les dimensions d’une figure lors de son export. Continuer la lecture de Comment faire un carton avec R?

Create and integrate maps in your R workflow with the cartography package

The cartography package allows various cartographic representations such as proportional symbols, chroropleth, typology, flows or discontinuities. In addition it also proposes some useful features like cartographic palettes, layout (scale, north arrow, title…), labels, legends or access to cartographic API to ease the graphic presentation of maps. Continuer la lecture de Create and integrate maps in your R workflow with the cartography package

Mise à jour du package osrm (version 2.0.0)

Le package osrm assure le lien entre R et l’API d’OSRM. OSRM est un service de routage basé sur les données OpenStreetMap.
Ce package permet d’obtenir le temps de trajet, la distance et le plus court chemin entre deux points via le réseau routier d’OpenStreetMap. Il est également possible d’obtenir des matrices de distances entre deux séries de points.

Pour suivre l’évolution de l’API qu’il interface, j’ai mis à jour le package osrm.
Vue l’ampleur des modifications sur l’API, la compatibilité descendante n’est pas assurée, les codes anciens ne fonctionneront plus. Continuer la lecture de Mise à jour du package osrm (version 2.0.0)

Temps de trajet et matrices de distances avec R et OpenStreetMap

Le package osrm assure le lien entre R et l’API d’OSRM. OSRM est un service de routage basé sur les données OpenStreetMap.
Ce package permet d’obtenir le temps de trajet, la distance et le plus court chemin entre deux points via le réseau routier d’OpenStreetMap. Il est également possible d’obtenir des matrices de distances entre deux séries de points. Continuer la lecture de Temps de trajet et matrices de distances avec R et OpenStreetMap

Cartographie avec R : le package cartography

Le package cartography est sur le CRAN.
Ce package permet la création de la plupart des types de cartes statistiques ou thématiques avec R.

Dans ce post je propose une série de cartes réalisées avec ce package.
J’ai indiqué sous chacune d’entre elles les principales fonctions utilisées.
L’intégralité des scripts mis en place pour créer les cartes sont disponibles dans la vignette du package.
Les fonds de cartes et les données sur les régions européennes mobilisées ici sont fournis avec le package. Continuer la lecture de Cartographie avec R : le package cartography