Origem do percurso
Verifica se from_stop_id referencia em stops.txt um local permitido como origem de um percurso.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | pathway_from_stop_id_references_stops_table |
| Ficheiros | pathways.txt, stops.txt |
| Campo | from_stop_id |
| Tipo | Identificador externo |
| Severidade | Obrigatório |
Descrição do campo: identifica o local onde o percurso começa. Pode referenciar uma plataforma, entrada ou saída, nó genérico ou área de embarque.
Mais informação em pathways.txt e stops.txt.
Como funciona
Quando a regra passa, from_stop_id existe em stops.txt e referencia um tipo de local permitido. Uma plataforma com stop_access igual a 1 não é aceite. A regra não compara a origem com to_stop_id.
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 | from_stop_id 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 identificador existe em stops.txt? | Segue para o passo 4 | ❌ Reporta o problema: local não encontrado |
| 4 | location_type está vazio ou é um número inteiro? | Segue para o passo 5 | ❌ Reporta o problema: formato inválido |
| 5 | location_type é 1? | ❌ Reporta o problema: estação não permitida | Segue para o passo 6 |
| 6 | location_type é 0, 2, 3 ou 4? | Segue para o passo 7 | ❌ Reporta o problema: tipo de local não permitido |
| 7 | location_type é 0 ou está vazio? | Verifica stop_access | ✅ Passa |
| 8 | stop_access está vazio ou é um número inteiro? | Segue para o passo 9 | ❌ Reporta o problema: formato inválido |
| 9 | stop_access é 1? | ❌ Reporta o problema: plataforma não permitida | ✅ Passa |
Os identificadores são comparados exatamente como estão escritos. location_type e stop_access vazios são tratados como 0.
Como se relacionam
from_stop_id liga a linha de pathways.txt a uma linha de stops.txt. A regra usa location_type e, nas plataformas, stop_access dessa linha.
Exemplos
from_stop_id | Dados em stops.txt | Resultado | Porquê |
|---|---|---|---|
S1 | location_type=2 | ✅ Passa | Uma entrada ou saída é permitida |
S9 | identificador inexistente | ❌ Problema | O local não existe |
S1 | location_type=1 | ❌ Problema | Uma estação não é permitida |
S1 | location_type=0, stop_access=1 | ❌ Problema | A plataforma proíbe percursos |
S1 | location_type=texto | ❌ Problema | O tipo de local não é um inteiro |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Local não encontrado | from_stop_id não existe em stops.txt | Corrigir from_stop_id em pathways.txt ou adicionar o local a stops.txt |
Formato inválido de location_type | O local referenciado tem texto não numérico | Corrigir location_type do local em stops.txt |
| Estação não permitida | O local referenciado tem location_type igual a 1 | Referenciar em from_stop_id uma plataforma, entrada ou saída, nó genérico ou área de embarque |
| Tipo de local não permitido | location_type não é 0, 2, 3 nem 4 | Corrigir location_type em stops.txt ou escolher outro from_stop_id em pathways.txt |
Formato inválido de stop_access | A plataforma referenciada tem texto não numérico | Corrigir stop_access da plataforma em stops.txt |
| Plataforma não permitida | A plataforma tem stop_access igual a 1 | Escolher outro from_stop_id em pathways.txt ou corrigir stop_access em stops.txt |
| Campo em falta | A configuração exige ou recomenda from_stop_id | Preencher from_stop_id em pathways.txt com um local existente |
| Campo preenchido quando não devia | A configuração proíbe from_stop_id | Remover from_stop_id de pathways.txt ou rever a configuração da regra |