[BILLET] Cartographie reproductible

Camarades cartographes, partant du constat que les géographes/cartographes ont beaucoup à apprendre des informaticiens en terme de méthode de travail, je vous parle aujourd’hui de cartographie reproductible. Ce terme – la cartographie reproductible – que je pose pour la première fois dans ce billet, est directement inspiré de ce qu’on appelle la recherche reproductible (voir). Réfléchissant depuis longtemps à un process de travail permettant d’organiser, d’archiver et de partager mon travail de conception cartographique, je vous propose ici un dispositif qui me semble efficace. Il repose sur deux piliers : R et github.

R c’est quoi ?

R est un langage de programmation open source dédié à l’analyse statistique. Outre les fonctionnalités statistiques présentes de base dans R, certains packages additionnels permettent d’effectuer en sus des opérations SIG (rgeos), d’analyse spatiale (SpatialPosition) ou de cartographie thématique (cartography). Avec R, une carte se conçoit donc comme un processus traçable permettant de couvrir toute la chaîne collecte-traitement-analyse-représentation, et cela dans un seul et unique environnement logiciel (A l’exception de l’étape de mise en scène cartographique). Dans R, une carte se conçoit donc en écrivant des lignes de code et non via des clics sur une interface graphique. Si ce procédé peut paraître rebutant, il peut aussi faire gagner beaucoup de temps une fois qu’un programme est bien écrit, puisqu’il est alors facilement modifiable et réutilisable (avec d’autres données, d’autres hypothèses, d’autres paramètres, etc.)

Github c’est quoi ?

Github est un service web d’hébergement et de gestion de développement de logiciels lancé en 2008, basé sur le système de gestion de versions git. S’il permet l’hébergement de projets payants, l’avantage de github est surtout de proposer des comptes gratuits pour les projets de logiciels libres. Github dispose de nombreuses fonctionnalités utiles : wiki, issue tracking system (suivi des problèmes), gestion de versions, etc. Un tel système vous permettra donc de stocker et partager vos productions cartographiques mais également les différents fichiers et programmes qui vous ont servi à les construire.

Éléments clefs pour une cartographie reproductible

Transparence
Faire une carte, c’est faire des choix. Une carte n’est donc jamais définitive, elle doit pouvoir être critiquée, déconstruite, combattue. Dans cette idée de transparence nécessaire pour que vive le débat d’idée ou la controverse scientifique (dont les cartes servent de support), la cartographie reproductible consiste à donner à de potentiels contradicteurs tous les éléments permettant de reconstruire la carte. Il s’agit de la carte au format vectoriel (facultatif), des données, des métadonnées, des fond de cartes et des programmes R. (Pour cela, les données et les logiciels utilisés devront donc être protégées par des licences permettant ce partage).

Versionnage
Plus qu’un simple espace de stockage et de partage, Github permet de garder facilement trace des versions successives d’un document grâce à un système de gestion de versions. Les différentes étapes de travail peuvent ainsi être stockées et documentées et il sera possible de revenir à tout moment à une version antérieure des différents fichiers. De la même façon, s’il y a lieu, des mises à jour pourront venir s’ajouter sans perdre la trace des états précédents du document.

Travail collaboratif
Le fait de construire des cartes via un langage informatique tel que R, combiné à l’hébergent du code sur une plateforme comme Github, permet de façon efficace de travailler à plusieurs et en même temps. Et ceci est d’autant plus utile dès lors qu’il s’agit de construire des cartes nécessitant des compétences complémentaires rarement présentes chez un seul individu (e.g. statistiques, géomatique, sémiologie graphique, …). Dans ce sens, la dimension interdisciplinaire du langage R est indéniablement un atout.

Diffusion
Plutôt que de laisser vos productions cartographiques dans un dossier sur votre ordinateur personnel,  l’hébergement sur github est un moyen simple de diffuser et partager vos travaux puisque Github en donne un accès public. Vous aurez donc intérêt à  définir une licence (libre) protégeant vos fichiers, c’est à dire définissant la façon dont votre production cartographique peut être utilisée, partagée ou modifiée. Si choisir une licence peut s’avérer compliquée, ce choix peut être guidé grâce à la page choosealicense.com.

Un exemple

Au final, l’utilisation de R et de Github nécessite un effort non négligeable pour ceux qui ne sont pas habitués à l’univers de la programmation informatique. Mais définitivement, l’investissement vaut le coup. Et si jamais vous voulez reproduire la carte ci-dessous , tout est là : données, programmes, fichier illustrator [lien]. A vous de jouer. A quand la prochaine mise à jour ?

Brexit2


Vous aimerez aussi...

7 réponses

  1. Nico dit :

    Merci pour cet article. Il manque juste l’élargissement de 1995 (Suède, Finlande, Autriche). Merci!

    • Nicolas Lambert dit :

      Merci pour votre vigilance. Un erreur s’était glissée dans le code R. L’erreur est réparée.

  2. Fred dit :

    Trouvé : https://www.fun-mooc.fr/courses/UPSUD/42001S06/session06/about. C’était non pas la cinquième session, mais la sixième.

  3. Fred dit :

    Ah, le lien vers le MOOC signalé par David ne fonctionne pas… Quel est-il ?

  4. Nicolas Lambert dit :

    Hélène ROTH, chercheuse au département de Géographie de l’université Blaise Pascal (Clermont-Ferrand) m’informe que le centre géométrique de l’Union européenne dessiné sur cette carte se rapproche considérablement du Mont Tillenberg, dans le nord-est de la Bavière, désigné centre de l’Europe en 1865. Voir les photos extraites de sa thèse : https://neocarto.hypotheses.org/files/2016/07/centre-europe.jpg

  5. David dit :

    Pour des sessions de formation libre sur la statistique avec R, ce MOOC : https://www.fun-mooc.fr/courses/UPSUD/42001S05/session05/about
    D’autres sessions à venir

Laisser un commentaire

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