R pour les cartographes

R_cartography

Camarades cartographes. Si vous aimez les cartes thématiques. Si vous aimez gagner du temps dans votre travail. Si les variables visuelles n’ont pas de secret pour vous. Si vous êtes un peu geek sur les bords. Et si vous voulez défendre les logiciels libres. Alors R est est fait pour vous.

Initialement dédié à la statistique, le langage R possède aujourd’hui une série de fonctionnalités permettant de réaliser la plupart des représentations cartographiques usuelles en géographie. Regroupées dans le package « cartography », ces fonctionnalités offrent désormais une boite à outil cohérente et documentée dédiée à la cartographie thématique. Je publie donc ce billet pour vous inviter à faire évoluer vos habitudes de travail. Prenez une demi journée et laissez vous convaincre de l’intérêt de lier fortement vos traitements statistiques et vos traitements cartographiques dans un même environnement de travail…

Qu’est ce que R ?

R (https://www.r-project.org/) est un langage de programmation dédié à l’analyse statistique. Libre et gratuit, disponible sur toutes les plateformes (Mac OS, Windows, Linux), il s’est largement imposé ces dernières années dans le domaine des sciences humaines. R dispose par défaut d’instructions de base permettant de réaliser les opérations les plus courantes. De nouvelles fonctionnalités, regroupées en packages, peuvent être facilement ajoutées pour venir enrichir les possibilités du langage. Le point fort de R par rapport à des logiciels à interfaces graphiques, est qu’il permet très facilement l’automatisation et la reproductibilité des traitements.

Environnement de travail

Rstudio (https://www.rstudio.com/) est un environnement de travail permettant d’écrire du code R. Il ne s’agit pas d’un environnement clic bouton mais d’une véritable interface de développement (IDE) destiné à écrire du code. Il s’agit en fait d’une couche logiciel permettant d’écrire, d’exécuter et de visualiser les résultats d’un programme écrit dans le langage R. RStudio n’est pas indispensable pour utiliser R. Néanmoins,  il est très pratique et très bien fait.  [En savoir plus].

Le package cartography

Le package « cartography » permet de créer des cartes thématiques dans l’environnement de R. Il propose une multitude de représentations cartographiques : symboles proportionnels (cercles, carrés, barres), cartes choroplèthes, cartes qualitatives (typologies). Il propose aussi des modes de représentations souvent difficiles à mettre en oeuvre dans un logiciel de cartographie : cartes de flux, discontinuités, carroyages, cartes par points,… Le package propose également  quelques fonctionnalités utiles : palettes de couleurs (simples et doubles gradations dissymétriques), éléments d’habillage ( échelle , orientation , titre, sources, étiquettes… ), des légendes paramétrables, et enfin l’accès à des API cartographiques

2  4 5 6 7

Comment ca marche ?

L’installation du package s’effectue en tapant la ligne suivante :

install.packages("cartography")

Le chargement des packages utiles s’écrit facilement

# Chargement du package "rgdal"
 library("rgdal")
 # Chargement du package "cartography"
 library("cartography")

L’import des données s’effectue de la façon suivante. L’instruction readOGR (qui provient du package rgdal) permet de charger tout type de fond de carte. Il suffit d’indiquer le répertoire dans lequel se trouve le fond de carte et d’en indiquer le nom. L’import des fichiers de données s’effectue grâce à l’instruction read.csv.

# Import du fond de carte
monFondDeCarte <-readOGR(dsn ="/repertoire-de-travail",layer = "nom-de-la-couche")

# Import des données
mesDonnees <-read.csv( "/repertoire-de-travai/nom-de-mon-fichier.csv",header=TRUE,sep=";",dec=",",encoding="latin1",)

Ensuite, il suffit d’utiliser les instructions disponibles dans le package « cartography ». Pour comprendre les possibilités du package, chaque fonctionnalité est agrémentée d’un ou plusieurs exemples qu’il suffit d’exécuter. Il ne reste plus ensuite qu’à reproduire l’exemple sur vos propres données.

La réalisation d’une carte en cercles proportionnels s’écrira par exemple de la façon suivante :

# Affichage du fond de carte
plot(monFondDeCarte, col = "grey60",border = "grey20")
# Affichage des cercles proportionnels
propSymbolsLayer(spdf = monFondDeCarte, df = mesDonnees, var = "nom-de-la-variable")

Chaque fonction est paramétrable. Pour réaliser le même carte avec des carrés, il suffit de renseigner le paramètre « symbols » :

# Affichage du fond de carte
plot(monFondDeCarte, col = "grey60",border = "grey20")
# Affichage des cercles proportionnels
propSymbolsLayer(spdf = monFondDeCarte, df = mesDonnees, var = "nom-de-la-variable", symbols = "square")

D’autre exemples détaillés sont disponibles ici : [Voir la vignette du package]

Exporter vers un logiciel de DAO

Pour finaliser la carte, celle-ci peut être exportée dans un format vectoriel pour être retravaillée dans un logiciel de DAO (Dessin assisté par ordinateur). Ceci peut se faire directement via l’interface de RStudio.

Et maintenant, à vous de jouer 🙂

Voir aussi :

Cartographie avec R. Le package Cartography

Le package ‘cartography’

 

 

 

 


Vous aimerez peut être aussi...

3 Réponses

  1. Lecomte dit :

    Bonjour,

    Merci pour ce package. J’ai pu récemment en tester les très riches fonctionnalités. La cartographie automatique (entre autres) a de beaux jours devant elle grâce à vous 🙂

    Constance Lecomte

  1. 07/10/2015

    […] Nicolas a également publié un post sur le package ici. […]

Laisser un commentaire

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