Sequência única por padrão
Verifica se todas as viagens do mesmo `pattern_id` têm a mesma assinatura de paragens.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | trips_pattern_id_single_trip_signature_per_pattern |
| Ficheiros | trips.txt, stop_times.txt |
| Campos | pattern_id, stop_id, shape_dist_traveled, stop_sequence |
| Tipo | Identificador, Identificador, Número decimal, Número inteiro |
| Severidade | Condicional |
Descrição dos campos:
pattern_id: identifica o padrão que agrupa as viagens.stop_id: identifica cada paragem da viagem.shape_dist_traveled: indica a distância acumulada até à paragem.stop_sequence: indica a posição da paragem.
Mais informação em trips.txt e stop_times.txt.
Como funciona
Todas as viagens do mesmo padrão têm de produzir a mesma sequência de paragens, distâncias e posições. A comparação usa uma assinatura dos três valores em cada posição. Não compara horas de chegada ou partida.
A regra avalia cada grupo de viagens com o mesmo pattern_id, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O grupo contém mais de uma assinatura distinta? | Segue para o passo 2 | ✅ Passa |
| 2 | A configuração da regra desativa a validação? | ✅ Passa | ❌ Reporta o problema na primeira viagem do padrão |
Como se relacionam
pattern_id agrupa as viagens. Para cada viagem, stop_id, shape_dist_traveled e stop_sequence de stop_times.txt formam a assinatura comparada.
Exemplos
| Viagem A | Viagem B | Resultado | Porquê |
|---|---|---|---|
A-0-1, B-5-2 | A-0-1, B-5-2 | ✅ Passa | Assinaturas iguais |
A-0-1, B-5-2 | A-0-1, C-5-2 | ❌ Problema | Paragem diferente |
A-0-1, B-5-2 | A-0-1, B-6-2 | ❌ Problema | Distância diferente |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Variações no mesmo padrão | As viagens com o mesmo pattern_id têm sequências, distâncias ou paragens diferentes | Corrigir pattern_id em trips.txt ou alinhar stop_id, shape_dist_traveled e stop_sequence em stop_times.txt |