2 votos

pgr_dijkstra devuelve un conjunto vacío después de usar osm2pgRouting

Hace poco empecé a trabajar con pgRouting con este archivo osm

Así que utilicé osm2pgRouting para analizar el archivo y cargarlo en la base de datos.

osm2pgRouting (usando el mapconfig_for_pedestrian.xml) funciona bien, pero cuando intento hacer un Dijkstra todo lo que obtengo es el conjunto Empty.

Aquí está la petición SQL que estoy utilizando:

SELECT
    *
FROM
    pgr_dijkstra ('SELECT id, source, target, cost, reverse_cost FROM ways',
        3,
        4);

aquí mi entorno:

postgres (PostgreSQL) 10.11
pgRouting: 3.0.0 beta
osm2pgrouting Version 2.3.7

¿alguien me puede orientar sobre cual puede ser la causa de este comportamiento?

más información sobre la línea exacta que creo que estoy usando.

|   id | source | target |
+------+--------+--------+
| 5    |   3317 |      4 |
| 3312 |      3 |   3780 |

1voto

Artru Puntos 108

Es el problema con los datos de OSM. No se asientan correctamente. Por eso tenemos problemas para generar rutas con pg_routing. La solución es crear una red de nodos. Puedes usar la función pgr_nodeNetwork de pg_routing.

SELECT pgr_nodeNetwork('route', 0.001, id := 'gid', the_geom:='geom');

Creará un nuevo conjunto de datos que tendrá nodos en cada intersección. Y usted puede utilizar este conjunto de datos para el propósito de enrutamiento.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X