Catégorie : Vulgarisation

  • Python et la cartographie

    Python est très utilisé en cartographie et en géomatique pour plusieurs raisons clés :


    ✅ 1. Écosystème riche de bibliothèques géospatiales

    • Geopandas : manipulation de données géographiques comme des DataFrames.
    • Shapely : géométrie (intersection, union, distances).
    • Fiona : lecture/écriture de fichiers SIG (Shapefile, GeoJSON…).
    • Pyproj : projection et transformation de coordonnées.
    • OSMnx : extraction et analyse de graphes routiers OSM.
    • Folium / Leaflet : visualisation cartographique interactive.
    • H3-py : indexation hexagonale.
    • Rasterio : traitement des images satellites ou MNT.

    ✅ 2. Langage simple et accessible

    • Syntaxe claire, rapide à prendre en main.
    • Communauté très large et active.
    • Adapté aux non-informaticiens comme les géographes ou urbanistes.

    ✅ 3. Interopérabilité avec les outils SIG

    • QGIS intègre Python pour les scripts et plugins.
    • API Python pour ArcGIS.
    • Capacité à lire/écrire des formats standards : Shapefile, GeoJSON, KML, PBF, etc.

    ✅ 4. Puissance pour l’analyse de données spatiales

    • Intégration facile avec PandasNumPyscikit-learn.
    • Compatible avec les frameworks Big Data : Spark, Dask.
    • Outils de visualisation : Matplotlib, Seaborn, Plotly.

    ✅ 5. Utilisé dans la recherche et l’industrie

    • Projets de mobilité, de logistique, de planification urbaine.
    • Projets de simulation de trajets, comme RoadSimulator3.
    • IA géospatiale : détection d’anomalies, segmentation d’imagerie satellite.

    En résumé : Python s’impose en cartographie car il allie puissance, flexibilité, accessibilité, et un écosystème très complet de librairies géospatiales.

  • OSRM et ses concurrents directs

    OSRMGraphHopperValhalla
    LangageC++JavaC++
    Focus principalRoutage ultra-rapide (voiture)Routage rapide, isochronesRoutage multi-modal avancé
    Trafic Temps Réel
    Multi-modalitéLimitéPartiel (vélo, piéton)Complet (vélo, bus, ferry, horaires)
    API REST
    AlgorithmeContraction Hierarchies (CH)Contraction Hierarchies (CH)Algorithmes flexibles, plus lents
    LicenceBSDApache 2.0MIT
    Cas d’usage typiqueNavigation GPS, logistique rapideApps mobiles, calculs vélo/piétonTransports publics, isochrones complexes

    ✅ Synthèse

    • OSRM : la vitesse pure, surtout pour la voiture.
    • GraphHopper : rapide et polyvalent, idéal pour applications mobiles et le vélo/piéton.
    • Valhalla : le plus adapté aux besoins avancés multi-modaux et au trafic en temps réel.
  • OSMnx

    OSMnx est une bibliothèque Python open-source qui permet de :

    • Télécharger des réseaux routiers ou piétons depuis OpenStreetMap directement via API.
    • Construire des graphes géographiques : intersections = nœuds, rues = arêtes.
    • Analyser ces graphes avec des outils de graph theory (réseaux, centralités, longueurs, etc.).
    • Visualiser les réseaux sous forme de cartes graphiques.
    • Exporter les graphes au format GraphML, shapefile ou géodataframe.

    Exemples d’utilisation :

    • Créer un réseau routier d’une ville :

    import osmnx as ox graph = ox.graph_from_place("Paris, France", network_type="drive")

    • Calculer un itinéraire, des indicateurs (densité, longueur totale, centralité).

    Limites :

    • Dépend d’une connexion Internet et de l’API OpenStreetMap.
    • Extraction lente pour de grandes zones (département, région entière).
    • Pas de dépôt officiel avec des graphes déjà prêts pour tout un pays.

    En résumé :

    OSMnx est un outil puissant pour extraire, analyser et visualiser les réseaux de transport, mais son usage à grande échelle nécessite de générer ses propres fichiers localement, faute de bases de graphes toutes prêtes.

  • Le MNT d’iGN – compliqué à intégrer

    Le MNT (Modèle Numérique de Terrain) de l’IGN, comme RGE Alti®, est parfois difficile à intégrer dans des projets comme RoadSimulator3 pour plusieurs raisons :


    ✅ 1. Format complexe et spécialisé

    • Les MNT IGN sont souvent fournis en formats raster géoréférencés (GeoTIFF) ou en grilles ASCII.
    • Ces formats nécessitent des outils spécialisés comme GDALRasterio, ou QGIS pour être lus et traités correctement.

    ✅ 2. Poids et résolution élevée

    • Les données IGN sont en très haute résolution (jusqu’à 1 mètre), générant des fichiers très volumineux (plusieurs Go) par département.
    • Cela implique :
      • Un stockage conséquent.
      • Des temps de traitement longs pour interpoler ou extraire l’altitude en temps réel.

    ✅ 3. Projection et reprojection

    • Les MNT IGN sont souvent en projection Lambert 93 ou CC (Conforme Conique), qui nécessite une conversion en WGS84 pour être utilisé avec des données GPS.
    • Ce reprojection nécessite des outils comme Pyproj et peut être source d’erreurs si mal paramétrée.

    ✅ 4. Couverture départementale

    • Les fichiers MNT sont fournis par département, donc pour couvrir un trajet qui traverse plusieurs zones, il faut :
      • Télécharger et concaténer plusieurs MNT.
      • Implémenter une logique de sélection spatiale dynamique.

    ✅ 5. Pas de serveur API prêt à l’emploi

    Contrairement à des services comme Mapbox Terrain ou Open-Elevation API, l’IGN ne propose pas de service cloud simple pour interroger l’altitude :

    • Il faut héberger et indexer soi-même les données.
    • Cela ajoute une complexité d’infrastructure.

    ✅ Conclusion

    Le MNT IGN est très précis, mais :

    • lourd,
    • difficile à manipuler sans expertise SIG,
    • et sans API standardisée.

    👉 Pour des besoins temps réel ou large échelle, beaucoup préfèrent :

    • Des MNT globaux moins précis mais légers (ex : SRTM 30m).
    • Ou un pré-calcul local des altitudes avant intégration dans une simulation.

  • H3

    H3 est un système de géocodage spatial hexagonal développé par Uber. Il divise la surface de la Terre en une grille de cellules hexagonales hiérarchiques, ce qui le rend très utile en géospatial.

    ✅ Caractéristiques principales

    • Grille hexagonale : contrairement aux grilles carrées classiques, les hexagones couvrent mieux la surface terrestre sans distorsion majeure.
    • Hiérarchique : chaque cellule peut être subdivisée en hexagones plus petits à des résolutions croissantes (15 niveaux de zoom).
    • Index géospatial : chaque cellule possède un identifiant unique (index H3) qui encode sa position et sa résolution.

    ✅ Usages

    • Analyse spatiale : clusterisation, heatmaps, comptage d’occurrences par zone.
    • Télématique : suivre les véhicules ou objets par cellule H3.
    • Simulation et logistique : optimiser les zones de livraison, coverage.
    • Data Science géospatiale : simplification des calculs et jointures spatiales.

    ✅ Avantages

    • Facile à manipuler.
    • Efficace pour les calculs de proximité.
    • Compatible avec des systèmes big data (Spark, etc.).
  • GraphHopper et Valhalla

    Comparatif : GraphHopper vs Valhalla

    InfoGraphHopperValhalla
    TypeMoteur de routageMoteur de routage
    LangageJavaC++
    Source OSMOuiOui
    Fonctionnalités– Routage rapide (voiture, vélo, piéton)
    – API REST
    – Matrices de distances
    – Isochrones
    – Routage multi-modal (voiture, vélo, ferry, bus)
    – Isochrones
    – Support du trafic en temps réel
    – Intégration de l’altitude et des horaires
    PerformanceTrès rapide, optimisé pour de grands graphesPlus flexible, mais plus lourd à configurer
    API publiqueOui (via GraphHopper GmbH)Non officielle, mais auto-hébergeable
    Format de donnéesFichiers OSM PBF avec prétraitement interneOSM PBF avec format personnalisé après preprocessing
    LicenceApache 2.0 (Open-source)MIT (Open-source)
    Cas d’usage– Routage logistique
    – Applications mobiles
    – Télématique
    – Planification de transport multimodal
    – Routage avec contraintes horaires
    – Analyses spatiales complexes

    ✅ Synthèse

    • GraphHopper : idéal pour les applications simples et rapides en voiture, vélo, ou à pied.
    • Valhalla : adapté aux cas d’usage avancés et multi-modaux, incluant les horaires de transport public et le trafic temps réel.
  • Geofabrik et les fichiers pbf

    Geofabrik génère les fichiers PBF régionaux à partir du dump complet d’OpenStreetMap en suivant un processus structuré :

    ✅ 1. Téléchargement du fichier Planétaire

    • OpenStreetMap publie un dump mondial (~90 Go compressé en .PBF).
    • Geofabrik télécharge régulièrement ce fichier complet.

    ✅ 2. Utilisation d’outils spécialisés

    Geofabrik utilise principalement :

    • Osmium-tool : pour lire et manipuler les gros fichiers PBF.
    • osmosis ou imposm : pour filtrer, découper, et exporter.
    • Poly files : des fichiers définissant les frontières géographiques des pays/régions.

    Exemple :

    osmium extract --polygon=france.poly planet-latest.osm.pbf -o france-latest.osm.pbf

    Cela extrait uniquement les données correspondant au polygone de la France.

    ✅ 3. Traitement et découpage géographique

    • Par continent, pays, région : selon des fichiers polygones précis.
    • Mise à jour différentielle : Geofabrik applique les minutely/hourly diffs d’OSM pour garder les données à jour.

    ✅ 4. Compression en format PBF

    Le format PBF est :

    • Compact (~10 fois plus léger que XML).
    • Rapide à parser avec des outils adaptés.
    • Standard pour les applications OSM (OSRM, osm2pgsql…).

    ✅ 5. Publication automatisée

    • Geofabrik met les fichiers à disposition sur leur site : https://download.geofabrik.de/
    • Mises à jour généralement quotidiennes ou hebdomadaires.

    ✅ Résumé du pipeline Geofabrik

    1. Télécharger le planet-latest.osm.pbf.
    2. Utiliser les polygons (.poly) pour définir les découpes.
    3. Osmium / osmosis pour extraire et convertir.
    4. Compresser et publier.
  • Geofabrik

    Geofabrik est une entreprise allemande spécialisée dans les données OpenStreetMap. Elle est surtout connue pour fournir des extraits OSM régionaux au format .PBF et .OSM, déjà prêts à l’emploi.


    ✅ Que propose Geofabrik ?

    1. Téléchargements gratuits d’extraits OSM
      • Par continent, pays, région, parfois même par département.
      • Format compressé : .pbf optimisé pour les traitements rapides.
      • Données mises à jour quotidiennement ou hebdomadairement.
    2. Services commerciaux
      • Extraits personnalisés.
      • Mises à jour diff (différences entre versions OSM).
      • Services de nettoyage ou de prétraitement de données OSM.
    3. Outils SIG et services
      • Consulting en géomatique et OSM.
      • Assistance sur des outils comme OSRMosm2pgsqlPostGIS.

    ✅ Exemple de lien

    Télécharger la France en .pbf :
    https://download.geofabrik.de/europe/france-latest.osm.pbf


    ✅ Avantages

    • Données prêtes sans avoir à télécharger toute la planète depuis OSM.
    • Format PBF compatible avec :
      • OSRM (calcul d’itinéraires),
      • OSMnx,
      • Osmium-tool,
      • PostGIS via osm2pgsql.

    ✅ Limites

    • Ce sont des extraits bruts, non filtrés (contenant tous les objets OSM).
    • Pour extraire uniquement les routes ou POI spécifiques, il faut utiliser des outils complémentaires comme osmium-tool ou osmfilter.

    En résumé :

    Geofabrik est la référence pour télécharger des données OSM prêtes à traiter, au bon format et à jour, pour la France ou tout autre pays.

  • Différence entre osrm et osmnx

    La différence entre OSRM et OSMnx est fondamentale car ils répondent à deux besoins très différents :

    CaractéristiqueOSMnxOSRM
    Type d’outilBibliothèque Python d’analyse et téléchargement de réseaux routiersMoteur de routage (C++) basé sur OpenStreetMap
    Usage principalExtraire, modéliser et analyser des réseaux (graphes)Calculer des itinéraires optimisés entre deux points
    EntréeNom de ville, coordonnées, polygone (région)Coordonnées GPS de départ et d’arrivée
    SortieGraphe complet : nœuds (intersections), arêtes (routes)Itinéraire optimisé : séquence de points GPS avec distance, durée
    Connexion APIAPI OpenStreetMapAPI REST ou serveur local
    Mode de fonctionnementFonctionne via Python et réseau localFonctionne en client-serveur ou via l’API publique
    Applications typiquesAnalyse urbaine, calcul de centralité, modélisation de la densité de routesNavigation GPS, optimisation de trajets, applications logistiques
    PerformancesAdapté à l’analyse mais lent pour des grands graphesTrès rapide et optimisé pour le calcul de routes

    Résumé :

    • OSMnx = pour ANALYSER les réseaux (cartes complètes, structures).
    • OSRM = pour SIMULER ou CALCULER rapidement des itinéraires entre des points GPS.

    Ils sont complémentaires :

    • On utilise souvent OSMnx pour obtenir la structure complète d’une ville.
    • Puis OSRM pour simuler un trajet réaliste entre deux points dans cette structure.
  • Définitions de Edges et Nodes en cartographie réseau

    edges et nodes en cartographie réseau : définitions essentielles

    Comprendre les edges et nodes en cartographie réseau est fondamental pour tout projet impliquant un graphe géographique. En effet, ces deux notions structurent la majorité des représentations de réseaux routiers, piétons ou ferroviaires. Pourtant, beaucoup de projets en font un usage partiel ou imprécis.

    Pourquoi ces notions sont-elles indispensables ?

    Un node, ou nœud, correspond à un point géographique précis. Il représente un croisement, une intersection ou une extrémité de voie. De plus, chaque node dispose de coordonnées GPS (latitude et longitude), ce qui le rend exploitable dans les moteurs de simulation.

    Quant à l’edge, il s’agit du lien entre deux nodes. Autrement dit, c’est un segment de route ou de trajet. Ce lien intègre souvent des informations essentielles comme la distance, le type de voie ou encore la vitesse maximale. Grâce à cela, on peut construire des trajets cohérents.

    Un exemple concret : RoadSimulator3

    Dans notre projet RoadSimulator3, la modélisation edges-nodes permet de générer des trajets réalistes. Ainsi, nous obtenons des simulations haute fréquence, structurées à partir des données issues d’OpenStreetMap. Cette méthode garantit une fidélité spatiale et logique du réseau.

    Par ailleurs, cette organisation des données simplifie l’injection d’événements inertiels dans les trajets. Elle est donc cruciale pour simuler des scénarios complexes de conduite autonome.

    Pour approfondir le sujet

    Vous pouvez consulter cette page Wikipédia pour une présentation plus théorique des graphes. En complément, notre article sur OSMnx montre comment exploiter ces concepts directement depuis OpenStreetMap avec Python.