#1 Tue 19 July 2016 11:58
- Nugg_00
- Participant occasionnel
- Date d'inscription: 7 Jun 2016
- Messages: 32
[PostGIS] pgr_createTopology fausse
Bonjour,
J'essaie actuellement de calculer les plus court chemin entre de nombreux couples de points selon un grid.
Tout s'est réalisé normalement, notamment le pgr_createTopology qui ne rencontre aucun problème. Seulement, lorsque je souhaite lancer pgr_dijkstra entre certains couples de points, le résultat est vide.
Je me suis apercu que la raison de cet échec était que certains points, pourtant présents dans la table network_vertices_pgr créée par le pgr_createTopology, n'ont pas leur id référencée en Source ou bien en Target.
Ainsi l'algortihme pgr_dijkstra ne peut pas naviguer jusqu'à ces points.
Je ne comprends pourquoi leur id n'est pas rangée dans les colonnes Source ou bien Target, car ces points sont pourtant bien créés dans la table network_vertices_pgr.
Dans ma projection 4326, j'ai notamment essayé avec des tolérance de 0.01 jusqu'à 0.00000001, mais rien n'y fait, toujours le même problème.
Auriez-vous une idée pour palier cette erreur?
Merci d'avance!
Hors ligne
#2 Tue 19 July 2016 12:10
- atilio
- Participant actif
- Lieu: Brest
- Date d'inscription: 17 Jan 2006
- Messages: 80
Re: [PostGIS] pgr_createTopology fausse
Je n'ai pas la solution, mais je suis déjà passé par là.
Petit conseil:
1-avant de lancer pgr_createtopology, si tu n'es pas sûr de ce qui existe déjà, mettre source et target à NULL pour tous les enregistrements. ça oblige la commande à prendre en compte tous les tronçons. Si non, la commande ne créé la topologie que pour les tronçons où ces deux valeurs sont absentes.
2-toujours regarder l'onglet "Messages" du panneau de sortie (si tu utilises pgadmin3) car il dit pour combien de tronçons la topologie a été créée. Si tu en as 10000 et qu'il dit :topologie créé pour 34 edges, c'est qu'il y a eu un problème...
Hors ligne
#3 Tue 19 July 2016 13:44
- Nugg_00
- Participant occasionnel
- Date d'inscription: 7 Jun 2016
- Messages: 32
Re: [PostGIS] pgr_createTopology fausse
Ok, je vais essayer de voir, même si j'ai déjà supprimé et recréé de multiples fois ces colonnes pour la création de topologies.
J'ai réalisé un SELECT pgr_analyzeGraph('network', 0.000000001, 'geom', 'id'); qui a fonctionné.
Voila ce que j'obtiens dans la fenêtre "message".
Est ce qu'il vous apparaît une quelconque anomalie?
NOTICE: PROCESSING:
NOTICE: pgr_analyzeGraph('network',1e-009,'geom','id','source','target','true')
NOTICE: Performing checks, please wait ...
NOTICE: Analyzing for dead ends. Please wait...
NOTICE: Analyzing for gaps. Please wait...
NOTICE: Analyzing for isolated edges. Please wait...
NOTICE: Analyzing for ring geometries. Please wait...
NOTICE: Analyzing for intersections. Please wait...
NOTICE: ANALYSIS RESULTS FOR SELECTED EDGES:
NOTICE: Isolated segments: 31277
NOTICE: Dead ends: 162725
NOTICE: Potential gaps found near dead ends: 18
NOTICE: Intersections detected: 1218669
NOTICE: Ring geometries: 9
Total query runtime: 01:19:3601 hours
1 row retrieved.
Hors ligne