Package: r2gg
Route Graph GeneratorPrésentationRoute 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 parRoad2.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 consultableici.PrérequisLes prérequis au fonctionnement des scripts de génération sont décrits dans lereadmede l'image docker.Les extensions SQLpostgres_fdwetPostGISdoivent être installées sur la base de donnéespivot:pivot=#CREATEEXTENSIONpostgres_fdw;pivot=#CREATEEXTENSIONPostGIS;Dans le cas d'une convertion vers une base de données pgRouting, les extensions SQLpostgres_fdw,PostGISetpgRoutingdoivent être installées sur la base de données de destination,pgroutingpar exemple :pgrouting=#CREATEEXTENSIONpostgres_fdw;pgrouting=#CREATEEXTENSIONPostGIS;pgrouting=#CREATEEXTENSIONpgRouting;Les procédures du projetpgrouting-proceduresdoivent également être installées sur la base de données de destination, sur le bon schemaInstallationPour installer les commandes de génération de données, lancer la commande suivante à la racine du projet :pip3 install --user -e .UtilisationFichier de configurationPour 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 dossierio.
La documentation de ces fichiers de configuration est consultableici.Un exemple de ces fichiers est disponible dans la partiedocker.ExécutionLes 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 fichiersvalhalla.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 pivotr2gg-sql2pivot config.jsonPour convertir les données au fromat pgRouting (le type de ressource dans config.json doit êtrepgr)r2gg-pivot2pgrouting config.jsonPour convertir les données au format osrm (le type de ressource dans config.json doit êtreosrm)r2gg-pivot2osm config.json
r2gg-osm2osrm config.jsonPour convertir les données au format valhalla (le type de ressource dans config.json doit êtrevalhalla)r2gg-pivot2osm config.json
r2gg-osm2valhalla config.jsonEnfin, si on souhaite générer la configuration pour Road2, il y a une dernière commander2gg-road2config config.jsonVersionElle est indiquée dans le__about__.py.LicenceRoute-graph-generator est diffusé sous la licence GPL v3.Participer aux développementsLes participations à ce projet sont encouragées (votre notrecharteà ce sujet). Nous avons mis en place unguidedes contributions pour vous accompagner dans cette démarche.