Estoy construyendo un sistema de planificación de rutas, pero aún tengo que decidir qué motor de enrutamiento subyacente usaré. Hasta ahora he encontrado pgrouting y neo4j.
Tengo mi red de rutas en una base de datos postgresql / postgis (importada de un archivo shape). He realizado consultas para extraer nodos (puntos finales de formas en las que tiene que tomar una decisión en qué dirección ir o callejones sin salida) y extraer bordes (a menudo formados por varias formas consecutivas). Todos mis bordes son bidireccionales.
Mi objetivo principal es calcular rutas en esta red utilizando un algoritmo de estrella A donde la distancia = costo.
Mi sensación me dice que una base de datos de gráficos como neo4j es el camino a seguir (ya que parece estar hecho solo para este propósito), pero no parecen admitir la estrella A por defecto y tampoco hay un sentido real de geometría . Parece más adecuado para redes sociales en lugar de mapas.
- ¿Pgrouting satisfaría mis necesidades?
- ¿Es lo suficientemente rápido para consultas sobre la marcha (+ -2000 nodos, + -4000 aristas)? Normalmente, esto sería unos pocos ms para A-star, pero no estoy seguro acerca de esta implementación en sql.
- ¿Pgrouting A-star me da una lista de nodos y aristas?
- En la mayoría de los ejemplos que veo sobre pgrouting, noto que generalmente hay una lista de comandos después del cálculo de la ruta (como "En X gire a la izquierda, etc."). ¿Pgrouting produce esto o es de otro sistema?
Espero que alguien pueda darme información sobre qué sistema elegir. Neo4j, pgrouting u otro sistema.