Um padrão por forma
Verifica se cada `shape_id` está associado a um único `pattern_id`.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | trips_one_pattern_id_per_shape_id_group |
| Ficheiro | trips.txt |
| Campos | pattern_id, shape_id |
| Tipo | Identificador |
| Severidade | Condicional |
Descrição dos campos:
pattern_id: identifica o padrão da viagem.shape_id: identifica a forma geográfica da viagem.
Mais informação em trips.txt.
Como funciona
Todas as viagens que usam a mesma forma têm de pertencer a um único padrão. Valores vazios não contam como associações. A regra não verifica se os identificadores existem noutros dados.
A regra avalia cada grupo de viagens com o mesmo shape_id, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O grupo está vazio? | ✅ Passa | Segue para o passo 2 |
| 2 | Existe mais de um pattern_id não vazio para a forma? | Segue para o passo 3 | ✅ Passa |
| 3 | A associação já foi reportada pela regra de uma forma por padrão? | ✅ Passa sem repetir o problema | Segue para o passo 4 |
| 4 | A configuração da regra desativa a validação? | ✅ Passa | ❌ Reporta o problema |
Como se relacionam
pattern_id e shape_id devem formar uma associação de um para um. O validador avalia primeiro o lado do padrão para evitar reportar duas vezes a mesma associação incorreta.
Exemplos
shape_id | pattern_id no grupo | Resultado | Porquê |
|---|---|---|---|
S1 | P1, P1 | ✅ Passa | Um único padrão |
S1 | P1, P2 | ❌ Problema | Dois padrões distintos |
S1 | P1, vazio | ✅ Passa | O vazio é ignorado |
S1 | P1, P2, já reportado pelo lado de P1 | ✅ Passa | O problema não é duplicado |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Forma partilhada por vários padrões | Viagens com o mesmo shape_id usam vários pattern_id | Corrigir pattern_id ou shape_id nas linhas afetadas de trips.txt |