Sequência de paragens da viagem

A regra verifica a ordem, as distâncias e as repetições consecutivas das paragens da viagem.

Propriedades da regra

PropriedadeValor
Rule IDtrips_stop_sequence
Ficheirostrips.txt, stop_times.txt
Campostrip_id, stop_id, stop_sequence, shape_dist_traveled
TipoIdentificador único, Identificador de referência, Número inteiro, Número decimal
SeveridadeObrigatório, Obrigatório, Obrigatório, Opcional

Descrição dos campos:

  • trip_id: identifica uma viagem.
  • stop_id: identifica a paragem servida pela viagem.
  • stop_sequence: indica a ordem da paragem na viagem.
  • shape_dist_traveled: indica a distância percorrida ao longo do traçado até à paragem.

Mais informação em trips.txt, stop_times.txt.

Como funciona

A regra verifica a ordem, as distâncias e as repetições consecutivas das paragens da viagem. Não exige um número mínimo de paragens nem verifica horários.

A regra avalia cada linha do trips.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.

#PerguntaSe simSe não
1A configuração da regra ignora esta verificação ou marca-a como proibida?✅ PassaContinua
2O identificador da viagem está vazio?✅ PassaReúne as paragens da viagem
3Alguma ordem não representa um inteiro ou alguma distância preenchida não representa um número?Assinala valor inválido e terminaOrdena as paragens pela ordem numérica
4Duas paragens consecutivas têm a mesma ordem?Assinala ordem repetida e terminaContinua
5As duas distâncias são não negativas e a atual é menor que a anterior?Assinala distância decrescente e terminaContinua
6Duas paragens consecutivas têm o mesmo identificador não vazio?Assinala paragem repetida e terminaContinua até ao fim; guarda a sequência validada

A ordem física das linhas não determina a sequência: a regra ordena pelos números de stop_sequence. Aceita intervalos e inteiros negativos. Distâncias vazias ou negativas não entram na comparação entre duas paragens. Distâncias iguais são aceites. Os identificadores das paragens não são aparados. Se houver vários valores numéricos inválidos, só é comunicada uma dessas mensagens. Nos restantes casos, a regra termina no primeiro problema da sequência ordenada. Uma viagem sem paragens não é rejeitada por esta regra. A mensagem identifica a linha de trips.txt.

O resultado depende da configuração da regra: obrigatório reprova; recomendado passa com aviso; informativo passa com informação. O aviso antecipa uma futura exigência, mas só reprova quando a configuração passar a obrigatório. Os exemplos de reprovação pressupõem configuração obrigatória. As condições de execução e as dependências configuradas têm de estar cumpridas.

Como se relacionam

trip_id liga a viagem às linhas de stop_times.txt. Dentro da viagem, stop_sequence ordena os valores de stop_id e shape_dist_traveled.

Exemplos

trip_idstop_idstop_sequenceshape_dist_traveledResultadoPorquê
T1A, B1, 200, 0✅ PassaIntervalo na ordem e distâncias iguais aceites
T1A, Bx, 20, 1000❌ ReprovaOrdem não numérica
T1A, B1, 10, 1000❌ ReprovaOrdem repetida
T1A, B1, 21000, 0❌ ReprovaDistância decrescente
T1A, A1, 20, 1000❌ ReprovaParagem consecutiva repetida

Como corrigir

ProblemaCausa provávelO que fazer
Ordem inválidaUma ordem não pode ser lida como inteiroCorrigir stop_sequence em stop_times.txt para um número inteiro.
Distância inválidaUma distância preenchida não pode ser lida como númeroCorrigir shape_dist_traveled em stop_times.txt para um número ou deixar vazio quando aplicável.
Ordem repetidaDuas linhas da viagem têm a mesma ordemAtribuir valores distintos de stop_sequence às paragens da viagem em stop_times.txt.
Distância decrescenteA distância diminui entre paragens consecutivasCorrigir shape_dist_traveled em stop_times.txt para não diminuir ao longo da viagem.
Paragem consecutiva repetidaDuas paragens consecutivas têm o mesmo identificadorCorrigir stop_id ou remover a repetição indevida em stop_times.txt.

On this page