Sequência única por padrão
A regra compara as sequências validadas das viagens do mesmo padrão.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | trips_pattern_single_signature |
| Ficheiros | trips.txt, stop_times.txt |
| Campos | pattern_id, trip_id, stop_id, stop_sequence, shape_dist_traveled |
| Tipo | Identificador, Identificador único, Identificador de referência, Número inteiro, Número decimal |
| Severidade | Obrigatório |
Descrição dos campos:
pattern_id: identifica o padrão a que a viagem pertence.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 compara as sequências validadas das viagens do mesmo padrão. Não compara horários, destinos ou linhas.
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 | A configuração da regra ignora esta verificação ou marca-a como proibida? | ✅ Passa | Continua |
| 2 | O padrão está vazio? | ✅ Passa | Reúne as viagens do padrão |
| 3 | As sequências validadas têm mais de uma assinatura distinta? | Assinala sequências diferentes | ✅ Passa |
A assinatura é um resumo calculado por trips_stop_sequence. Inclui cada identificador de paragem, distância e número de ordem, depois da ordenação numérica. A comparação normaliza números, mas preserva o texto dos identificadores. Uma distância vazia usa internamente o mesmo valor que -1. Uma viagem sem assinatura usa um valor vazio: todas sem assinatura passam, mas misturar uma assinatura disponível com outra ausente pode gerar uma mensagem. Configure as dependências para validar primeiro as sequências.
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
pattern_id reúne viagens. trip_id liga cada viagem às paragens em stop_times.txt, onde a sequência é calculada.
Exemplos
| pattern_id | trip_id | stop_id | stop_sequence | shape_dist_traveled | Resultado | Porquê |
|---|---|---|---|---|---|---|
P1 | T1, T2 | A,B / A,B | 1,2 / 1,2 | 0,1000 / 0,1000 | ✅ Passa | Sequências iguais |
P1 | T1, T2 | A,B / A,C | 1,2 / 1,2 | 0,1000 / 0,1000 | ❌ Reprova | Paragens diferentes |
P1 | T1, T2 | A,B / A,B | 1,2 / 1,2 | 0,1000 / 0,1100 | ❌ Reprova | Distâncias diferentes |
P1 | T1, T2 | A,B / A,B | 1,2 / 1,3 | 0,1000 / 0,1000 | ❌ Reprova | Números de ordem diferentes |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Sequências diferentes | As viagens do padrão têm assinaturas distintas | Alinhar stop_id, stop_sequence e shape_dist_traveled em stop_times.txt ou corrigir pattern_id em trips.txt. |