Proibição condicional da zona de serviço

Verifica se location_id está preenchido em simultâneo com stop_id ou location_group_id na mesma linha de stop_times.txt.

Propriedades da regra

PropriedadeValor
Rule IDstop_times_location_id_forbidden
Ficheirostop_times.txt
Camposlocation_id, stop_id, location_group_id
TipoIdentificadores de referência
SeveridadeCondicional (location_id é proibido quando stop_id ou location_group_id está preenchido)

Descrição dos campos:

  • location_id: identifica uma zona onde os passageiros podem solicitar entrada ou saída. O identificador refere-se a id em locations.geojson.
  • stop_id: identifica a paragem servida nesta linha da viagem.
  • location_group_id: identifica um grupo de paragens onde os passageiros podem solicitar entrada ou saída. O identificador refere-se a location_groups.location_group_id.

Mais informação em stop_times.txt.

Como funciona

Quando a regra está ativa, location_id só pode estar preenchido se stop_id e location_group_id estiverem vazios na mesma linha. A regra não exige que exista algum identificador preenchido nem confirma que os identificadores existem nos ficheiros de referência. Se location_id estiver vazio, esta regra não verifica conflitos entre os outros dois campos.

A regra avalia cada linha do stop_times.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.

#PerguntaSe simSe não
1O campo location_id está vazio ou não existe?✅ PassaSegue para o passo 2
2stop_id ou location_group_id está preenchido na mesma linha?❌ Reporta o problema✅ Passa

Os espaços no início e no fim não são removidos. Um valor composto apenas por espaços conta como preenchido, tal como 0. A configuração da regra determina a severidade do problema. Se a configuração da regra indicar que deve ser ignorada, não é reportado nenhum problema.

Como se relacionam

location_id, stop_id e location_group_id representam formas diferentes de identificar o local de entrada ou saída. Quando location_id está preenchido, os outros dois campos têm de ficar vazios nessa linha de stop_times.txt. Os valores não precisam de ser iguais para existir um conflito. A regra não compara valores de linhas diferentes.

Exemplos

location_idstop_idlocation_group_idResultadoPorquê
L1VazioVazio✅ PassaSem identificadores incompatíveis
L1S1Vazio❌ ProblemaTambém existe stop_id
L1VazioX❌ ProblemaTambém existe location_group_id
L1S1X❌ ProblemaOs três campos estão preenchidos

Como corrigir

ProblemaCausa provávelO que fazer
location_id preenchido quando é proibidoA mesma linha identifica simultaneamente locais de serviço incompatíveisRemover location_id de stop_times.txt se o serviço usar stop_id ou location_group_id. Se o serviço usar location_id, limpar stop_id e location_group_id nessa linha.

On this page