Sequência de paragens da viagem

Verifica a ordem de `stop_sequence`, a progressão de `shape_dist_traveled` e paragens consecutivas repetidas.

Propriedades da regra

PropriedadeValor
Rule IDtrips_stop_sequence_increasing_by_one_along_trip
Ficheirostrips.txt, stop_times.txt
Camposstop_sequence, shape_dist_traveled, stop_id
TipoNúmero inteiro não negativo, Número decimal, Identificador
SeveridadeObrigatório

Descrição dos campos:

  • stop_sequence: define a ordem das paragens ou localizações na viagem.
  • shape_dist_traveled: indica a distância acumulada ao longo da forma.
  • stop_id: identifica a paragem servida em cada posição.

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

Como funciona

As posições têm de ser números inteiros estritamente crescentes. As distâncias preenchidas não podem diminuir e duas posições seguidas não podem usar o mesmo stop_id. Apesar do nome da regra, os valores não têm de crescer de um em um.

A regra avalia cada grupo de linhas de stop_times.txt com o mesmo trip_id, seguindo os passos abaixo por ordem, até um deles dar o resultado.

#PerguntaSe simSe não
1A configuração da regra desativa a validação?✅ PassaSegue para o passo 2
2A viagem tem trip_id?Segue para o passo 3✅ Passa; a ausência é tratada por outra regra
3Existem linhas de stop_times.txt para a viagem?Segue para o passo 4✅ Passa
4Todos os valores de stop_sequence são números inteiros?Segue para o passo 5❌ Reporta o problema: sequência inválida
5Todos os valores preenchidos de shape_dist_traveled são números?Segue para o passo 6❌ Reporta o problema: distância inválida
6Após remover linhas exatamente repetidas e ordenar, stop_sequence cresce estritamente?Segue para o passo 7❌ Reporta o problema: sequência não crescente
7Entre duas linhas com distância preenchida, shape_dist_traveled não diminui?Segue para o passo 8❌ Reporta o problema: distância decrescente
8Duas posições consecutivas usam o mesmo stop_id não vazio?❌ Reporta o problema: paragem consecutiva repetida✅ Passa

Como se relacionam

trip_id liga a viagem de trips.txt às linhas de stop_times.txt. A ordem resulta de stop_sequence; nessa ordem, a regra compara a distância e os identificadores das paragens.

Exemplos

stop_sequenceshape_dist_traveledstop_idResultadoPorquê
1, 23, 400, 5, 10A, B, C✅ PassaOrdem e distância crescentes
1, X, 30, 5, 10A, B, C❌ ProblemaSequência não numérica
1, 2, 20, 5, 10A, B, C❌ ProblemaSequência repetida
1, 2, 30, 10, 5A, B, C❌ ProblemaDistância diminui
1, 2, 30, 5, 10A, B, B❌ ProblemaParagem consecutiva repetida

Como corrigir

ProblemaCausa provávelO que fazer
Sequência inválidastop_sequence não é um número inteiroCorrigir stop_sequence nas linhas da viagem em stop_times.txt
Distância inválidashape_dist_traveled não é um númeroCorrigir shape_dist_traveled nas linhas da viagem em stop_times.txt
Sequência não crescenteUm valor de stop_sequence é igual ou inferior ao anteriorReordenar ou corrigir stop_sequence em stop_times.txt
Distância decrescenteshape_dist_traveled diminui ao longo da sequênciaCorrigir shape_dist_traveled em stop_times.txt
Paragem consecutiva repetidaDuas posições seguidas usam o mesmo stop_idCorrigir ou remover uma das linhas consecutivas de stop_times.txt

On this page