Important : Pour fournir des informations en temps réel sur un trajet avec le flux TripUpdate, consultez la section Sélectionner un trajet avec TripDescriptor. Si votre système ne peut pas générer des prédictions pour des trajets dans leur totalité, assurez l'exactitude de votre flux GTFS en temps réel à l'aide d'un simple flux TripUpdate.
Mettre à jour les horaires, les plates-formes et les arrêts pour un trajet
Le flux TripUpdates vous permet d'afficher des mises à jour sur l'heure d'arrivée, les changements de plate-forme et les arrêts à ignorer.
Mettre à jour l'heure d'arrivéeUn message stop_time_update
peut fournir des informations sur l'arrivée ou le départ concernant un arrêt spécifique sur un trajet. Pour mettre à jour l'heure d'arrivée, fournissez un flux TripUpdates avec une valeur TripDescriptor correspondante et des informations stop_time_update
précises pour les arrêts et l'horodatage auxquels la progression est mesurée.
Vous devez suivre ces quelques consignes :
- Le flux TripUpdates doit inclure la meilleure prédiction disponible de la prochaine valeur
StopTimeUpdate
. - Si possible, le flux doit continuer à inclure tous les arrêts précédemment desservis. Utilisez
StopTimeUpdates
pour représenter les arrêts utilisantstop_id
oustop_sequence
, avec des valeurs qui indiquent les dernières heures d'arrivée ou de départ du véhicule pour cet arrêt. - Le cas échéant, incluez un
TripUpdate.timestamp
correspondant à la date de la dernière mesure du véhicule associé.
Lorsque vous créez une valeur TripUpdate avec succès, nous prenons en charge le réacheminement en fonction des heures de départ et d'arrivée en temps réel fournies dans les flux GTFS en temps réel TripUpdate.
Lorsque vous fournissez à la fois les valeurs TripUpdate et VehiclePosition pour le même trajet, nous choisissons le type de message à utiliser :
- Message TripUpdate avec l'heure d'arrivée prévue en fonction des informations
stop_time_update
. - Message VehiclePosition d'après les informations de position et une prévision de l'heure d'arrivée prévue issue de notre algorithme de prédiction.
Exemple
Le trajet T quitte la station S à 19 h 00 aujourd'hui. Le flux TripUpdate en temps réel GTFS indique que le trajet a un retard de cinq minutes à la station S. Désormais, lorsque vous recherchez des correspondances à partir de la station S à 19 h 03, le trajet T est proposé. Le flux en temps réel TripUpdate a mis à jour l'heure de départ du trajet T de sorte qu'elle corresponde à l'heure de départ prévue.
Exemple de code :
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
}
}
}
Vérifiez les points suivants :
- La valeur de
start_time
danstrip_descriptor
doit être identique à la valeur dedeparture_time
définie dans le flux statique. - Une fois que la valeur
start_time
a été définie de manière à conserver la référence au trajet, elle devrait être stable. - Indiquez le retard avec
stop_time_update
dans le champtime
oudelay
.
Pour les horaires basés sur la fréquence, l'heure d'arrivée du prochain trajet est toujours affichée en vert et à l'heure.
Pour les horaires fixes, le retard réel s'affiche :
Pour indiquer une modification concernant un arrêt, l'agence peut mettre à jour le champ stop_id
de l'objet StopTimeUpdate
. Le champ stop_sequence
doit être renseigné et la valeur stop_id
remplacée doit être une parent_station
ou partager une parent_station
avec le nouveau stop_id
.
Exemple de code :
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
}
}
}
Comment les utilisateurs obtiennent les informations de la plate-forme :
Utilisez une valeur SKIPPED
pour le champ schedule_relationship
de l'objet StopTimeUpdate
.
- Si l'arrêt concerné est un arrêt d'embarquement ou de descente pour une requête d'utilisateur, le trajet correspondant à l'arrêt ignoré est supprimé des résultats de recherche.
- Si l'arrêt concerné se trouve au milieu d'un trajet ne nécessitant pas d'embarquement ni de descente, le trajet n'est pas supprimé des résultats de recherche.
Exemple de code :
trip_update {
trip {
trip_id: xxx
start_time: 12:34:56
}
stop_time_update {
stop_sequence: 0
schedule_relationship: SKIPPED
}
}