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.
Vous pouvez cliquer sur les images pour les agrandir.

Symboles proportionnels (carrés, cercles, barres)

Pour construire cette carte nous avons utilisé la fonction propSymbolsLayer pour afficher des cercles proportionnels et la fonction tilesLayer pour afficher une tuile Stamen comme fond de carte (nous aurions pu afficher une tuile OpenStreetMap, esri ou autre…).

Cartes choroplèthes

Cette carte utilise la fonction choroLayer. Les couleurs utilisées sont choisis via la fonction carto.pal qui propose des palettes de couleurs paramétrables (pour changer un peu de RColorBrewer).

Stock et ratio

propchoro

La fonction propSymbolsChoroLayer permet d’afficher des cercles proportionnels colorés selon une autre variable discrétisée. Les principales méthodes de discrétisation sont disponibles (effectifs égaux, amplitudes égales, moyenne/écart-type, q6…).

Placement de labels

labels

La fonction labelLayer place des labels sur une carte, leur aspect et leur placement sont paramétrables.

Cartes de liens ou de flux

link

La fonction getLinkLayer crée une couche de lignes à partir d’une liste de liens. La fonction gradLinkLayer affiche ces liens avec des tailles graduées en fonction d’une variable.

Cartographie de discontinuités

disc

Cette cartographie combine représentation choroplèthe et représentation des discontinuités. Les fonctions getBorders et discLayer permettent de construire et de représenter ces discontinuités.

Carroyage

dens
La fonction getGridLayer transforme un maillage en carroyage, la fonction getGridData adapte un jeu de données à ce carroyage et la fonction choroLayer cartographie ces données dans le carroyage.

Mais aussi

Sur l’ensemble de ces cartes les légendes sont paramétrables (texte, taille, position…). L’habillage des cartes est géré avec la fonction layoutLayer qui permet de choisir un titre, d’afficher une flèche nord, une échelle, des sources, un auteur…

D’autres représentations n’ont pas été abordées ici : les cartes de typologies (données qualitatives), les cartes en densité de points, les « double-triangles »… Vous pourrez les découvrir en parcourant la documentation.

Un peu de technique

Nous avons essayé de réduire les dépendances du package au minimum. Ainsi, pour l’affichage des couches, seules les fonctionnalités graphiques de base de R (le package graphics) sont utilisées. Les seuls packages indispensables (outre ceux livrés avec la distribution de base) sont sp (pour gérer les objets spatiaux) et classInt (les discrétisations). Certaines fonctions font appel à d’autre packages (rgeos, rgdal, OpenStreetMap, raster) qui peuvent se révéler plus ou moins facile à installer selon les plate-formes.

Des questions? Des problèmes?

Ce package est développé par mon collègue Nicolas Lambert et moi-même. La version stable est sur le CRAN et la version de développement est hébergée sur GitHub. Vous pouvez nous faire remonter d’éventuels bugs (que nous espérons rares ;-)) ici.

Sur le site ElementR vous trouverez une autre présentation du package et le script de construction de la composition cartographique illustrant cet article.
Nicolas a également publié un post sur le package ici.
Laurent évoque la création de carte de flux ici.


4 réflexions au sujet de « Cartographie avec R : le package cartography »

Laisser un commentaire

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