Soy estudiante y estoy trabajando en un proyecto. El objetivo es dado dos conjuntos de coordenadas (origen y destino) ruta a través del mapa para determinar el camino óptimo utilizando el transporte público y, por supuesto, los bordes a pie.
He leído sobre GTFS, pero es demasiado complejo, no me importa el horario de tránsito, el tiempo, etc. Mi único objetivo es proporcionar al usuario una representación gráfica del camino más corto, y el coste sólo será la longitud de las aristas multiplicada por la tarifa del modo de transporte público (por ejemplo, longitud en kilómetros * tarifa de autobús por kilómetro), longitud de las aristas multiplicada por la velocidad media del modo de transporte (por ejemplo, longitud en kilómetros * velocidad media del autobús por kilómetro), además, mi país aún no ha proporcionado datos GTFS.
Para ello he decidido utilizar PostgreSQL, PostGIS y pgRouting. Aquí está mi idea y lo que he hecho hasta ahora.
primero: descargar un extracto de OpenStreetMap tomado de http://metro.teczno.com/#manila .
a continuación: convertir los datos XML OSM en una base de datos enrutable utilizando la herramienta osm2pgrouting.
He hecho esto usando Cgywin desde que estoy usando Windows, pero se encontró con algún error, sin embargo, creo que ver mis resultados a continuación:
> reference nd=[some digits] has no corresponding node entry...
Nodes table created
2create ways failed:
Types table created
Way_tag table created
Relations table created
Relation_ways table created
Classes table created
Adding tag types and classes to database...
Adding relations to database...
Adding nodes to database...
Adding ways to database...
Creating topology...
NOTICE: CREATE TABLE will create implicit sequence "vertices_tmp_id_seq" for serial column "vertices_tmp.id"
CONTEXT: SQL statement "CREATE TABLE vertices_tmp (id serial)"
PL/pgSQL function "assign_vertex_id" line 14 at EXECUTE statement
'#########################
size of streets: 1072190
size of splitted ways : 2281124
finished
No sé exactamente si este tipo de resultado debe preocuparme, pero he intentado hacer un poco de enrutamiento. Parece que funciona hasta ahora, si usted tiene algún comentario sobre mi osm2pgrouting resultado, agradecería la ayuda.
De cualquier manera, después de convertir los datos XML, cargar la aplicación QGIS y cargar la tabla de caminos utilizando el plugin DB Manager PostGIS para convertir la tabla en un shapefile, entonces voy a habilitar el etiquetado para ver el id de borde de cada borde. entonces voy a empezar a rastrear qué bordes se utilizan para el transporte público, (dado que ya tengo un mapa físico que contiene rutas)
entonces: Crearé una nueva tabla o múltiples tablas que establecerán relación entre la tabla "camino" y mis datos de transporte público. Aún no he decidido su estructura, pero ésa es la idea.
Ahora, utilizando pgRouting, voy a ejecutar una consulta del camino más corto que sólo se dirigirá a los bordes que también son bordes de tránsito y transitables a pie (calzada).
Ahora mi pregunta es:
¿Estoy en el buen camino o me estoy perdiendo algo o hay algo mal en mi idea?
Por favor agradecería mucho sugerencias, correcciones etc. y si hay cosas que me ayudarían en hacer luz a este proyecto mío.