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:
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:
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