Objetivo:
A enrutable conjunto de caminos en una base de datos y tener un software que se puede calcular la ruta más corta (por ejemplo, simple Dijkstra) a través de este conjunto en una cantidad razonable de tiempo (2 segundos). Se requiere para ser utilizable en el mundo real de los vehículos.
Problema:
He escrito un par de analizadores para analizar .osm nodos y bordes en una base de datos MySQL. Luego he aplicado una aplicación Java que carga todos los nodos y bordes en la memoria, crea un gráfico de esos y no una de Dijkstra el algoritmo de enrutamiento. Estoy satisfecho con la velocidad que tiene.
Recientemente me enteré de que Openstreetmap proyecto ha cambiado de MySQL a PostgreSQL.
Entonces me encontré con la pgRouting proyecto.
Yo estaba impresionado por las posibles ventajas:
- se puede tomar el semáforo en cuenta;
- puede tomar los cruces en cuenta;
- puede tomar los signos y las restricciones en cuenta;
- incluso puede tomar laderas en cuenta!!
- se puede tomar de restricciones de giro en cuenta;
- incluso se compromete a tomar las condiciones climáticas en cuenta.
Así, las preguntas son:
- Son todas aquellas ventajas reales?
- No pgRouting una especie de caja negra? Hay sólo un par de tutoriales sobre cómo utilizar, e incluso estos tutoriales introducir aún más preguntas sin respuesta. ¿No es más sencillo para construir el deseado [Meta] sistema desde cero?
- ¿Cuál es el propósito de almacenar enrutable de datos PostgreSQL/PostGIS forma (geometría de las columnas, extraño esquema de base de datos) en lugar de tener sólo dos tablas de nodos y aristas en una simple base de datos MySQL?