Atualizações de viagem

As atualizações de viagem representam flutuações na tabela de horário. Esperamos receber atualizações em tempo real para todas as viagens programadas. Essas atualizações fornecem uma previsão para os horários de partida e de chegada nas paradas ao longo do trajeto. As atualizações de viagem também fornecem cenários mais complexos quando as viagens são canceladas ou adicionadas à programação ou até mesmo redirecionadas.

Lembrete: na GTFS, uma viagem é uma sequência de uma ou mais paradas que ocorrem em um horário específico.

Deve haver, no máximo, uma atualização para cada viagem programada. Caso não haja nenhuma atualização para uma viagem programada, conclui-se que não há dados em tempo real disponíveis para a viagem. O consumidor de dados não deve assumir que a viagem está sendo realizada dentro do horário.

Atualizações dos horários de parada

Uma atualização de viagem consiste em uma ou mais atualizações nos horários de parada do veículo, chamadas de StopTimeUpdates. Essas atualizações podem ser fornecidas para horários de parada passados e futuros. Você pode, mas não é obrigado a, ignorar horários de parada passados. Quando fizer isso, lembre-se de que você não deve ignorar uma atualização passada se ela se refere a uma viagem que ainda não deveria ter terminado (isto é, que tenha terminado antes do horário), uma vez que essa viagem poderá ser interpretada como uma viagem sem atualizações.

Cada StopTimeUpdate está vinculada a uma parada. De um modo geral, isso pode ser feito utilizando-se stop_sequence ou stop_id da GTFS. No entanto, caso você esteja fornecendo uma atualização para uma viagem sem trip_id da GTFS, deve especificar stop_id, uma vez que stop_sequence não possui nenhum valor. stop_id deve ainda fazer referência a um stop_id na GTFS.

A atualização pode fornecer um horário exato para a chegada e/ou a partida em uma parada em StopTimeUpdate usando StopTimeEvent. Ela deve fornecer um horário ou um atraso absoluto (isto é, um deslocamento, em segundos, em relação ao horário programado). O atraso pode ser usado caso a atualização da viagem se refira a uma viagem GTFS programada, em contra-partida a uma viagem baseada em frequência. Nesse caso, o horário deve ser igual ao horário programado + atraso. Você também pode especificar indefinição em relação à previsão, juntamente com StopTimeEvent, que é discutido com mais detalhes na seção Indefinição, mais adiante nesta página.

Para cada StopTimeUpdate, a relação do horário padrão é programada. Observe que isso é diferente da relação de programação para a viagem. Você pode alterar uma parada para ignorada, se ela não for feita, ou para sem dados se você tiver dados em tempo real apenas para uma parte da viagem.

As atualizações devem ser classificadas por stop_sequence (ou stop_ids, na ordem em que ocorrem na viagem).

Se faltarem uma ou mais paradas ao longo da viagem, a atualização é propagada para todas as paradas subsequentes. Isso significa que a atualização do horário de uma parada específica alterará todas as paradas subsequentes, na falta de outras informações.

Exemplo 1

Para uma viagem com 20 paradas, uma StopTimeUpdate com atrasos na chegada e na partida iguais a 0 (StopTimeEvents) para stop_sequence da parada atual significa que a viagem está exatamente no horário.

Exemplo 2

Para o mesmo caso de viagem, são fornecidas três StopTimeUpdates:

  • atraso de 300 segundos para a stop_sequence 3
  • atraso de 60 segundos para a stop_sequence 8
  • atraso de duração não especificada para a stop_sequence 10

Isso será interpretado como:

  • as stop_sequences 3,4,5,6 e7 têm atraso de 300 segundos.
  • as stop_sequences 8 e 9 têm atraso de 60 segundos.
  • as stop_sequences de 10 a 20 têm atraso desconhecido.

Descritor de viagem

As informações fornecidas pelo descritor de viagem dependem da relação de programação da viagem que você está atualizando. Há várias opções para você definir:

Programada Esta viagem está sendo feita de acordo com uma programação GTFS ou está bem perto de ser associada a ela.
Adicionada Esta viagem não foi programada e foi adicionada. Por exemplo, para atender à demanda ou substituir um veículo quebrado.
Desprogramada Esta viagem está sendo feita e não está associada a uma programação. Por exemplo, quando não há uma programação, e os ônibus rodam em um serviço de translado.
Cancelada Esta viagem foi programada, mas foi removida.
Substituição Esta viagem substitui uma parte da programação estática.

Se o seletor de viagem identifica uma viagem específica, apenas esse caso é substituído. Se o seletor especifica um trajeto, todas as viagens desse trajeto são substituídas. A substituição só se aplica à parte da viagem fornecida. Por exemplo, considere um trajeto que passe por A,B,C,D,E e F e uma viagem de substituição que pare em A,B e C. Então, os horários de parada em D,E e F ainda são considerados na programação estática.

Um feed pode fornecer várias viagens de substituição. Nesse caso, a parte da programação estática que é substituída é aquela definida por todas as viagens. Normalmente, todas as viagens de substituição devem corresponder ao mesmo trajeto ou a viagens individuais.




Na maioria dos casos, você deve fornecer o trip_id oda viagem programada em GTFS a que essa atualização está relacionada. Caso você não consiga vincular essa atualização a uma viagem em GTFS, pode fornecer um route_id GTFS e um horário e uma data de partida para a viagem. Em geral, isso acontece para viagens adicionadas, desprogramadas ou para alguns tipos de viagem de substituição.

Indefinição

A indefinição refere-se ao horário e ao valor de atraso de uma StopTimeUpdate. A indefinição especifica o erro esperado no atraso real como um número inteiro, em segundos (observe que o significado estatístico preciso ainda não é definido). A indefinição pode ter um valor 0, por exemplo, para trens que são conduzidos sob o controle automatizado de horário.

Como um exemplo, um ônibus de longa distância que tenha um atraso estimado de 15 minutos chegando a sua próxima parada em um intervalo de erro de quatro minutos (isto é +2/-2 minutos) terá um valor de Indefinição de 240.