Zona atravessada pela tarifa

Verifica se cada zona atravessada indicada em fare_rules.txt corresponde a um identificador de stops.txt.

/private/tmp/gtfs-levels-rule-docs.y3YjDR

Propriedades da regra

PropriedadeValor
Rule IDfare_rule_contains_id_references_zones_stops
Ficheirosfare_rules.txt, stops.txt
Campocontains_id
TipoIdentificador externo
SeveridadeOpcional

Descrição do campo: identifica uma zona que o passageiro atravessa ao usar uma classe tarifária. Alguns sistemas usam estas zonas para determinar a tarifa correta. Todas as zonas indicadas para a classe tarifária têm de fazer parte do itinerário.

Mais informação em fare_rules.txt e stops.txt.

Como funciona

Quando a regra passa, contains_id está vazio quando permitido ou coincide com um identificador indexado de stops.txt. A referência prevista é zone_id, mas a pesquisa atual também aceita valores presentes apenas em stop_id ou stop_code. A regra não verifica se o itinerário atravessa realmente a zona.

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

#PerguntaSe simSe não
1O campo está vazio?Verifica se a configuração da regra exige ou recomenda este campo. Se sim, reporta o problema. Se não, aceitaSegue para o passo 2
2A configuração da regra define que este campo não deve ser preenchido?❌ Reporta o problemaSegue para o passo 3
3O valor coincide com um identificador indexado de stops.txt?✅ Passa❌ Reporta o problema: zona inexistente

O valor é comparado tal como foi escrito. Os espaços e as maiúsculas não são normalizados. Uma linha com todos os campos vazios é ignorada antes desta regra.

Como se relacionam

No modelo GTFS, contains_id deve coincidir com um zone_id de stops.txt. A validação atual pesquisa em conjunto os valores de stop_id, zone_id e stop_code. Para exigir várias zonas, repete-se a classe tarifária numa linha por zona.

Exemplos

contains_id em fare_rules.txtIdentificadores em stops.txtResultadoPorquê
Z5zone_id = Z5✅ PassaZona existente
campo vaziozone_id = Z5✅ PassaCampo opcional
Z9zone_id = Z5❌ ProblemaIdentificador inexistente
S5apenas stop_id = S5✅ PassaA pesquisa atual junta os identificadores
Z5 quando o campo é proibidozone_id = Z5❌ ProblemaCampo preenchido indevidamente

Como corrigir

ProblemaCausa provávelO que fazer
Zona inexistenteO valor não corresponde a nenhum identificador indexado de stops.txtCorrigir contains_id em fare_rules.txt para um zone_id existente em stops.txt
Campo em faltaA configuração da regra exige ou recomenda este campoPreencher contains_id em fare_rules.txt com um zone_id existente em stops.txt
Campo preenchido quando não deviaA configuração da regra define que este campo não deve ter valorRemover o valor de contains_id em fare_rules.txt

On this page