5 votos

pgrouting: Dirigida Ruta más corta cálculo utilizando Dijkstra ignora calles de un solo sentido

Yo creo que he encontrado un interesante fallo en pgrouting. Al utilizar el algoritmo de Dijkstra (no importa si uso el shortest_path() o dijkstra_sp_delta_directed() método para calcular la orientación del camino más corto entre dos vértices (id 72846 y el id de la 85556), sólo se ofrece el resultado correcto de una dirección.

He experimentado un poco y luego me enteré de que hay dos arcos en la roads_po tabla con dirección opuesta a la que se conectan dos vértices que forman parte de ambos calcula los caminos más cortos (gid 700 y gid 169244).

Cuando me calcular el camino más corto desde el vértice 72846 el vértice 85556, todo funciona bien, como se puede ver aquí:

correct_result:

enter image description here

Pero cuando voy a calcular el camino más corto desde el vértice 85556 el vértice 72846 (en la dirección opuesta), el mal de arco con el gid 169244 en lugar de la correcta arco con el gid 700 es elegido resulta en una violación de la dirección.

wrong_result:

enter image description here

Parece que pgrouting calcula las rutas correctas, pero tiene un problema que dos vértices a lo largo de las rutas de acceso están conectados por dos arcos, y elige el mal arco de salida para una de las rutas.

¿Alguien más tuvo problemas con el pgrouting?

Saludos, Michael

1voto

lewis Puntos 1178

las direcciones en la dirección opuesta puede leer diferentes aristas de un mismo segmento. depende de cómo se codifica los datos del segmento de los bordes con una formas y cómo es leído por la aplicación. Sin la lógica de las reglas de manejo de los bordes de los mismos segmentos con oneways como modelos existentes dentro de la base de datos me gustaría anticipar resultados desiguales. Usted segmento se tienen, al menos, cuatro direcciones de desplazamiento y si el bloqueo no se manejan correctamente para todos los casos, o de los bordes de enrutamiento no se consideró que podría tener un problema similar.

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