Skip to main content

Route Graph Generator (r2gg) est un script Python qui permet la génération de graphes pour des moteurs de calcul d'itinéraire

Project description

Route Graph Generator

Présentation

Route Graph Generator (r2gg) est un script Python qui permet la génération de graphes pour des moteurs de calcul d'itinéraire. Il a été développé pour générer les données directement utilisable par Road2.

Actuellement, il y a trois formats de sortie : OSRM, pgRouting et Valhalla.

La conversion se fait via les fonctions de la bibliothèque r2gg développée dans ce but. Une documentation plus détaillée de r2gg est consultable ici.

Prérequis

Les prérequis au fonctionnement des scripts de génération sont décrits dans le readme de l'image docker.

Les extensions SQL postgres_fdw et PostGIS doivent être installées sur la base de données pivot :

pivot=# CREATE EXTENSION postgres_fdw;
pivot=# CREATE EXTENSION PostGIS;

Dans le cas d'une convertion vers une base de données pgRouting, les extensions SQL postgres_fdw, PostGIS et pgRouting doivent être installées sur la base de données de destination, pgrouting par exemple :

pgrouting=# CREATE EXTENSION postgres_fdw;
pgrouting=# CREATE EXTENSION PostGIS;
pgrouting=# CREATE EXTENSION pgRouting;

Les procédures du projet pgrouting-procedures doivent également être installées sur la base de données de destination, sur le bon schema

Installation

Pour installer les commandes de génération de données, lancer la commande suivante à la racine du projet :

pip3 install --user -e .

Utilisation

Fichier de configuration

Pour pouvoir lancer les scripts de génération, il faut définir une configuration (au format JSON) par ressource à générer. Ce fichier de configuration fait références à d'autres fichiers de configuration : pour la gestion des logs, la gestion des connexions aux bases de données, et pour le calcul des coûts. Des exemples de tous ces fichiers sont présents dans le dépôt dans le dossier io. La documentation de ces fichiers de configuration est consultable ici.

Un exemple de ces fichiers est disponible dans la partie docker.

Exécution

Les scripts de génération sont divisés en trois processus distincts : l'extraction des données d'une base de données vers une base de données dite "pivot", et, en fonction de la ressource, la conversion depuis la base "pivot" vers une base pgRouting, ou vers des fichiers .osrm, ou encore vers des fichiers valhalla.

Ces trois processus se lancent à l'aide de commandes différentes, prenant toutes le même fichier de configuration.

Pour extraire les données vers la base pivot

r2gg-sql2pivot config.json

Pour convertir les données au fromat pgRouting (le type de ressource dans config.json doit être pgr)

r2gg-pivot2pgrouting config.json

Pour convertir les données au format osrm (le type de ressource dans config.json doit être osrm)

r2gg-pivot2osm config.json
r2gg-osm2osrm config.json

Pour convertir les données au format valhalla (le type de ressource dans config.json doit être valhalla)

r2gg-pivot2osm config.json
r2gg-osm2valhalla config.json

Enfin, si on souhaite générer la configuration pour Road2, il y a une dernière commande

r2gg-road2config config.json

Version

Elle est indiquée dans le __about__.py.

Licence

Route-graph-generator est diffusé sous la licence GPL v3.

Participer aux développements

Les participations à ce projet sont encouragées (votre notre charte à ce sujet). Nous avons mis en place un guide des contributions pour vous accompagner dans cette démarche.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

r2gg-4.1.0.tar.gz (39.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

r2gg-4.1.0-py3-none-any.whl (40.8 kB view details)

Uploaded Python 3

File details

Details for the file r2gg-4.1.0.tar.gz.

File metadata

  • Download URL: r2gg-4.1.0.tar.gz
  • Upload date:
  • Size: 39.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for r2gg-4.1.0.tar.gz
Algorithm Hash digest
SHA256 0659e8b88021fcb3b8cadb51b6f56b2cd4495ce8b97a44f831e2e4d950c8e0e0
MD5 f99134af3311d0d1823fb9c43961cb5e
BLAKE2b-256 8da19b66ef8cebfdf0f8cc2d9787533974462e3ed82dbf1fcc461dde96a3be8d

See more details on using hashes here.

File details

Details for the file r2gg-4.1.0-py3-none-any.whl.

File metadata

  • Download URL: r2gg-4.1.0-py3-none-any.whl
  • Upload date:
  • Size: 40.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for r2gg-4.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49d3a691431485792cd25aafa5251b0e16c2a9950d02d112a26285e79c481655
MD5 21c5a6b26a2ec82732f1de4cde98cc8f
BLAKE2b-256 b4e562bd40c8c8f85c0c4dd14ba46978875c16e6cebf0c7e611ecaff296c2553

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page