Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

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’

 

 

 

 


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


Nicolas Lambert

Ingénieur de recherche CNRS en sciences de l'information géographique. Membre de l'UMS RIATE et du réseau MIGREUROP / CNRS research engineer in geographical information sciences. Member of UMS RIATE and the MIGREUROP network.

Vous aimerez aussi...

8 réponses

  1. Patience dit :

    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

    • Nicolas Lambert dit :

      Vous pouvez utiliser le package readxl.

      • raiknan dit :

        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.

  2. Bad dit :

    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

  3. Halawa13 dit :

    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

  4. 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 e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.