Importante: para fornecer informações em tempo real sobre uma viagem com um feed TripUpdate, consulte Selecionar uma viagem com o TripDescriptor. Se não for viável para seu sistema gerar previsões de viagens inteiras, verifique se seu feed em tempo real da GTFS está correto usando um feed TripUpdate simples.
Atualizar os horários, as plataformas e as paradas de uma viagem
Você pode usar o feed TripUpdate para exibir atualizações sobre os horários de chegada e as alterações na plataforma, além de informar se alguma parada não será feita.
Atualizar o horário de chegadaUma mensagem stop_time_update
fornece informações sobre a chegada ou a partida da parada de uma viagem específica. Para atualizar a hora de chegada, envie um feed TripUpdate com um TripDescriptor correspondente e informações precisas de stop_time_update
sobre as paradas, com data e hora da verificação do progresso.
Siga algumas diretrizes básicas:
- O feed TripUpdate precisa incluir as melhores previsões disponíveis do próximo
StopTimeUpdate
. - Se possível, o feed deverá continuar incluindo as paradas já realizadas. Use o
StopTimeUpdate
para representar essas paradas, comstop_id
oustop_sequence
indicando os horários finais de quando o veículo chegou ou saiu da parada. - Se disponível, inclua um
TripUpdate.timestamp
referente à última medição do veículo associado.
Quando você cria um TripUpdate, o redirecionamento é aceito com base nos horários de partida e chegada em tempo real, informados nos feeds TripUpdate em tempo real da GTFS.
Quando você informa TripUpdate e VehiclePosition em uma mesma viagem, podemos usar estes tipos de mensagem:
- Mensagem TripUpdate com HECs com base nas informações do
stop_time_update
- VehiclePosition baseado em informações de posição com uma previsão dos HECs do nosso algoritmo de previsão
Exemplo
A Viagem T está programada para partir às 19h de hoje da Estação S. O feed em tempo real TripUpdate da GTFS mostra que a viagem está com atraso de cinco minutos na Estação S. Agora, quando você pesquisar conexões da Estação S às 19h03, a Viagem T será exibida como uma das conexões possíveis. O TripUpdate em tempo real atualizou a partida da Viagem T para um horário posterior.
Exemplo de código:
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
}
}
}
Verifique as informações abaixo:
- O
start_time
notrip_descriptor
precisa ser igual aodeparture_time
definido no feed estático. - Depois que o
start_time
for definido para manter a referência à viagem, ele ficará estável. - Especifique o atraso com
stop_time_update
no campotime
oudelay
.
Nas programações com base em frequência, o horário de chegada da próxima viagem sempre aparece em verde e no horário.
Para programações fixas, o tempo de atraso é exibido:
Para indicar uma alteração em uma parada, a empresa de transporte pode atualizar o stop_id
do objeto StopTimeUpdate
. É necessário informar stop_sequence
, e o stop_id
precisa ser substituído por parent_station
ou compartilhar uma parent_station
com o novo stop_id
.
Exemplo de código:
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
}
}
}
Como os usuários recebem informações da plataforma:
Use um valor SKIPPED
para o schedule_relationship
no objeto StopTimeUpdate
.
- Se a parada afetada for um ponto de embarque ou desembarque na consulta do usuário, essa viagem será removida dos resultados da pesquisa.
- Se ela estiver no meio de uma viagem e não for usada para embarque ou desembarque, a viagem não será removida dos resultados da pesquisa.
Exemplo de código:
trip_update {
trip {
trip_id: xxx
start_time: 12:34:56
}
stop_time_update {
stop_sequence: 0
schedule_relationship: SKIPPED
}
}