Operador associado à tarifa
Verifica se cada tarifa identifica um operador existente quando o conjunto GTFS contém vários operadores.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | fare_attributes_agency_id_references_agency_table |
| Ficheiros | fare_attributes.txt, agency.txt |
| Campo | agency_id |
| Tipo | Identificador externo |
| Severidade | Condicional (obrigatório quando existe mais do que um operador) |
Descrição do campo: identifica o operador relevante para a tarifa. É obrigatório quando o conjunto GTFS contém dados de vários operadores e recomendado nos restantes casos.
Mais informação em fare_attributes.txt e agency.txt.
Como funciona
Quando a regra passa, uma tarifa num conjunto com vários operadores identifica um operador existente em agency.txt. Com apenas um operador, o campo pode ficar vazio. A regra não verifica outras propriedades do operador.
A regra avalia cada linha do fare_attributes.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O campo está vazio? | Segue para o passo 2 | Segue para o passo 3 |
| 2 | Existem vários operadores e a configuração da regra exige ou recomenda o campo? | ❌ Reporta o problema: campo em falta | ✅ Passa |
| 3 | A configuração da regra define que este campo não deve ser preenchido? | ❌ Reporta o problema | Segue para o passo 4 |
| 4 | O agency_id existe em agency.txt? | ✅ Passa | ❌ Reporta o problema: operador inexistente |
O identificador é comparado tal como foi escrito. Os espaços e as maiúsculas não são normalizados.
Como se relacionam
O valor de agency_id em fare_attributes.txt tem de coincidir com um agency_id existente em agency.txt. Esta ligação identifica o operador responsável pela tarifa.
Exemplos
agency_id em fare_attributes.txt | agency_id em agency.txt | Resultado | Porquê |
|---|---|---|---|
A1 | A1, A2 | ✅ Passa | Operador existente |
| campo vazio | A1, A2 | ❌ Problema | Vários operadores |
| campo vazio | A1 | ✅ Passa | Um único operador |
A3 | A1, A2 | ❌ Problema | Operador inexistente |
A1 | A1, mas o campo é proibido | ❌ Problema | Campo preenchido indevidamente |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Operador inexistente | O identificador não corresponde a nenhuma linha de agency.txt | Corrigir agency_id em fare_attributes.txt ou adicionar o operador correspondente a agency.txt |
| Campo em falta | Existem vários operadores e a configuração da regra exige ou recomenda este campo | Preencher agency_id em fare_attributes.txt com um identificador existente em agency.txt |
| Campo preenchido quando não devia | A configuração da regra define que este campo não deve ter valor | Remover agency_id da linha de fare_attributes.txt |