Réalisation de cartogrammes avec ScapeToad

Magazine
Marque
Linux Pratique
Numéro
69
Mois de parution
janvier 2012
Spécialité(s)


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




Article rédigé par

Par le(s) même(s) auteur(s)

Processus de publication chez Debian et Ubuntu

Magazine
Marque
GNU/Linux Magazine
Numéro
118
Mois de parution
juillet 2009
Résumé
Debian a été créé en 1993. Depuis, de nombreuses distributions, à la durée de vie et au succès plus ou moins importants, en ont été dérivées. Ubuntu est l'une d'elles. C'est aujourd'hui une des distributions Linux les plus populaires et les plus médiatisées.Dire qu'une distribution est dérivée d'une autre signifie que le code source, les outils et le système de paquets de la distribution d'origine ont été réutilisés. La nouvelle distribution est libre de maintenir un lien avec la distribution d'origine ou de s'en éloigner définitivement. Ubuntu n'a jamais caché sa filiation et s'en est même servi pour asseoir sa crédibilité à ses débuts. Elle a d'ailleurs choisi de rester proche de Debian d'un point de vue technique. L'objectif de cet article est de montrer les différences entre les modes de publication de Debian et d'Ubuntu, puis de voir comment Ubuntu se base sur Debian.

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Les listes de lecture

8 article(s) - ajoutée le 01/07/2020
Découvrez notre sélection d'articles pour faire vos premiers pas avec les conteneurs, apprendre à les configurer et les utiliser au quotidien.
11 article(s) - ajoutée le 02/07/2020
Si vous recherchez quels sont les outils du DevOps et comment les utiliser, cette liste est faite pour vous.
8 article(s) - ajoutée le 02/07/2020
Il est essentiel d'effectuer des sauvegardes régulières de son travail pour éviter de perdre toutes ses données bêtement. De nombreux outils sont disponibles pour nous assister dans cette tâche.
Voir les 60 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous