Cartographie de flux avec le package cartography

Depuis hier, le package cartography développé par nos collègues Timothée Giraud (http://rgeomatic.hypotheses.org/) et Nicolas Lambert (http://neocarto.hypotheses.org), tous deux ingénieurs à l’UMS RIATE, est en ligne sur le CRAN. Il permet de faire beaucoup de cartes différentes dont des cartes de flux. Le script et les données utilisés dans ce billet sont téléchargeables ici (j’arrête provisoirement github, j’y fais un peu n’importe quoi…) – le script est encodé en utf-8 (pour règler l’encodage dans RStudio : Tools > Global Options > Default text encoding).

La documentation sur les fonctions est lisible et homogène et les exemples fonctionnent mais, bien entendu, ce qui est intéressant est de pouvoir importer et cartographier ses propres données. Deux fichiers sont attendus en entrée : une liste de liens (origine, destination, intensité de la relation) et un fond de carte au format .shp. Les deux donneront dans R un data.frame et un  SpatialPolygonsDataFrame (noté SPDF dans la suite du  billet). Il est bien entendu nécessaire que le code des unités spatiales soit le même dans les deux fichiers…

La première étape consiste à attribuer des coordonnées à la liste de liens à l’aide de la fonction getLinkLayer. La fonction prend comme argument : le nom du SPDF et les colonnes origine-destination du data.frame. Si l’identifiant commun n’est pas la première colonne du SPDF, il est nécessaire de préciser la colonne adéquate avec l’argument spdfid = « Nom_de_la_colonne ». Dans l’exemple téléchargeable, l’argument est utilisé.

La fonction plot(SPDF) permet ensuite de visualiser le fond de carte.

Deux fonctions permettent de cartographier les flux : propLinkLayer (épaisseur proportionnelle à l’intensité) et gradLinkLayer (flux discrétisés). Le script téléchargeable devrait vous permettre de comprendre la logique d’utilisation et les principales options. Dans les deux cas, l’orientation des flux n’apparaît malheureusement pas.

Signalons enfin la fonction legendPropLines qui permet de personnaliser la légende de la carte réalisée (fonction non encore testée à ce jour).

La réalisation de cartes est plutôt aisée mais, comme toujours pour la cartographie des flux, cela ne garantit pas nécessairement un résultat d’une grande lisibilité…

 

 

Stamen, l’imagination visuelle au pouvoir

Stamen est une compagnie de design basée à San Francisco et spécialisée dans la cartographie et la visualisation des données. Les projets présentés sur le blog forcent le respect par leur splendeur visuelle.

Plutôt que de discourir, quelques exemples commentés en image.

La visualisation de la diffusion n’a jamais été une partie de plaisir, et l’accélération des vitesses de propagation sur le web n’arrange rien. La vidéo ci-dessous illustre le partage d’un photographie (« AbFab London 2012 ») sur un réseau social très fréquenté. Chaque lien symbolise une personne et chaque création de lien signale le partage de la photographie, les liens les plus anciens blanchissant au fur et à mesure. La couleur des liens diffère selon le genre et la vidéo montre le partage d’une image entre juin et septembre. Surtout, passez en plein écran !

 Et s’il y a peu de graphes stricto sensu, les cartographies proposées valent le détour. C’est ainsi le cas de deux templates cartographiques qu’il est possible d’utiliser librement sur les fonds de carte Open Street Map. Les deux images ci-dessous concernent Hambourg, lieu de la prochaine Sunbelt (où les sessions thématiques se multiplient de jour en jour, voir http://hamburg-sunbelt2013.org/sessions/).

template watercolor de stamen

 

template toner de stamen

Toujours Hambourg avec des cartographies visant à représenter la ville la nuit. Les codes permettant de créer ces cartes sont librement téléchargeables.

hambourg la nuit selon stamen

Merci à Robin Cura d’avoir attiré mon attention sur ce superbe site.

Wind Map, flux éoliens en temps réel

 Les cartes de flux en temps réel sont de plus en plus fréquentes, qu’il s’agisse de transport (bus, train, avion ou bateau) ou, comme c’est le cas ici, de phénomènes météorologiques. La carte des vents en temps réel visible à l’adresse http://hint.fm/wind/ est une petite perle cartographique en noir et blanc… et une belle incitation à la rêverie.

 

Il est possible de zoomer sur la carte pour obtenir des données plus précises (vitesse et localisation) et la Gallery permet de parcourir quelques événements récents dont bien entendu l’ouragan Sandy.

zoom sur le site windmap

Ne manquant pas d’humour, les auteurs rappellent qu’il s’agit d’un projet artistique et qu’il est déconseillé d’utiliser cette carte pour piloter avion ou bateau, ou pour combattre les incendies (The wind map is a personal art project, not associated with any company. We’ve done our best to make this as accurate as possible, but can’t make any guarantees about the correctness of the data or our software. Please do not use the map or its data to fly a plane, sail a boat, or fight wildfires :-).

Le projet hint.fm est l’oeuvre de Fernanda Viégas et Martin Wattenberg, deux créateurs animant un groupe de recherche sur la visualisation pour Google, et leur blog devrait intéresser toutes les personnes curieuses d’innovations en matière de visualisation. Et si Wind Map est décrit comme projet artistique, les références académiques des deux auteurs sont au dessus de tout soupçon : doctorat au Media Lab du MIT pour l’une, doctorat de mathématiques à Berkeley pour l’autre.

Cartographier flux et relations avec Paj2KML

Le logiciel Paj2KML est un petit utilitaire Windows bien utile pour qui souhaite combiner graphe et représentation cartographique.

Le fichier .exe doit être placé dans le même dossier que :

  • un graphe Pajek au format .net

Lancer le logiciel produit alors un fichier .kml qu’il est possible de superposer à une vue Google Earth ou Google maps. Le plus pratique reste cependant d’ouvrir le fichier .kml et de copier/coller le contenu ici : http://display-kml.appspot.com/. La carte apparaît quelques secondes plus tard. Il n’est pas possible de l’exporter en format image ou vectoriel, seule la capture d’écran est possible.

L’exemple ci-dessous utilise l’un des jeux de données sur les relations entre les villes mondiales du GaWC (http://www.lboro.ac.uk/gawc/datasets/da7.html).  Il s’agit d’un indice variant entre 0 et 1 et mesurant l’intensité des échanges de services entre villes. Le graphe de départ est complet, différents seuils ont été testés afin de produire une visualisation lisible.  Seuls les liens supérieurs à 0.4 ont été gardés.

Les deux images ci-dessous montrent le graphe généré par Pajek (algorithme de Kamada-Kawai > Free) et la carte correspondante générée par display-klm.

Visualisation produite par Pajek

Résultat obtenu avec Paj2KLM

La principale limite est évidemment la projection Mercator qui se prête particulièrement mal à la représentation de flux mondiaux. De plus, si la vue globale peut faire illusion, zoomer sur la carte (voir ci-dessous) montre que la précision de l’outil est très relative…

Visulisation produite par Paj2KLM - détail

Le fichier groupefmr_Paj2KML.zip téléchargeable ci-dessous contient trois fichiers : le jeu de données du GaWC original au format .net, le même fichier mais uniquement avec les liens supérieurs à 0.4 et enfin le fichier .txt avec les coordonnées de 55 villes concernées. Les liens internet et le descriptif des fichiers  se trouvent dans LISEZ_MOI.txt.

Dossier .zip téléchargeable ici.

Merci à Marion Maisonobe d’avoir attiré mon attention sur cet utilitaire il y a de nombreux mois déjà.

Plus d’informations et d’exemples sur la page http://www.leydesdorff.net/gmaps/.