Sentido do percurso
Verifica se is_bidirectional vale 0 ou 1 e impede portas de saída bidirecionais.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | pathway_is_bidirectional_valid_gtfs_enum |
| Ficheiro | pathways.txt |
| Campos | is_bidirectional, pathway_mode |
| Tipo | Enumeração |
| Severidade | Obrigatório |
Descrição dos campos:
is_bidirectional: indica se o percurso pode ser usado apenas defrom_stop_idparato_stop_id(0) ou nos dois sentidos (1).pathway_mode: identifica o modo do percurso. O valor7representa uma porta de saída.
Mais informação em pathways.txt.
Como funciona
Quando a regra passa, is_bidirectional vale 0 ou 1 e uma porta de saída nunca é bidirecional. Uma lista configurada pode limitar os valores. A regra não verifica se existe um percurso inverso separado.
A regra avalia cada linha do pathways.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | is_bidirectional está vazio? | Verifica se a configuração exige ou recomenda o campo. Se sim, reporta o problema. Se não, aceita | Segue para o passo 2 |
| 2 | A configuração da regra proíbe o campo? | ❌ Reporta o problema | Segue para o passo 3 |
| 3 | O valor é 0 ou 1? | Segue para o passo 4 | ❌ Reporta o problema: valor inválido |
| 4 | O valor respeita a lista configurada, quando existe? | Segue para o passo 5 | ❌ Reporta o problema: valor não permitido |
| 5 | is_bidirectional é 1 e pathway_mode é 7? | ❌ Reporta o problema: porta de saída bidirecional | ✅ Passa |
Os valores têm de poder ser lidos como números inteiros. A regra só é avaliada depois de pathway_mode passar a respetiva validação.
Como se relacionam
Uma porta de saída, identificada por pathway_mode igual a 7, só pode funcionar no sentido de from_stop_id para to_stop_id.
Exemplos
is_bidirectional | pathway_mode | Resultado | Porquê |
|---|---|---|---|
1 | 1 | ✅ Passa | Uma passagem pedonal pode ser bidirecional |
2 | 1 | ❌ Problema | O valor não é 0 nem 1 |
1 (lista permitida = 0) | 1 | ❌ Problema | Não consta da lista permitida |
1 | 7 | ❌ Problema | Uma porta de saída não pode ser bidirecional |
| vazio | 1 | ❌ Problema | Falta um campo obrigatório |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Valor inválido | is_bidirectional não é 0 nem 1 | Corrigir is_bidirectional em pathways.txt para 0 ou 1 |
| Valor não permitido | O valor não consta da lista configurada | Usar em is_bidirectional um valor permitido ou rever a configuração da regra |
| Porta de saída bidirecional | pathway_mode é 7 e is_bidirectional é 1 | Alterar is_bidirectional para 0 em pathways.txt |
| Campo em falta | A configuração da regra exige ou recomenda is_bidirectional | Preencher is_bidirectional em pathways.txt |
| Campo preenchido quando não devia | A configuração da regra proíbe is_bidirectional | Remover is_bidirectional de pathways.txt ou rever a configuração da regra |