GPF pivot Road2 to graph Road2 - Documentation#

Description: Processing GPF pour transformation d’un stored data de type base pivot road2 vers un graph road2
Author and contributors: Gwendoline ANDRES
Version: 1.13.0
Source code: https://gitlab.gpf-tech.ign.fr/geoplateforme/itineraire/pivot-road2-to-graph-road2
Last documentation build: 01 April 2025


Le processing pivot-road2-to-graph-road2 est utilisé pour permettre la transformation d’une donnée de type VECTOR-DB avec un schéma au format base pivot Road2 vers une nouvelle donnée contenant un graphe utilisable par Road2.

Il est utilisé dans le cadre d’une génération de données pour la publication d’un service d’itinéraire ou d’isochrone pour les configurations ITINERARY-ISOCURVE. Ce service utilise Road2 comme méta-moteur de calcul d’itinéraire ou d’isochrone.

Le formalisme de la base pivot Road2 est décrit dans la documentation de route-graph-generator.

3 types de graphes peuvent être créés :

  • GRAPH-DB: graphe sous forme de base pgRouting avec ajout de procédures spécifiques pour Road2. Utilisation du dépôt GitHub pgrouting-procedures.

  • GRAPH-OSRM: graphe pour utilisation du moteur de calcul OSRM. Création de fichiers au format OpenStreetMap.

  • GRAPH-VALHALLA: graphe pour utilisation du moteur de calcul Valhalla. Création de tuiles Valhalla.

Le processing utilise des utilitaires de route-graph-generator pour créer les graphes:

  • r2gg-pivot2pgrouting pour la création de la base de données pgRouting

  • r2gg-pivot2osm pour la création de fichier OpenStreetMap (pour GRAPH-OSRM et GRAPH-VALHALLA)

  • r2gg-osm2osrm pour la création de fichiers utilisables par OSRM (pour GRAPH-OSRM)

  • r2gg-osm2valhalla pour la création de fichiers utilisables par OSRM (pour GRAPH-VALHALLA)

La configuration en entrée du processing permet de définir les règles à utiliser pour la création des graphes, notamment pour la gestion des coûts et des contraintes.

Les paramètres sont :

  • cost_calculations : définition des méthodes de calcul des coûts. Utilisation du formalisme définit dans route-graph-generator

  • bbox : définition de la bbox utilisés pour le filtrage des données en entrée

Voici un schéma de synthèse des actions effectuées dans le processing

flowchart TB ConfigCreation["Creation du fichier de configuration r2gg"] ConfigCreation -->|"GRAPH-DB"|GraphDB ConfigCreation -->|"GRAPH-OSRM"|OSRM ConfigCreation -->|"GRAPH-VALHALLA"|VALHALLA GraphDB[r2gg-pivot2pgrouting]-->STORED_DATA_UPDATE OSRM[r2gg-pivot2osm]-->osm2osrm[r2gg-osm2osrm]-->S3_UPLOAD-->STORED_DATA_UPDATE VALHALLA[r2gg-pivot2osm]-->osm2valhalla[r2gg-osm2valhalla]-->S3_UPLOAD-->STORED_DATA_UPDATE S3_UPLOAD["Upload des graphes dans bucket S3"] STORED_DATA_UPDATE["Mise à jour info données\n (couple profile/optimization, taille, attributs disponibles)"]

Spécifications

Miscellaneous