Réalisation de cartogrammes avec ScapeToad

Magazine
Marque
Linux Pratique
Numéro
69
Mois de parution
janvier 2012
Domaines


Résumé
Qui n'a jamais vu une carte déformée en fonction d'une statistique pour mieux la mettre en évidence ? On pense typiquement aux cartes montrant la sous-nutrition ou le P.I.B par pays. Ces cartes volontairement déformées s'appellent des cartogrammes. Cet article montre comment il est possible d'en réaliser sous Linux. Pour cela, nous allons utiliser ScapeToad [ST], un logiciel libre, écrit en Java. Pour illustrer cette possibilité, nous allons représenter le pourcentage d'utilisateurs d'Internet par pays en 2010.

Body

1. Préparation

ScapeToad n'est pas fourni directement comme paquet par les distributions, mais il est simple de le faire fonctionner. Il faut que Java soit installé sur votre ordinateur, ce qui est probablement déjà le cas. Pour vérifier ce pré-requis, lancez votre gestionnaire de paquets préféré (Synaptic, Yum, Drakrpm, etc.). Selon la distribution, le nom du paquet pourra être légèrement différent, mais doit faire référence à Java JRE. Pour Ubuntu, cela équivaut à vérifier que le paquet openjdk-6-jre soit installé. Si ce n'est pas le cas, installez le paquet et ses dépendances selon la méthode préconisée par votre distribution.

Téléchargez ScapeToad [TLC] sur le site web dédié au logiciel. Plusieurs versions sont disponibles sur la page de téléchargement. Nous utiliserons la version portable (le fichier .tgz). C'est un format d'archive (comme les fichiers zip par exemple). Ouvrez l'archive avec le logiciel fourni par votre distribution (File Roller par exemple) et enregistrez le répertoire qui est à l'intérieur dans votre répertoire personnel. À l'intérieur du répertoire se trouve en particulier un fichier ScapeToad.jar qui est le logiciel proprement dit et un fichier ScapeToad.sh qui servira à exécuter le logiciel. Il faut rendre ScapeToad.sh exécutable (Fig. 1). Dans un environnement GNOME, il suffit de faire un clic droit sur le fichier, puis d'aller dans l'onglet Permissions et cocher « Autoriser l'exécution du fichier comme un programme ».

1_scapetoad_executable

ScapeToad est fourni uniquement avec une carte d'exemple sur la Suisse. Nous allons en télécharger une décrivant le monde entier sur le site thematicmapping.org [CART]. Elle existe en deux versions : une version simplifiée et une version plus détaillée. La version plus détaillée prendra plus de temps pour calculer la carte finale. Il s'agit d'un fichier .zip à décompresser de la même manière que ScapeToad (je vous conseille de les extraire dans un répertoire spécifique pour mieux vous repérer par la suite). Il est possible de créer ses propres cartes, mais c'est une tâche beaucoup plus complexe et qui sort largement de cet article.

Nous avons maintenant tous les éléments pour pouvoir créer notre carte. Pour cela, nous allons d'abord insérer les statistiques de la carte, puis utiliser vraiment ScapeToad pour produire la carte.

2. Insérer les statistiques dans le fichier DBF

Dans le répertoire contenant la carte se trouve un fichier DBF. C'est ce fichier qui contient les statistiques permettant de déformer la carte.

Bien que les géographes parlent de « shapefile » pour une carte, la carte utilise plusieurs fichiers. Le format shapefile a été créé par l'entreprise Esri et a pour nom d'extension SHP. Cependant, d'autres fichiers permettent d'ajouter des données supplémentaires, non prises en compte par le format SHP. C'est pourquoi il y a d'autres fichiers à l'intérieur du répertoire de la carte. On y trouve en particulier un fichier SHX, qui optimise les accès aux coordonnées géographiques, ainsi que le fichier DBF qui est un vieux format de la base de données dBase. Ces trois fichiers (SHP, SHX, DBF) sont obligatoires pour une carte shapefile.

Calc de LibreOffice (ou anciennement OpenOffice.org) peut modifier les fichiers DBF. Un simple double-clic et l'utilisation de l'encodage par défaut suffisent. Les trois premières colonnes sont des codes identifiant chaque pays. Le nom du pays est en quatrième colonne (et en anglais). Nous allons remplacer les données de la cinquième colonne par les nôtres (Fig. 2). La première étant le titre de la colonne, nous allons aussi le remplacer par NETPRCENT dans le but d'être cohérent.

2_calc_remplissage_colonne_f

Les statistiques [STAT] proviennent du site de l'ONU, qui fournit un export CSV, ODT et XLS. Chacun de ces formats peut aussi être ouvert avec OpenOffice.org. Il faut ensuite recopier les statistiques de l'ONU dans le fichier DBF. Cette tâche est plus ou moins laborieuse selon votre maîtrise d'un tableur... La liste des pays n'étant pas exactement la même, ni dans le même ordre, il est nécessaire de faire attention dans les correspondances entre les statistiques et les pays. Il suffit ensuite d'enregistrer la nouvelle version du fichier en gardant le format DBF. LibreOffice ne nous servira plus pour la suite.

3. Produire l'anamorphose

Lancer ScapeToad en double-cliquant dessus. Si nécessaire, confirmer le choix « Lancer ». La fenêtre du logiciel s'affiche. Commençons par ajouter la carte : cliquez sur Add layer et naviguez dans le sélecteur de fichiers pour sélectionner la carte et confirmez en cliquant sur le bouton OK tout en bas à gauche. La carte s'affiche automatiquement.

Ajoutons maintenant les données. Cliquez sur Create cartogram puis suivant. L'étape suivante a déjà sélectionnée notre carte, nous pouvons donc de nouveau confirmer et arriver sur la troisième étape de la création (Fig. 3). Il faut choisir le champ de données qui va permettre la transformation de la carte. Il faut donc choisir le titre de la colonne dans le fichier DBF (NETPRCENT dans notre cas).

Il est nécessaire de choisir le type des données : soit « mass » pour les valeurs absolues, ou « density » pour les valeurs relatives à la surface (utile pour les données comme le nombre d'habitants au km2). Ici, il faut choisir « mass » et confirmer.

Nous ne nous servirons pas des possibilités de la quatrième étape, donc nous confirmons directement pour arriver à la cinquième et dernière étape de paramétrage (Fig. 4). Cette étape permet de choisir le niveau de précision du rendu final. Plus la qualité sera faible et plus le rendu pourra être faussé (non proportionnel), mais sera plus rapidement calculé. Réciproquement, une plus grande qualité impliquera une quantité de calcul plus grande à réaliser et donc plus de temps d'attente avant d'avoir l'image. Selon la précision et la puissance de l'ordinateur, cela peut prendre plusieurs heures. Les options avancées permettent de définir plus précisément certains paramètres de calculs. En cliquant sur Compute, l'étape 6 s'affiche et le traitement commence.

4_etape_3

5_etape_5

Une fois le calcul de rendu lancé, n'appuyez pas sur « annuler » ou n'arrêtez pas ScapeToad, les calculs seraient repris depuis le début !

6_calcul_termine

Lorsque le calcul est terminé, la fenêtre qui montrait les étapes affiche le résumé de l'opération (Fig. 5). Fermez-la. La fenêtre principale montre le rendu (Fig. 6). En cochant (ou non) les options dans la partie gauche de la fenêtre, vous pouvez visualiser les différences avec la carte d'origine ou voir la déformation obtenue sur une grille. En cliquant sur l'icône Export to SVG, enregistrez le résultat.

7_affichage_rendu

À titre personnel, j'ai essayé de modifier la carte avec Inkscape (un logiciel de dessin vectoriel, donc adapté au format SVG), mais il a planté plusieurs fois. Je ne sais pas quelle est la véritable raison (un problème dû à la carte ? Un fichier trop gros pour ma machine ?). C'est pourquoi je suis passé à GIMP (qui permet aussi d'ouvrir des images SVG). Malheureusement, le résultat est un peu moins beau pour faire du remplissage, car les frontières des pays pixelisent un peu. :-( (Fig. 7)

8_gimp

Nous nous contenterons ici d'ajouter un calque sous la carte et de le colorer en bleu pour représenter les océans. Pour faire joli, il y a juste un effet de « Brouillage uni », filtré pour être bleu (Fig. 8), mais ce n'est vraiment pas nécessaire...

9_carte_prcent_inet

4. Limites de ScapeToad

ScapeToad nous a bien permis d'obtenir le cartogramme voulu. Est-il pour autant parfait ? Non, voici quelques limites :

-La documentation sur le site précise que le logiciel n'est pas adapté pour réaliser des cartes de distances (typiquement les cartogrammes mettant en évidence le temps mis pour rejoindre certaines villes à partir d'une autre).

-Le logiciel est facile à prendre en main, mais il n'est pas possible d'automatiser la génération des cartes en utilisant un script. De même, il n'est pas conçu pour que l'on puisse y ajouter des greffons.

-Il n'est pas possible de définir les couleurs pour chaque pays ou d'exporter celles produites par ScapeToad (taille de l'erreur pour chaque pays). On aurait pu imaginer ajouter les couleurs souhaitées dans le fichier DBF et que l'image finale les prenne en compte par exemple. C'est l'absence d'une telle fonctionnalité qui m'a poussé à utiliser GIMP sur le cartogramme.

Références

[ST] ScapeToad : http://scapetoad.choros.ch/ (site en anglais) ; la dernière version du logiciel est la 1.1, publiée en mai 2008. Il n'existe pas de paquets spécifiques, que ce soit pour Debian, Ubuntu ou Mandriva. Des versions Mac et Windows sont aussi disponibles.

[TLC] Page de téléchargement de ScapeToad : http://scapetoad.choros.ch/download.php

[CART] Page de téléchargement de la carte du monde : http://thematicmapping.org/downloads/world_borders.php

[STAT] Statistiques d'accès à Internet compilées par les Nations Unies : http://data.un.org/Data.aspx?d=ITU&f=ind1Code%3aI99H




Articles qui pourraient vous intéresser...

Vectorisez et personnalisez vos icônes

Magazine
Marque
Linux Pratique
Numéro
118
Mois de parution
mars 2020
Domaines
Résumé

Vous souhaitez égayer votre site web avec des icônes, mais vous n’en trouvez aucune qui correspond parfaitement à vos attentes ? Modifiez et embellissez des icônes existantes pour créer les vôtres à l’aide d’Inkscape !

Développez vos photos numériques avec darktable

Magazine
Marque
Linux Pratique
Numéro
117
Mois de parution
janvier 2020
Domaines
Résumé

Après une séance photo, il faut travailler et développer un nombre important d’images avec des outils dédiés à la photo. Dans ce domaine, un outil comme GIMP est inadapté. Je vous propose de voir comment darktable peut résoudre tous vos besoins pour gérer un vrai workflow dans le développement des photos numériques.

Pick - Gardez une trace des couleurs que vous appréciez

Magazine
Marque
Linux Pratique
Numéro
116
Mois de parution
novembre 2019
Domaines
Résumé

Pick est un petit utilitaire très pratique qui se présente sous la forme d’une pipette à couleurs « intelligente ». Si vous êtes passionné de graphisme, développeur ou que vous aimez simplement vous lancer dans des créations artistiques de temps à autre, Pick vous sera particulièrement pratique pour garder une trace des couleurs que vous repérez aussi bien lors de vos explorations sur la Toile que sur les images que vous consultez ou les interfaces des programmes que vous utilisez.

Créez des matériaux pour vos objets 3D avec Substance Painter !

Magazine
Marque
Linux Pratique
HS n°
Numéro
46
Mois de parution
octobre 2019
Domaines
Résumé
Développé par une société française basée à Clermont-Ferrand, Substance Painter s’est imposé au fil des ans dans différents milieux, grâce à sa puissance et à sa simplicité d’utilisation. De sociétés d’effets spéciaux telles qu’ILM aux entreprises du monde du jeu vidéo comme Ubisoft, en passant par Dassault Systèmes, Louis Vuitton ou General Motors, nombreuses sont les entreprises l’ayant adopté, ainsi que la totalité de la suite de logiciels dont il fait partie.