Destino consistente por linha e sentido
Verifica se cada combinação de `route_id` e `direction_id` usa um único `trip_headsign`.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | trip_headsign_consistent_per_route_direction |
| Ficheiro | trips.txt |
| Campos | route_id, direction_id, trip_headsign |
| Tipo | Identificador, Enumeração, Texto |
| Severidade | Condicional |
Descrição dos campos:
route_id: identifica a linha que agrupa as viagens.direction_id: identifica o sentido0ou1.trip_headsign: texto apresentado como destino da viagem.
Mais informação em trips.txt.
Como funciona
Dentro de uma linha, cada sentido válido pode usar apenas um destino. Valores vazios de trip_headsign são ignorados. Sentidos vazios ou diferentes de 0 e 1 não entram na comparação por sentido. A regra não valida os valores individualmente.
A regra avalia cada grupo de viagens com o mesmo route_id, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O grupo tem viagens? | Segue para o passo 2 | ✅ Passa |
| 2 | Para o sentido 0, existe mais de um trip_headsign não vazio? | Se a regra estiver ativa, reporta o problema | Segue para o passo 3 |
| 3 | Para o sentido 1, existe mais de um trip_headsign não vazio? | Se a regra estiver ativa, reporta o problema | ✅ Passa |
Como se relacionam
route_id e direction_id formam o grupo comparado. Todas as viagens desse grupo têm de partilhar o mesmo trip_headsign.
Exemplos
route_id | direction_id | Destinos | Resultado | Porquê |
|---|---|---|---|---|
R1 | 0 | Terminal, Terminal | ✅ Passa | Um destino no sentido |
R1 | 0 | Terminal, Centro | ❌ Problema | Dois destinos no mesmo sentido |
R1 | 0 e 1 | Terminal e Centro | ✅ Passa | Um destino por sentido |
R1 | 2 | Terminal, Centro | ✅ Passa | Sentido inválido ignorado |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Destinos diferentes no mesmo sentido | Uma combinação de route_id e direction_id usa vários trip_headsign | Corrigir trip_headsign, route_id ou direction_id nas linhas afetadas de trips.txt |