Magrit 🌏
Cartographie thématique
 

24 Septembre 2024 - Webinaire MAGIS AR9

Matthieu Viry (CNRS - UAR RIATE)

Plan de la prĂ©sentation 📝


  1. Magrit nouvelle version
  2. DĂ©monstration
  3. Perspectives d’évolutions

1. Magrit
 “nouvelle version” ?

La genĂšse du projet Magrit


  • Contexte :
    • l’enseignement de la cartographie thĂ©matique Ă  l’universitĂ©
    • la rĂ©alisation de cartes thĂ©matiques par un public non-expert (dĂ©butants, chercheurs dans d’autres disciplines que la gĂ©ographie, etc.)
  • Quels outils pour produire des cartes thĂ©matiques ? Quels outils pour enseigner la cartographie thĂ©matique ?
  • PhilCarto, QGIS, InkScape / Adobe Illustrator ?


➔ En 2016, pas d’outils simple, complet et multiplateforme

La genĂšse du projet Magrit



  • Objectif : dĂ©velopper un outil de cartographie thĂ©matique simple d’utilisation, complet et utilisable sur tous les systĂšmes d’exploitation


  • Conçu et dĂ©veloppĂ© Ă  l’UAR RIATE


  • Projet financĂ© par l’UAR RIATE sur fonds propres, initiĂ© en 2016 et rendu public en 2017

Magrit v1

  • 02/2017 - 07/2024 : 7 annĂ©es de bons et loyaux services 😅

Magrit v2

  • Juillet 2024 : publication de la version 2 de Magrit đŸȘ©


  • Toujours les mĂȘmes fonctionnalitĂ©s classiques :
    • Chargement de donnĂ©es (GeoJSON, Shapefile, KML, GeoPackage, CSV, Excel, OpenOffice, etc.)
    • ReprĂ©sentation cartographique (choroplĂšthe, symboles proportionnels, discontinuitĂ©s, etc.)
    • Personnalisation des cartes (lĂ©gende, titre, Ă©chelle, etc.)
    • Export des cartes (PNG, SVG) et des donnĂ©es (idem formats d’import)
    • Sauvegarde des projets

Fonctionnalités de représentation cartographique

ChoroplĂšthe

Fonctionnalités de représentation cartographique

ChoroplĂšthe

Fonctionnalités de représentation cartographique

Catégories

Fonctionnalités de représentation cartographique

Catégories

Fonctionnalités de représentation cartographique

Discontinuités

Fonctionnalités de représentation cartographique

Symboles proportionnels

Fonctionnalités de représentation cartographique

Symboles proportionnels

Fonctionnalités de représentation cartographique

Symboles proportionnels

Fonctionnalités de représentation cartographique

Cartogrammes

Fonctionnalités de représentation cartographique

Carroyages

Fonctionnalités de représentation cartographique

AggrĂ©gation d’un semis de points (choroplĂšthe ou symboles proportionnels)

Fonctionnalités de représentation cartographique

Lissage (Potentiel de Stewart, KDE)

Fonctionnalités de représentation cartographique

Liens / Flux

À combiner et habiller pour obtenir des cartes complexes



Magrit v2


C’est donc :


  • Toujours un outil de cartographie thĂ©matique simple, complet et disponible sur le Web



  • 
 mais avec une refonte totale de l’interface utilisateur, de la documentation, de l’architecture, et de nombreux ajouts
 đŸ‘·đŸ»

Refonte de l’interface utilisateur


  • Interface plus claire et plus ergonomique đŸ§‘đŸŒâ€đŸ’»
  • Plus de cohĂ©rence dans l’interface (boutons, menus, etc.)
  • ThĂšme sombre 🌒


Nouvelles fonctionnalitĂ©s de reprĂ©sentation et d’analyse

SĂ©lection attributaire

CrĂ©er une nouvelle couche Ă  partir d’une sĂ©lection d’entitĂ©s
(sans les NUTS ultra-marins par exemple)


Nouvelles fonctionnalitĂ©s de reprĂ©sentation et d’analyse

Aggrégation spatiale

Nouvelles fonctionnalitĂ©s de reprĂ©sentation et d’analyse

Régression linéaire et cartographie des résidus

Nouvelles fonctionnalitĂ©s de reprĂ©sentation et d’analyse

Simplification des géométries

Nouvelles fonctionnalitĂ©s de reprĂ©sentation et d’analyse

Calculatrice de champs

  • Syntaxe SQL-like (comme dans QGIS) pour calculer des champs Ă  partir d’autres champs

Nouvelles fonctionnalités de personnalisation

Mais aussi



  • AmĂ©lioration de la documentation 📚
    (ajout de tutoriels, etc.)

  • Nouvelles mĂ©thodes de discrĂ©tisation 📏
    (CKMeans, moyennes emboitées, etc.)

  • AmĂ©lioration des Ă©lĂ©ments d’habillages 🎹
    (ligne brisée / flÚche, échelle, dessin libre, etc.)

Un respect total de la vie privée


  • Pas de collecte de donnĂ©es personnelles đŸ„·đŸŒ

    Aucun compte utilisateur, aucun tracker, aucun cookie, aucun service tiers (pas de Google Fonts, etc.), pas de données stockées sur un serveur distant ni transférées sur le réseau, 



Et une version desktop

  • Pour une utilisation hors-ligne, hors du navigateur Web đŸ–„ïž
  • TĂ©lĂ©chargement de l’application pour Windows, MacOS ou Linux puis, pas de connexion Internet requise

Un respect total de la vie privée

  • Dans la v1


Un respect total de la vie privée

  • Dans la v2, version Web




2. DĂ©monstration

Démonstration avec des données ouvertes

(≈ 7-10 min)


  • Nous allons rĂ©aliser une carte thĂ©matique Ă  partir de donnĂ©es ouvertes :
    • DonnĂ©es : Open Data Ville de Grenoble
    • Objectif : ReprĂ©senter le taux d’abstention par bureau de vote lors des Ă©lections lĂ©gislatives de 2022

Exemple de résultat

3. Perspectives d’évolution

Nouvelles fonctionnalitĂ©s d’analyse statistiques 📊

  • RĂ©alisation d’ACP (Analyse en Composantes Principales)
    + CAH (Classification Ascendante Hiérarchique)

Composants en cours
de développement


Ajout de templates cartographiques prédéfinis

  • Europe et territoires ultra-marins, France MĂ©tropolitaine + DROM, etc.

Amélioration des performances


  • AmĂ©liorer la fluiditĂ© de l’affichage et de la navigation dans l’interface lors de l’utilisation de gros jeux de donnĂ©es ⚠

4 milliards de sommets đŸ˜±

Difficile de naviguer de continuer à utiliser SVG pour l’affichage interactif dans l’interface


  • SVG → Canvas ? WebGL ?

Correction de bugs


  • Corriger les bugs remontĂ©s par les utilisateur.trice.s
 🐞
    (de nombreux retours depuis Juillet 2024 ! merci Ă  toutes celles et ceux ayant pris le temps de nous remonter des bugs !)

  • 
 et continuer Ă  publier rĂ©guliĂšrement des mises Ă  jour 🔄

Merci de votre attention


Magrit : https://magrit.cnrs.fr/

DĂ©pĂŽt GitHub : https://github.com/riatelab/magrit

Supports de formation : https://github.com/magrit-formations


Slides : https://riatecom.github.io/Magrit-MagisAR9-2024/


Contact : matthieu.viry@cnrs.fr

Et d’un point de vue technique



  • TypeScript

  • SolidJS (React-like)

  • D3.js (pour la carto, les projections, etc.)

  • Plusieurs modules WebAssembly pour les calculs plus lourds :

  • GPU.js pour les calculs sur GPU (potentiel de Stewart, KDE)