GTFS ScheduleRegras de Validação
Presença e coerência dos ficheiros do conjunto GTFS
gtfs_feed_file_presence_and_integrity_rule
O que esta validação faz
Agrupa controlos ao nível do feed inteiro (não linha a linha dentro de um .txt). Em sequência:
- Proibidos (regra): ficheiros marcados como proibidos na configuração; se a tabela correspondente existir no conjunto, regista-se erro.
- Avisos (regra): ficheiros marcados como “aviso se em falta”; se a tabela não existir, regista-se aviso.
- Obrigatórios: um conjunto mínimo fixo (
agency.txt,routes.txt,trips.txt,stop_times.txt) mais outros ficheiros obrigatórios vindos da regra, sem duplicados; se a tabela não existir, devolve um erro. stops.txtcondicional: se não existirlocations.txt(tabelalocations), é obrigatório existirstops.txt.- Calendário: tem de existir pelo menos um de
calendar.txtoucalendar_dates.txt; se faltarem ambos, devolve erro. levels.txtcom elevadores: se existirpathways.txte algum percurso tiver modo 5 (elevador), a tabelalevelstem de existir; caso contrário erro emlevels.txt.feed_info.txtcom traduções: setranslations.txttiver linhas,feed_info.txttambém tem de ter linhas; senão erro emfeed_info.txt.- Rede nas rotas vs ficheiros de rede: se alguma rota tiver
network_idpreenchido, não pode haver dados emnetworks.txtnem emroute_networks.txt(contagem de linhas > 0); se houver, erro no ficheiro correspondente.
Passa
- Nenhum ficheiro proibido pela regra está presente; os obrigatórios (fixos + regra) estão presentes;
stopsoulocationssatisfazem a condição; existe calendário ou exceções;levelsexiste quando há elevador empathways;feed_infoexiste quando hátranslations; e não há mistura proibida entrenetwork_idnas rotas e tabelasnetworks/route_networks.
Falha
- Falta um ficheiro obrigatório ou está presente um ficheiro proibido pela regra.
- Falta
stops.txtquando falta tambémlocations.txt. - Faltam ambos
calendar.txtecalendar_dates.txt. - Falta
levels.txtquandopathwaysinclui modo elevador (5). - Falta
feed_info.txtcom conteúdo quandotranslations.txttem linhas. - Uma rota usa
network_ide mesmo assim existem linhas emnetworks.txtouroute_networks.txt.
Avisos
- Ficheiro recomendado ausente — gera aviso mas ainda pode ser aprovado.