Un week-end marathon pour pour un mapathon

 

La représentation spatiale des flux n’est pas une tâche triviale et rend parfois difficile la compréhension ou la lecture d’une carte. Contrairement aux cartes en aplat de couleurs (motifs, agrégation de flux, nébuleuse) , le web mapping s’impose comme la référence et bouleverse les modes de représentations. Contrairement aux cartes statiques,Il offre d’énormes possibilités à l’utilisateur : un espace convivial et ludique pour interagir avec les différentes composantes de la carte.

Les applications comme Kepler, Mapbox, Arabesque rendent possible cette représentation. Mais au delà d’un certain nombre de flux, les cartes deviennent illisibles. Pour s’affranchir de ces inconvénients, le mapahton, concours de (géo)datavisualisation de données , était un terrain idéal pour se lancer dans une nouvelle expérimentation. J’ai voulu explorer ici une nouvelle façon de visualiser les flux.

Comment cartographier le transport aérien en France métropolitaine de 1999 à 2020?  Comme nous l’avons vu, aucune réponse n’est ni simple ni synonyme de consensus . Pour cela nous disposons de deux données :

  • Trafic de passagers et de marchandises des liaisons entre villes aéroportuaires (plus de 5000 passagers / an) ; 
  • Données eurostats 2010-2020 sur les fréquentations (nombre de passagers, de marchandises (fret+courrier) et de mouvements d’avion) par ville et par mois.

Pour répondre à c’est deux objectifs, mon choix s’est tourné naturellement vers une application cartographique. Le meilleur moyen pour une représentation spatio-temporelle. On y accède par une page synthétique qui résume le trafic de passagers et de marchandises des liaisons entre villes aéroportuaires. Cela permet à l’utilisateur d’avoir un aperçu rapide des évolutions spatio-temporelles des flux. Pour une meilleure expérience de l’ utilisateur, j’ai fait le choix de ne présenter que les flux au survol des aéroports pour ne pas sur charger la carte. Cela facilite la visualisation des indicateurs dans le temps et l’espace (répartition des passagers par aéroport, nombre de passagers, de marchandises et de mouvements d’avion, classements, …)

Puis, en cliquant sur un aéroport, l’utilisateur peut accéder aux données de fréquentations (nombre de passagers et de marchandises ). J’ai utilisé ici le fichier statistique des nœuds pour générer une fiche synthétique pour chaque aéroport. Dans cette partie j’ai également proposé des statistiques détaillées pour chaque aéroport ( nombre de vols, passagers, trafic, répartition et évolution des fréquentations).

Du point de vue méthodologique, j’ai choisi de travailler uniquement avec des outils open sources .

Coté applicatif, j’utilise Laravel , un framework web open-source écrit en PHP respectant le principe modèle-vue-contrôleur et entièrement développé en programmation orientée objet. Laravel est distribué sous licence MIT, avec ses sources hébergées sur GitHub. Le projet est d’ailleurs disponible sur mon compte github.

Mais le nerf de la guerre est la donnée. Comment créer des arcs fluides ? Je me suis naturellement tourné vers Postgis, une extension spatiale pour PostgreSQL. L’avantage de celle-ci est de pouvoir gérer tout le chaîne de traitements en seulement quelques requêtes. Par exemple, pour générer les arcs, il est possible d’utiliser la fonction ST_CurveToLine en complément de la fonction ST_OffsetCurve pour calculer le décalage – 1 / 10ème de la longueur de la ligne d’origine. Voici le SQL que j’ai utilisé pour générer les lignes courbes à partir des lignes droites d’origine:

    ST_CurveToLine('CIRCULARSTRING(' || st_x(st_startpoint(the_geom)) || ' ' || st_y(st_startpoint(the_geom)) || ', ' || st_x(st_centroid(ST_OffsetCurve(the_geom, st_length(the_geom)/10, 'quad_segs=4 join=bevel'))) || ' ' || st_y(st_centroid(ST_OffsetCurve(the_geom, st_length(the_geom)/10, 'quad_segs=4 join=bevel'))) || ', ' || st_x(st_endpoint(the_geom)) || ' ' ||  st_y(st_endpoint(the_geom)) || ')') AS the_curved_geom

Au final, l’application est ergonomique et responsive design grâce à une Template open source téléchargée sur colorlib associé à LARAVEL. Le rendu cartographique est assuré par Mapbox, ce qui rend la visualisation encore plus intéressante contrairement à ce qu’on a l’habitude de voir.

Travailler à la fois sur les données et sur la partie applicatif fut une expérience personnelle très enrichissante. Le défit était, pour moi, de proposer une visualisation uniquement avec des outils open source. Comme stipulé plus haut, la principale difficulté que j’ai pu rencontrer, au delà du temps imparti, étaient les flux bidirectionnels. Il m’a donc fallu adapter les traitements pour faciliter la représentation.

Je tiens à remercier toute l’équipe de m’avoir donné cette opportunité ainsi que tous les participants qui ont fourni des propositions variées et de qualité.

Les données du Mapathon sont ouvertes Voir le dépôt et a priori cela vous intéresse.

A vous de jouer !

Liens utiles :

L’application est accessible ici : podor.geoafrica.fr

Le dépôt de l’application est accessible sur github

 

 

 

Laisser un commentaire