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é ?

#1 Tue 25 May 2021 19:32

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Network analysis - Différence entre PgRouting et QGis. Qui croire ?

Bonjour,

Une question qui revient assez souvent : j'aimerais obtenir le trajet le plus court entre 2 poids. J'apprends à utiliser PgRouting pour me détacher un peu de QGis, et je me retrouve avec 2 résultats proches mais différents : https://zupimages.net/viewer.php?id=21/21/krj7.jpg

En rouge : le trajet obtenu avec pgr_dijkstra (PgRouting 3.0). J'obtiens une longueur de 3.41km.

Code:

select *
from pgr_dijkstra(
'select id, source, target, st_length(geom) as cost FROM road',
2473, 3199, false)

En orange, le résultat obtenu avec "Chemin le plus court - Point à point" de QGis. J'obtiens une longueur de 3.18km.

Hum ... comment expliquer cette différence ? QGis serait-il plus précis ?

Merci.

Dernière modification par preliator (Tue 25 May 2021 19:33)

Hors ligne

 

#2 Wed 26 May 2021 19:43

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

Re: Network analysis - Différence entre PgRouting et QGis. Qui croire ?

Bonsoir,

Il faudrait sûrement "debugger" le réseau: si QGIS donne un chemin plus court que PG, alors il a raison.

Peut être le réseau est-il mal connecté sur certains segments coté postgis, empêchant ce segment d’être choisi pour l'itinéraire.
Y a-t-il des poids ou interdictions sur le réseau qui feraient que certains segments sont exclus des choix possibles ?
(Est-ce le même réseau/tables qui est utilisé dans les deux cas ?)

Si vous avez un extrait du réseau à fournir pour tester...

Nicolas

Hors ligne

 

#3 Wed 26 May 2021 19:59

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: Network analysis - Différence entre PgRouting et QGis. Qui croire ?

Merci pour votre réponse !

C'est exactement le même réseau qui est utilisé, et le poids est celui par défaut : la distance du tronçon "st_length(geom)". Effectivement, je pense à un problème de connexion, bien que je pensais avoir tout fait pour l'éviter : conversion en LineString plutôt qu'en MultiLineString, et passer un coup de v.clean avant d'importer sur PostGis.

Voici la couche utilisée : https://www.transfernow.net/dl/20210526kSre41PR

Hors ligne

 

Pied de page des forums

Powered by FluxBB