Destino do percurso
Verifica se to_stop_id referencia em stops.txt um local permitido como destino de um percurso.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | pathway_to_stop_id_references_stops_table |
| Ficheiros | pathways.txt, stops.txt |
| Campo | to_stop_id |
| Tipo | Identificador externo |
| Severidade | Obrigatório |
Descrição do campo: identifica o local onde o percurso termina. 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, to_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 o destino com from_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 | to_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 | Termina sem reportar outro problema nesta regra |
| 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 | Termina sem reportar outro problema nesta regra |
| 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
to_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
to_stop_id | Dados em stops.txt | Resultado | Porquê |
|---|---|---|---|
S2 | location_type=3 | ✅ Passa | Um nó genérico é permitido |
S9 | identificador inexistente | ❌ Problema | O local não existe |
S2 | location_type=1 | ❌ Problema | Uma estação não é permitida |
S2 | location_type=6 | ❌ Problema | O tipo de local não é permitido |
S2 | location_type=0, stop_access=1 | ❌ Problema | A plataforma proíbe percursos |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Local não encontrado | to_stop_id não existe em stops.txt | Corrigir to_stop_id em pathways.txt ou adicionar o local a stops.txt |
| Estação não permitida | O local referenciado tem location_type igual a 1 | Referenciar em to_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 to_stop_id em pathways.txt |
| Plataforma não permitida | A plataforma tem stop_access igual a 1 | Escolher outro to_stop_id em pathways.txt ou corrigir stop_access em stops.txt |
| Campo em falta | A configuração exige ou recomenda to_stop_id | Preencher to_stop_id em pathways.txt com um local existente |
| Campo preenchido quando não devia | A configuração proíbe to_stop_id | Remover to_stop_id de pathways.txt ou rever a configuração da regra |