C’est un créant manuellement la carte de répartition des récoltes de l’herbier de Daniel Pellé que m’est venue l’idée de ce script…
J’adore la rétro-ingénierie : à partir d’un service proposé par un site en particulier, en l’occurrence, le site « uMap » d’OpenStreetMap, qui permet de créer des cartes géographiques personnalisées et de les sauvegarder sous la forme de fichiers textes (merci les systèmes ouverts), il s’agit de reconstruire un programme informatique qui génère le même type de fichier… mais automatiquement cette fois !

avec ce script de conversion (source).
Étape 1 : créer une première carte à la main
C’est à l’occasion de la publication d’un article sur l’herbier d’un botaniste amateur aubois (Daniel Pellé, voir l’article ici : http://adansonia.com/45/13) que j’ai eu besoin de créer une carte de répartition des lieux de récoltes. Une précédente expérience avec Google Maps l’ayant éliminé de l’équation (Google Maps est maintenant payant), c’est vers OpenStreetMap et le site uMap que je m’étais alors tourné.
La première carte que j’ai mise en ligne a donc été créée manuellement, à partir des données de l’herbier ; elle représente les lieux de récolte, et affiche pour chacun le nombre de spécimens récoltés :

qui a servi de modèle dans l’écriture du script InDesign de génération de carte
Pour créer cette carte, les points n’ont pas été positionnés un par un : les fonctions d’import proposées par le site ont permis de placer et de répartir automatiquement les lieux, préalablement triés et catégorisés par nombre de spécimens récoltés (1, 2 à 5 spécimens, 6 à 10, 11 à 19 et 20 à 80), sur cinq calques (couches) différents :

À chaque calque correspondait un fichier CSV (Excel) unique, contenant les métadonnées relatives à chaque point (latitude et longitude, nom du lieu, nombre de spécimens récoltés). Une fois les cinq fichiers importés, on obtenait alors la carte ci-dessus.
Étape 2 : #balance ton export
Les fonctionnalités d’export du site uMap permettent d’obtenir facilement une version « texte » d’une carte ; le fichier téléchargé (au format .umap) contient alors toutes les données de la carte, dans un format lisible par un humain :

D’un autre côté, les articles sur lesquels je travaille contiennent des données de biodiversité (des plantes récoltes ici ou là avec leurs métadonnées : nom de l’espèce, du lieu, coordonnées, date, altitude, etc.), présentées de la manière suivante :
Dans l’image ci-dessus, le paragraphe « Specimen examined » contient toutes les informations sur une espèce de plante en particulier (un taxon), dont le nom est indiqué en titre. Les données y sont organisées, triées et rangées selon un ordre et une nomenclature bien précis (historiquement, pour utiliser moins de papier tout en permettant une lecture facile), par exemple :
• W Iran, Bakhtiari Prov., Tshoghakhor, NE of Mt. Kallar; 31°51’44.9”N, 50°54’27.0”E; alt. 2858 m; 30.IX.2017; Mirtadzadini 3025 (MIR) •
Notez les deux puces « • », qui encadrent les données d’une même récolte ; au sein de cette plage, des point-virgules « ; » séparent les données les unes des autres.
À ce stade, vous aurez noté le parallèle entre ces deux types de représentation des données : un format textuel d’un côté, dédié à la lecture humaine (dans l’article), et un autre format textuel, destiné à être lu par un ordinateur (le format « .umap »).
Il ne reste plus qu’à passer d’un format à l’autre, pour pouvoir afficher le matériel décrit textuellement ci-dessus sous la forme d’une carte de répartition :

Satureja bachtiarica Bunge apparaissent en bleu (source).
Étape 3 : écrire le script
Ce programme informatique doit pouvoir accomplir deux choses :
– d’un côté, il doit être capable de « lire » le texte de l’article, plus particulièrement les paragraphes de matériel examiné, et d’en extraire les données utiles tout en les séparant et en les caractérisant ;
– d’un autre côté, il doit être capable de réorganiser et d’écrire ces données dans un format de fichier compatible avec le site uMap.
Lire…
Pour lire les données de l’article, les fonctionnalités de recherche et de traitement des données offertes par le logiciel Adobe InDesign sont uniques : grâce au javascript et aux requêtes GREP, il est possible de détecter et de récolter les données contenues dans un texte de manière très fine. Par exemple, les dates se présentent sous la forme « 26.II.1941″ pour un spécimen récolté le 26 février 1941. Il est donc facile d' »attraper » ces données pour les reverser dans une carte :

…écrire…
En répétant la même opération pour toutes les récoltes décrites dans la publication, et en repérant au préalable le nom du taxon correspondant, le script extrait et organise les données de l’article pour les rendre compatibles avec le système d’import proposé par le site de cartographie d’OpenStreetMap :

Il suffit ensuite de faire écrire au programme un fichier correspondant au format ingéré par le système d’import du site umap et le tour est joué !
… et enrichir les données de l’article
Une étape supplémentaire dans l’exécution du script consiste à enrichir les métadonnées récoltées dans l’article. Les numéros de collection, qui se présentent sous la forme de codes-barres (par exemple, P01964441), mènent ainsi, d’un simple clic, vers la page correspondante sur le site des collections du Muséum national d’Histoire naturelle : http://coldb.mnhn.fr/catalognumber/mnhn/p/p01964441

D’autres indications, comme le statut du taxon (est-ce un spécimen « type » ?) peuvent être matérialisées en utilisant des couleurs ou des icônes différentes (comme l’icône avec un petit « T » dans l’exemple ci-dessus).
On obtient alors une carte contenant toutes les métadonnées relatives aux récoltes de l’article, les taxons répartis sur des calques de différentes couleurs, avec des icônes de forme et de couleur significatives, et des liens vers les collections en ligne quand c’est possible.
Exemples de cartes générées
Voici quelques cartes générées en utilisant ce script ; les données sont tirées des articles des revuesAdansonia, Cryptogamie, Geodiversitas et Zoosystema :
- Adansonia 47 (2)
- Zoosystema 46 (5)
- Geodiversitas 45 (14)
- Adansonia 45 (20)
- Adansonia 46 (11)
- Adansonia 46 (7)
- Adansonia 46 (3)
- Adansonia 45 (25)
- Adansonia 45 (7)
- Adansonia 45 (1)
- Cryptogamie, Bryologie 43 (15)
- Adansonia 42 (16)
- etc. (toutes les cartes dont disponibles ici)
Téléchargements
Fonctionnalités du script InDesign
- lecture de l’article selon la sélection de l’utilisateur ;
- répartition des taxons sur différents calques ;
- numéros de spécimens cliquables (lien vers les collections en ligne) ;
- différentes icônes en fonction du statut du taxon :
- icônes avec un « T » pour les spécimens types ;
- icônes avec un « S » pour les synonymes ;
- icônes carrées pour les espèces nouvelles (sp. nov.) ;
- icônes rondes pour les autres taxons.
- métadonnées de l’article regroupées dans le descriptif de la carte :

- regroupement des enregistrements dans des « clusters » (permet de gérer de nombreux spécimens récoltés dans des lieux très proches) :
Fichiers
Script exportCsvMap, version 2.00