Aller au contenu

Trip Modifications

Un message TripModifications identifie une liste de trip_ids similaires du (CSV) GTFS qui sont tous affectés par des modifications particuliÚres, comme un détour.



Attention :cette entitĂ© est encore expĂ©rimentale et sujette Ă  changement. Il pourrait ĂȘtre formellement adoptĂ© Ă  l’avenir.

SLO : objectif de niveau de service

La frĂ©quence de mise Ă  jour des donnĂ©es devrait ĂȘtre d’environ toutes les heures (~ 24 fois/jour). Le temps d’ingestion peut dĂ©pendre du nombre total de dĂ©placements concernĂ©s. Les consommateurs sont censĂ©s ingĂ©rer un seul TripModification en 5 minutes et un flux comportant des centaines de dĂ©tours en 20 minutes.

TripModifications

Les TripModifications sont en vigueur Ă  toutes les dates de service rĂ©pertoriĂ©es, jusqu’à ce qu’elles soient supprimĂ©es du flux. À une date de service donnĂ©e, un voyage NE DOIT PAS ĂȘtre attribuĂ© Ă  plus d’un objet TripModifications.

Il PEUT y avoir plusieurs TripModifications pour un modĂšle d’arrĂȘt donnĂ©. Il peut ĂȘtre souhaitable de diviser les trajets en plusieurs modifications, par exemple si le « propagated_modification_delay » change de maniĂšre significative au cours du dĂ©tour.

Les voyages créés via GTFS- TripModifications modifient et remplacent chaque trip_id spĂ©cifiĂ©, et ne crĂ©ent pas de copie ou d’exĂ©cution supplĂ©mentaire. Les modifications sont appliquĂ©es sur les informations de planning, comme si un GTFS (CSV) statique Ă©tait modifiĂ©.

Les horaires d’arrĂȘts programmĂ©es de chaque trajet de remplacement sont créées Ă  partir de celles du trajet concernĂ©, en effectuant les changements listĂ©s dans les modifications. stop_sequence pour tous les horaires d’arrĂȘts sont remplacĂ©s par une nouvelle valeur de 1 Ă  n, commençant par 1 lors du premier stop_time et augmentant de 1 pour chaque arrĂȘt du trajet. Un message TripUpdate doit ĂȘtre fourni pour publier les heures d’arrivĂ©e/dĂ©part en temps rĂ©el pour le voyage de remplacement.

Lien vers TripUpdates

  • Une TripUpdate DEVRAIT ĂȘtre fournie en utilisant un ModifiedTripSelector Ă  l’intĂ©rieur du TripDescriptor de TripUpdate.
    • Lorsque TripUpdate fait rĂ©fĂ©rence au voyage de remplacement, l’application rĂ©utilisatrice doit se comporter comme si le GTFS statique aurait Ă©tĂ© modifiĂ© avec les TripModifications (par exemple arrival_time, departure_time, stop_sequence, stop_id sur les arrĂȘts de remplacement).
    • En fournissant d’un ModifiedTripSelector, les champs trip_id, route_id, direction_id, start_time, start_date du TripDescriptor DOIVENT ĂȘtre laissĂ©s vides, pour Ă©viter toute confusion chez les consommateurs qui ne cherchent pas la valeur ModifiedTripSelector.
    • Les flux TripUpdate fournissant des mises Ă  jour avec ModifiedTripSelector DEVRAIT Ă©galement inclure un TripUpdate ciblant les clients qui ne prennent pas en charge TripModifications. En d’autres termes, il devrait y avoir deux TripUpdates : une pour les clients avec des voyages modifiĂ©s (avec TripModifications) et une pour les clients avec le GTFS d’origine non modifiĂ© (sans TripModifications).
    • Fournir un TripUpdate avec un ModifiedTripSelector est le seul moyen de crĂ©er des prĂ©dictions aux arrĂȘts de remplacement.
  • Si aucun TripUpdate de ce type n’est trouvĂ©, les TripUpdates pour le trip_id d’origine s’appliqueront au voyage modifiĂ©.
    • Dans ce cas, les informations GTFS statiques utilisĂ©es doivent provenir du GTFS statique avant l’application de toute TripModifications.
    • Des informations en temps rĂ©el peuvent ĂȘtre disponibles sur les arrĂȘts communs entre le trajet prĂ©cĂ©dent et le nouveau trajet modifié ; cependant, aucune ETA ne serait disponible aux arrĂȘts de remplacement.

Modification

Un message Modification dĂ©crit les modifications apportĂ©es Ă  chaque trajet concernĂ© Ă  partir de start_stop_selector. Il peut y avoir zĂ©ro, un ou plusieurs temps d’arrĂȘt remplacĂ©s par une « Modification». Les Ă©tendues des modifications DOIT pas se chevaucher. Les travĂ©es ne peuvent pas ĂȘtre contiguĂ«s ; dans ce cas, les deux modifications DOIT ĂȘtre fusionnĂ©es en une seule. Ces horaires d’arrĂȘts sont remplacĂ©s par un nouveau temps d’arrĂȘt pour chaque arrĂȘt de remplacement dĂ©crit par replacement_stops.

La sĂ©quence de replacement_stops peut ĂȘtre de longueur arbitraire. Par exemple, 3 arrĂȘts pourraient ĂȘtre remplacĂ©s par 2, 4 ou 0 arrĂȘts selon la situation.

Un exemple montrant l’effet d’une modification sur un voyage particulier. Cette modification peut Ă©galement s’appliquer Ă  plusieurs autres trajets.

Les dĂ©lais de dĂ©tour propagĂ©s affectent tous les arrĂȘts suivant la fin d’une modification. Si un trajet a plusieurs modifications, les retards sont accumulĂ©s.

ReplacementStop

Chaque message ReplacementStop dĂ©finit un arrĂȘt qui sera dĂ©sormais visitĂ© par le voyage, et spĂ©cifie Ă©ventuellement le temps de trajet estimĂ© jusqu’au arrĂȘt. Le message ReplacementStop est utilisĂ© pour construire le stop_time planifiĂ© pour l’arrĂȘt.

Lorsque travel_time_to_stop est spĂ©cifiĂ©, le arrival_time est calculĂ© Ă  partir d’un arrĂȘt de rĂ©fĂ©rence dans le trajet d’origine, plus le dĂ©calage dans travel_time_to_stop. Sinon, le arrival_time peut ĂȘtre interpolĂ© en fonction de la durĂ©e totale de la modification dans le voyage d’origine.

Le departure_time est toujours égal au arrival_time.

Les champs facultatifs de stop_times.txt dans la spécification (CSV) GTFS sont tous définis sur leurs valeurs par défaut.

Si une modification affecte le premier arrĂȘt du trajet, cet arrĂȘt sert Ă©galement d’arrĂȘt de rĂ©fĂ©rence de la modification.