Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 06 December 2023 19:44

Ricola62
Participant assidu
Date d'inscription: 24 Apr 2012
Messages: 166

pg_routing: bases

Bonjour,
J'ai réussi à importer via osm2pgrouting le réseau routier d'OSM dans la BDD. j'ai les tables suivantes public.ways, public.ways_vertices_pgr.
J'ai une table restaurant, la question est :comment exploiter les algos de pg routing pour calculer la distance la plus courte et le temps de trajet entre chaque restaurants?
Est ce qu'ils faut créer une requête afin de savoir lequel des nodes est le plus proche ou projeter les pts restaurants dans le réseau routier?

merci d'avance

Dernière modification par Ricola62 (Wed 06 December 2023 22:44)

Hors ligne

 

#2 Thu 07 December 2023 11:45

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1536

Re: pg_routing: bases

Bonjour,

Oui, il faut déterminer les vertex du reseau de routes qui sont les plus proches des restaurants: ca sera les points de départ pour le routing.

Les deux méthodes: node le plus proche d'un restau, ou projection du restau dans le graphe se valent je dirais, mais la projection nécessite d'intégrer les points dans le graphe avant de lancer le routing pour que le graphe soit complet.
Si le graphe est prêt, faites d'abord un test avec une requete qui chope le node le plus proche de chaque restau.

Nicolas

Hors ligne

 

#3 Thu 07 December 2023 16:28

Ricola62
Participant assidu
Date d'inscription: 24 Apr 2012
Messages: 166

Re: pg_routing: bases

ok merci.
deuxième question les tables ways et ways_vertices_pgr sont en EPSG:4326 , les colonnes cost... sont en degrées .
pour obtenir en mètre agg_cost après exécution de l’algorithme Dijkstra faut il que je transforme la table ways en 3857 ou bien je fais juste un st_length (st_transform(to_geom,3857)) de l’itinéraire final ?

Hors ligne

 

#4 Thu 07 December 2023 16:35

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1536

Re: pg_routing: bases

Plutot convertir la colonne cost en metre à partir des ways en 4326.
Ne reprojetez pas en 3857 pour mesurer des distances: la projection déforme beaucoup les données.

Postgis sait calculer des distances en metre pour des data 4326 (geography): c'est beaucoup plus précis.


qq chose comme:

Code:

update ways set cost = st_length(geom::geography);

Nicolas

Dernière modification par Nicolas Ribot (Thu 07 December 2023 16:37)

Hors ligne

 

Pied de page des forums

Powered by FluxBB