Proibição condicional do grupo de paragens

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

Propriedades da regra

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

Descrição dos campos:

  • 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.
  • stop_id: identifica a paragem servida nesta linha da viagem.
  • location_id: identifica uma zona onde os passageiros podem solicitar entrada ou saída. O identificador refere-se a id em locations.geojson.

Mais informação em stop_times.txt.

Como funciona

Quando a regra está ativa, location_group_id só pode estar preenchido se stop_id e location_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_group_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_group_id está vazio ou não existe?✅ PassaSegue para o passo 2
2stop_id ou location_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_group_id, stop_id e location_id representam formas diferentes de identificar o local de entrada ou saída. Quando location_group_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_group_idstop_idlocation_idResultadoPorquê
L1VazioVazio✅ PassaSem identificadores incompatíveis
L1S1Vazio❌ ProblemaTambém existe stop_id
L1VazioX❌ ProblemaTambém existe location_id
L1S1X❌ ProblemaOs três campos estão preenchidos

Como corrigir

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

On this page