Importante: Para proporcionar información en tiempo real sobre un trayecto con el feed de actualizaciones de trayectos, consulta el artículo Seleccionar un trayecto con el descriptor de trayectos. Si tu sistema no puede generar predicciones en trayectos completos, comprueba la precisión de tu feed GTFS en tiempo real con un feed de actualizaciones de trayectos sencillo.
Actualizar los horarios, los andenes y las paradas de un trayecto
Puedes utilizar el feed de actualizaciones de trayectos para mostrar actualizaciones de la hora de llegada, cambios de andén y si se suprimirá alguna parada.
Actualizar la hora de llegadaUn mensaje stop_time_update
puede proporcionar información sobre la llegada o la salida correspondientes a una parada de un trayecto concreto. Para actualizar la hora de llegada, proporciona un feed de actualizaciones de trayectos con un descriptor de trayectos adecuado e información precisa de la actualización de hora de llegada (stop_time_update
) para las paradas y la marca de tiempo en la que se midió el progreso.
Debes seguir unas directrices básicas:
- El feed de actualizaciones de trayectos debe incluir la mejor predicción disponible de la próxima actualización de hora de parada (
stop_time_update
). - Si es posible, el feed deberá continuar incluyendo las paradas visitadas anteriormente. Utiliza el objeto
stop_time_update
para representar las paradas asignando astop_id
ostop_sequence
valores que indiquen las horas en las que el vehículo llegó o salió. - Si está disponible, incluye una marca de tiempo de actualización de trayecto (
TripUpdate.timestamp
) del momento en que se realizó la última medición del vehículo asociado.
Cuando creas correctamente una actualización de trayecto, admitimos la modificación de rutas basada en las horas de salida y de llegada en tiempo real, proporcionadas mediante feeds de actualizaciones de trayectos en tiempo real de GTFS.
Cuando proporciones tanto una actualización de trayecto como una posición de vehículo para el mismo trayecto, decidiremos el tipo de mensaje que se va a utilizar:
- Mensaje de actualización de trayecto con llegadas basado en la información de
stop_time_update
. - Mensaje de posición del vehículo basado en la información de posición con una previsión de las llegadas de nuestro algoritmo de predicción.
Ejemplo
El Trayecto T está programado para salir hoy a las 19:00 de la Estación E. El feed de actualizaciones de trayectos en tiempo real de GTFS indica que el trayecto sufre un retraso de 5 minutos en la Estación E. Ahora, cuando busques conexiones de la Estación E a las 19:03, el Trayecto T se mostrará como una de las posibles conexiones. La actualización de trayecto en tiempo real actualizó la hora de salida del Trayecto T a una hora posterior a la hora de salida programada.
Código de ejemplo:
trip_update {
trip {
trip_id: xxx
start_time: 12:34:56
}
stop_time_update {
stop_sequence: 0
stop_id: "child_stop_id"
arrival {
time: 1284457468
}
}
}
Comprueba lo siguiente:
- El valor de
start_time
entrip_descriptor
debe ser el mismo que el valor dedeparture_time
definido en el feed estático. - Después de definir el valor de
start_time
para mantener la referencia al trayecto, este debe ser estable. - Especifica el retraso con
stop_time_update
en los campostime
odelay
.
Si el horario está basado en la frecuencia, la hora de llegada del próximo trayecto siempre se muestra en verde y como puntual.
Si el horario es fijo, se muestra el retraso real:
Para indicar un cambio en una parada, la agencia puede actualizar el valor de stop_id
del objeto stop_time_update
. Es necesario proporcionar el valor de stop_sequence
, y el nuevo stop_id
debe ser una parent_station
o compartir una parent_station
con el nuevo stop_id
.
Código de ejemplo:
trip_update {
trip {
trip_id: xxx
start_time: 12:34:56
}
stop_time_update {
stop_sequence: 0
stop_id: "child_stop_id"
arrival {
time: 1284457468
}
}
}
Cómo reciben los usuarios la información sobre el andén:
Utiliza el valor SKIPPED
para schedule_relationship
en el objeto stop_time_update
.
- Si la parada afectada es una parada de subida o bajada de una ruta consultada por un usuario, el trayecto con la parada omitida se quita de los resultados de búsqueda.
- Si la parada afectada se encuentra en mitad de un trayecto en el que no tienen que subir ni bajar pasajeros, el trayecto no se quita de los resultados de búsqueda.
Código de ejemplo:
trip_update {
trip {
trip_id: xxx
start_time: 12:34:56
}
stop_time_update {
stop_sequence: 0
schedule_relationship: SKIPPED
}
}