Importante: per fornire informazioni in tempo reale su una corsa con il feed TripUpdate, consulta Selezionare una corsa con TripDescriptor. Se il tuo sistema non può generare previsioni per intere corse, assicurati che il tuo feed GTFS in tempo reale sia preciso utilizzando un semplice feed TripUpdate.
Aggiornare gli orari, i binari e le fermate di una corsa
Puoi utilizzare il feed TripUpdates per visualizzare gli aggiornamenti relativi a orari di arrivo, variazioni di binario ed eventuali fermate che verranno saltate.
Aggiornare l'orario di arrivoUn messaggio stop_time_update
può fornire informazioni sull'arrivo o sulla partenza presso una fermata di una determinata corsa. Per aggiornare l'orario di arrivo, fornisci un feed TripUpdates con un TripDescriptor corrispondente e informazioni stop_time_update
precise per le fermate e il timestamp rispetto al quale viene misurato l'avanzamento.
Devi seguire alcune linee guida di base:
- Il feed TripUpdates deve includere la migliore previsione disponibile del successivo
StopTimeUpdate
. - Se possibile, il feed deve continuare a includere eventuali fermate precedentemente visitate. Utilizza
StopTimeUpdates
per rappresentare le fermate utilizzandostop_id
ostop_sequence
, con i valori che indicano gli orari definitivi di quando il veicolo è arrivato o è partito dalla fermata. - Se disponibile, includi un
TripUpdate.timestamp
del momento in cui è stata effettuata l'ultima misurazione del veicolo associato.
Quando crei correttamente un TripUpdate, supportiamo la rielaborazione del percorso basata sugli orari di partenza e di arrivo in tempo reale, forniti tramite i feed TripUpdate in tempo reale GTFS.
Quando fornisci sia TripUpdate sia VehiclePosition per la stessa corsa, decideremo quale tipo di messaggio utilizzare:
- Messaggio di TripUpdate con orari di arrivo stimati basati sulle informazioni di
stop_time_update
. - Messaggio VehiclePosition basato sulle informazioni relative alla posizione con una previsione degli orari di arrivo stimati dal nostro algoritmo di previsione.
Esempio
La partenza della corsa T è programmata per oggi alle 19:00 dalla stazione S. Il feed TripUpdate in tempo reale GTFS indica che la corsa ha un ritardo di cinque minuti alla stazione S. Da questo momento, quando cerchi i collegamenti dalla stazione S alle 19:03, la corsa T apparirà come uno dei possibili collegamenti. Il TripUpdate in tempo reale ha aggiornato l'orario di partenza effettivo della corsa T in modo che sia successivo a quello programmato.
Codice di esempio:
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
}
}
}
Verifica quanto segue:
- Il valore
start_time
intrip_descriptor
deve essere uguale al valoredeparture_time
definito nel feed statico. - Dopo aver definito
start_time
per mantenere il riferimento alla corsa, il valore deve essere stabile. - Specifica il ritardo utilizzando il valore
stop_time_update
nel campotime
odelay
.
Per le corse con orari basati sulla frequenza, l'orario di arrivo della corsa successiva viene sempre visualizzato come verde e puntuale.
Per le corse con orari fissi viene mostrato il ritardo effettivo:
Per indicare la modifica di una fermata, l'azienda di trasporto pubblico può aggiornare il campo stop_id
dell'oggetto StopTimeUpdate
. È necessario indicare il valore del campo stop_sequence
, mentre il valore ID_stop
sostituito deve indicare una parent_station
o condividere una parent_station
con il nuovo stop_ID
.
Codice di esempio:
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
}
}
}
In che modo gli utenti ricevono informazioni sul binario:
Utilizza un valore SKIPPED
per schedule_relationship
nell'oggetto StopTimeUpdate
.
- Se la fermata interessata è una fermata di salita o discesa dal veicolo relativa a una query utente, la corsa con la fermata saltata verrà rimossa dai risultati di ricerca.
- Se la fermata interessata si trova nel mezzo di una corsa che non richiede la salita o la discesa dal veicolo, la corsa non verrà rimossa dai risultati di ricerca.
Codice di esempio:
trip_update {
trip {
trip_id: xxx
start_time: 12:34:56
}
stop_time_update {
stop_sequence: 0
schedule_relationship: SKIPPED
}
}