R pour les cartographes
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…
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
OpenEdition vous propose de citer ce billet de la manière suivante :
Nicolas Lambert (7 octobre 2015). R pour les cartographes. Carnet (neo)cartographique. Consulté le 14 novembre 2024 à l’adresse https://doi.org/10.58079/rrfg
Merci pour cet article si précieux!!
Mais pourriez voous me dire comment puis-je importer les données géographiques dans excel afin de les exporter dans R?
Merci de l’avance!!
Cordialement
Vous pouvez utiliser le package readxl.
Bonjour monsieur, merci infiniment pour cet article. Cependant, j’aimerais savoir est ce possible d’export en jpeg ou png et augmenter la résolution de la carte.
Bonjour
Je n’arrive pas à installer ” cartography” alors que j’ai pris le soin d’installer au préalable “sp”; je travaille avec RStudio Version 0.99.902
Merci par avance
Bonjour,
Merci pour ce package. Je le trouve très intéressant, cependant j’ai une question, comment dois être mes données, un fichier csv peut marcher, sachant que moi j’ai un csv qui contient deux colonnes “région et pourcentage”. Votre aide me serait d’une grande utilité. Merci
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
Merci 🙂