Error en inglés:
- Asignar parada a una forma
- Las paradas coinciden con la forma en un orden incorrecto
Es habitual que asignar paradas a datos de shape
en rutas y trayectos. El archivo shapes.txt puede definir el recorrido de un trip
determinado. En trips.txt
, puedes vincular el trip
con un shape
mediante el campo shape_id
.
El trip
también define una secuencia de paradas en el archivo stop_times.txt
para las paradas visitadas durante el trip
en cuestión. Para mostrar la ruta de un trayecto entre dos paradas en los resultados de rutas, puedes definir el shape
de un trip
para que coincida con la secuencia de paradas más cercanas a su ubicación más próxima a trip shape
.
En concreto, nuestras herramientas de validación GTFS suelen mostrar dos tipos de advertencias comunes de coincidencia de stop-shape
. Consulta los enlaces para obtener indicaciones específicas sobre el diagnóstico de estos problemas.
Formas complejas de trayectos
Asignar paradas al campo shape
de un trip
puede ser complicado cuando el trip
tiene una geometría compleja, como bucles o secciones superpuestas. Nuestro software hace todo lo posible para que los campos stop
coincidan con la ubicación idónea de cada shape
. Cuando este proceso falla, puede indicar que hay un problema con los datos del campo shape
, la ubicación de stop
o la secuencia de stop
de un trip
.
Para las secuencias complejas de shape
y stop
, la especificación GTFS ofrece una forma de definir cómo se asignan las paradas a trip shape
.
- El archivo
shapes.txt
define un campo shape_dist_traveled
, que puede especificar la distancia a lo largo del shape
para cada punto de shape
.
- El archivo
stop_times.txt
también define un campo shape_dist_traveled
, que puede especificar la distancia a lo largo del shape
de cada stop
de un trip
.
Cuando se definen ambos campos en shape
y todos los stop
pertenecen a un trip
, los valores de distancia pueden determinar de forma explícita dónde coincide cada stop
con un shape
.
Ejemplo
El archivo trips.txt
trip_id,route_id,service_id,shape_id
t0,r0,weekly,shape0
El archivo shapes.txt
shape_id,shape_pt_sequence,shape_pt_lat,shape_pt_lon,shape_dist_traveled
shape0,0,47.0,-122.0,0
shape0,1,47.1,-122.0,100
shape0,2,47.1,-122.1,200
El archivo stop_times.txt
trip_id,stop_sequence,stop_id,arrival_time,departure_time,shape_dist_traveled
t0,0,stop0,09:00:00,09:00:00,50
t0,1,stop1,09:30:00,09:30:00,175
En el ejemplo se muestra un trip
sencillo con una forma básica de dos paradas. Tanto shape
como los dos stop
tienen valores shape_dist_traveled
.
En primer lugar, stop0
tiene un valor shape_dist_travel
de 50. Si observamos los puntos de shape
, vemos que 50 queda entre los dos primeros puntos, que tienen valores shape_dist_traveled
de 0 y 100, respectivamente. Esto hace que la coincidencia de stop-shape
esté prácticamente a medio camino entre los dos puntos de shape
, aproximadamente 47.05, -122.0
.
También vemos que stop1
tiene un valor shape_dist_traveled
de 175
, que la sitúa entre los dos últimos puntos de shape
. Dado que stop
se encuentra aproximadamente a 3/4 de la distancia entre los dos puntos de acuerdo con la distancia de shape
, la coincidencia de stop-shape
será aproximadamente de 47.1, -122.75
.
Puedes utilizar las unidades que prefieras para los valores shape_dist_travel
(metros, pies, etc.). Los consumidores de feeds no presuponen unidades concretas. En su lugar, los valores solo se pueden utilizar para determinar cómo coincide un stop
con una posición a lo largo de un shape
.