Description technique et commentaires sur la réalisation du document interactif
«Évolution récente de la population de Russie
(1979-2002): cartographie interactive
».

La réalisation de ce document visait aussi à montrer les possibilités de cartographie interactive sur Internet en utilisant le format Scalable Vector Graphics (SVG). La cartographie interactive est envisagée ici non seulement dans son intérêt pour l'exposition d'analyses cartographiques, mais aussi pour la mise à disposition de moyens de cartographie automatique instantanée et d'exploration des données, accessibles et réutilisables.

Le format qui a été choisi pour cet exemple, le SVG, est le standard proposé par le World Wide Web Consortium pour les graphismes vectoriels interactifs sur Internet, donc a priori un bon choix pour la cartographie en ligne. Le standard est aujourd'hui très bien implémenté, les principaux navigateurs Internet proposent une compatibilité SVG, pour l'instant par le biais d'une augmentation logicielle («plugin») gratuite (cf. liste et adresses en annexe). En effet, un fichier SVG est lu par le navigateur qui va interpréter les commandes qui y sont contenues pour dessiner à l'écran les graphismes et gérer les éventuelles fonctions interactives proposées.

Il faut préciser que le document réalisé s'inspire, reprend et étend le document de démonstration réalisé par Andreas Neumann (Institute of Cartography, ETH Hoenggerberg, CH-8093 Zurich) sur Vienne.

Ce document présente un magnifique exemple de cartographie interactive au format SVG, dont on a repris une partie des scripts d'interactivité. Cet exemple fait partie des projets présentés sur le site www.carto.net, consacré à la cartographie en ligne, qui regorge de ressources utiles, notamment un article précisant les apports du format SVG comparativement aux autres formats de diffusion sur Internet.

Composition du document

Le document est contenu dans un fichier SVG de 114 kilo-octets, pour faciliter sa consultation en ligne (une vingtaine de secondes de chargement pour une connection modem 56k). Ce fichier est en fait un fichier SVG compressé (compression libre Gzip), qui «pèse» à l'origine 490 kilo-octets. Les fonctions d'interactivité ont été rassemblées dans un fichier ECMAscript distinct, pour faciliter leur examen. Le format SVG étant un format texte, il se compresse aisément, et le travail peut être réalisé simplement en utilisant un éditeur de texte avancé (supportant les alphabets Unicode pour le cyrillique), comme l'excellent Jext (www.jext.org, sous gpl).

Ce fichier SVG regroupe en fait les éléments suivants:

  • un document graphique au format XML-SVG composé par:
    • des fonds de carte
      • fond d'habillage (©RECLUS)
      • fond des régions russes (©RECLUS)
      • fond des Okrougs fédéraux (pour la carte simplifiée de navigation, ©RECLUS)
    • des éléments de mise en page (cadres de légende, interactivité)
  • un ensemble de scripts en langage ECMAscript (partie normalisée du JavaScript), qui fournissent:
    • le stockage des données statistiques
    • les fonctions d'interactivité de l'interface
    • les fonctions de traitement cartographique (discrétisation, calibrage des symboles)

Les fonds de carte, d'origine au format Adobe PostScript©, ont été transformés, adaptés et recalés avec un logiciel de dessin vectoriel (Illustrator©), puis ce même logiciel a réalisé la conversion vers le format SVG. Les logiciels d'édition directe en SVG sont encore assez peu répandus, citons néanmoins des projets OpenSource intéressants comme Sodipodi et InkScape (cf. références).

Les données statistiques, fournies au format OpenOffice, ont été intégrées directement en format texte dans des tableaux ECMAscript de la forme suivante:

var da1011 = ['Carélie', 'Республика Карелия', 8.17, -9.51, -2.12, 732.2, 792, 716.7, 59.8, -75.3, -15.5];

Le repérage des régions s'effectue comme dans un logiciel de SIG: en utilisant des codes géographiques. Ainsi, le fond de carte SVG est en effet codifié et les scripts de cartographie peuvent passer en revue les données contenues dans les tableaux, calculer des discrétisations ou des tailles de symboles, puis adapter la carte.

Cartographie automatique

La réalisation du document se voulait assez souple pour pouvoir s'adapter à des données de type différents (absolues et relatives), et à des fonds de carte dont la composition variait selon l'année ou la période observée. La très grande force du format SVG est ici de pouvoir intégrer directement un langage de programmation de type script, ce qui permet au document graphique de gérer de lui même les fonctions interactives. On gagne alors en place, en simplicité, mais surtout en facilité de développement. Dans ce document, les analyses sont donc réalisées en temps réel, en réponse aux sollicitations de l'utilisateur, à partir des données statistiques brutes.

Les données étant de type relatif et absolu, la cartographie devait donc reposer sur des analyses choroplèthes (en plages de couleurs) et symboliques. La réalisation des cartes choroplèthes suppose une analyse de la variable à représenter pour déterminer une discrétisation (un découpage en classes) adéquate. Le script d'origine d'Andreas Neumann se basait sur la technique des quantiles, il a fallu le remplacer par un nouvel algorithme, fondé sur des moyennes emboîtées, pour tenir compte de la grande dispersion des valeurs et mieux représenter les valeurs extrêmes. Cet algorithme s'adapte à des variables d'étendue différentes tout en favorisant la représentation des phénomènes d'aggrégation, il peut donc être utilisé sur une large palette de variables relatives.

La fonction de cartographie des populations et évolutions brutes, en symboles, a été créée grâce aux fonctions de parcours / redimensionnement des éléments du fond de carte offertes par le format SVG. Un script convertit les valeurs brutes en surfaces de symboles (affectées d'un éventuel coefficient de zoom), puis rend visible et redimensionne le fond de cercles proportionnels, reclassé dans l'ordre décroissant. Les cercles dessinés sont eux aussi sensibles au passage de la souris et déclenchent l'affichage des valeurs descriptives.

Éléments d'interactivité

Les fonctions d'exploration du document profitent là aussi des possibilités du SVG: le survol du document par le curseur de la souris est détecté et son positionnement est repéré pour aller interroger le tableau de données avec le géocode correspondant et afficher les données pertinentes sur l'interface.

Sur le même principe, les éléments de l'interface sont des graphismes vectoriels qui possèdent une réactivité, au survol ou au clic, gérée par des fonctions scriptées. Un des principaux atouts de ce système est que le document est réalisé pour une dimension considérée comme optimale, mais il s'adapte automatiquement à un espace différent, en s'adaptant à la taille de la fenêtre du navigateur. De même, le cadre principal du document bénéficie d'une fonction de zoom/exploration, basée sur un coefficient d'agrandissement et des coordonnées de décalage vertical et horizontal.

Le format SVG possède donc des atouts indéniables pour la cartographie interactive en ligne, non seulement de par ses caractéristiques graphiques et d'interactivité, mais en outre par son accessibilité (lisible directement et éditable en utilisant des logiciels gratuits).

Annexe: plugins et éditeurs SVG disponibles et gratuits

Plugins:

Éditeurs natifs:

En outre, de nombreux logiciels de dessin vectoriel savent exporter les graphismes au format SVG.

Une liste exhaustive et tenue à jour des implémentations du format SVG est disponible sur le site du W3C:
http://www.w3.org/Graphics/SVG/SVG-Implementations.htm8