Nesta página, você encontra uma lista de erros e avisos de validação do feed estático de transporte público, bem como dicas para resolver esses problemas.
Erros de validação estática
Os erros de validação são problemas críticos que causam bloqueio e precisam ser corrigidos para que o Google processe corretamente seu feed.
Para depurar esses erros, use as informações da tabela a seguir.
- A coluna "Mensagem de erro" apresenta a mensagem que aparece no relatório de validação, no painel do parceiro do Google Transit, e resume o erro.
- A coluna "Arquivo relevante" apresenta os arquivos que você precisa abrir para resolver problemas.
- A coluna "Dicas de solução de problemas" apresenta as principais etapas para resolver o erro.
Mensagem de erro | Arquivo relevante | Dicas de solução de problemas |
---|---|---|
Agências com idiomas diferentes | agency.txt |
Na coluna agency_lang , verifique se todas as agências usam o mesmo valor agency_lang . |
Agências com fusos horários diferentes | agency.txt |
Na coluna agency_timezone , confira se todas as agências usam o mesmo valor agency_timezone . |
Incompatibilidade de idiomas da agência e do feed | agency.txt , feed_info.txt |
Verifique se os códigos de idiomas nas seguintes colunas dos dois arquivos são os mesmos:
|
O feed não tem um idioma especificado | agency.txt , feed_info.txt |
Verifique se as colunas a seguir mostram um código de idioma em um dos arquivos:
|
Coluna obrigatória faltando | Qualquer um | Adicione a coluna que está faltando ao arquivo de texto (.txt ) correspondente. |
Coluna descontinuada no attributions.txt |
attributions.txt |
Exclua a coluna descontinuada do attribution_text . |
O feed expirado tem um serviço muito curto | calendar.txt |
Confira se as colunas start_date e end_date no feed estão atualizadas e têm datas de início e término relevantes. |
Regra de tarifa com as duas referências de ID do trajeto | fare_rules.txt |
Analise as colunas route_id e contains_id . É possível definir as regras de tarifa usando route_id ou contains_id . Portanto, não é necessário preencher valores nas duas colunas. |
Mais de uma entrada de informações sobre o feed | feed_info.txt |
Verifique se há apenas uma entrada no arquivo feed_info.txt . |
Conflito de viagens com base em frequência | frequencies.txt |
Analise as colunas trip_id , start_time e end_time . Confira se as linhas com o mesmo valor trip_id não têm conflitos de intervalos start_time e end_time . |
Baldeação de viagens com base em frequência | frequencies.txt , transfers.txt |
Verifique se as colunas from_stop_id e to_stop_id no arquivo transfers.txt não usam como referência nenhuma viagem com uma entrada de exact_times=0 no arquivo frequencies.txt . |
Coluna obrigatória faltando para os caminhos | pathways.txt |
Confira se o arquivo pathways.txt inclui as colunas pathway_mode e is_bidirectional . |
Valor obrigatório faltando para os caminhos | pathways.txt |
Verifique se as colunas pathway_mode e is_bidirectional têm valores válidos. |
Obrigatório inserir o nome curto ou longo do trajeto | routes.txt |
Analise as colunas route_short_name e route_long_name . Confira se os trajetos incluem um valor em pelo menos uma dessas colunas. |
Muitas entradas | routes.txt , stops.txt |
Verifique se as entradas no routes.txt e no stops.txt contêm informações precisas que refletem um sistema de transporte público real. |
Forma com valores parciais de distância percorrida ao longo da forma | shapes.txt |
Analise a coluna shape_dist_traveled . Se houver valores shape_dist_traveled definidos, configure esse valor para todos os pontos de forma. Caso contrário, deixe esses valores vazios. |
O local da parada está muito próximo da origem (0,0) | shapes.txt , stops.txt |
Verifique se as colunas a seguir têm valores precisos de latitude e longitude, em vez de (
|
O local do ponto está muito próximo do Polo Norte/Sul | shapes.txt , stops.txt |
Confira se as seguintes colunas têm valores precisos de latitude e longitude, em vez de (
|
Horários de parada com chegada antes do horário de partida anterior | stop_times.txt |
Analise as colunas stop_sequence , arrival_time e departure_time . Verifique se cada valor departure_time de uma entrada anterior não é posterior ao valor arrival_time de uma entrada seguinte. |
Horários de parada apenas com horário de chegada ou partida especificado | stop_times.txt |
Especifique os valores das colunas arrival_time e departure_time . |
O horário de partida da viagem é muito longo | stop_times.txt |
Classifique a coluna stop_sequence em ordem crescente. Para verificar a viagem, use a coluna trip_id na primeira entrada. Confira se a coluna departure_time associada tem um valor razoável. |
A viagem é muito longa | stop_times.txt |
Verifique se as colunas departure_time e arrival_time têm valores razoáveis que refletem condições reais. |
Viagem com horário de chegada fora de ordem | stop_times.txt |
Analise as colunas arrival_time e stop_sequence . Pode haver um ou mais valores fora de ordem em relação à entrada anterior. Os valores arrival_time e stop_sequence sempre precisam ser maiores que o valor na entrada da viagem anterior. |
Viagem com horário de partida fora de ordem | stop_times.txt |
Analise as colunas departure_time e stop_sequence . Pode haver um ou mais valores fora de ordem em relação à entrada anterior. Os valores departure_time e stop_sequence sempre precisam ser maiores que o valor na entrada da viagem anterior. |
Viagem com distância percorrida ao longo da forma fora de ordem | stop_times.txt |
Analise a coluna shape_dist_traveled . Pode haver um ou mais valores fora de ordem em relação à entrada anterior de um valor trip_id específico. Os valores shape_dist_traveled sempre precisam ser maiores que o valor na entrada da viagem anterior. |
Local sem estação principal | stops.txt |
Analise a coluna location_type com os valores 2 (entrada), 3 (nó genérico) ou 4 (área de embarque). Verifique se cada um desses valores tem um valor associado na coluna parent_station . |
Estação principal com tipo de local incorreto | stops.txt |
Analise as colunas parent_station e location_type . Confira se as estações têm um valor location_type igual a 1 . |
Estação com estação principal | stops.txt |
Analise as colunas location_type e parent_station . Verifique se cada estação (location_type=1 ) não tem um valor parent_station . |
Parada com estação principal e fuso horário | stops.txt |
Analise as colunas parent_station e stop_timezone . Quando uma parada tem uma estação principal, ela herda o fuso horário dessa estação. Portanto, se houver um valor para parent_station , deixe stop_timezone vazio. |
Não foi possível encontrar paradas | stops.txt |
Verifique se o arquivo stops.txt está presente e tem uma ou mais linhas com valores válidos. |
Local com substituições de horário de parada | stops.txt , stop_times.txt |
Verifique se todas as colunas a seguir usam como referência locais que precisam ser paradas (
|
Local com horários de parada | stops.txt , stop_times.txt |
Verifique se todas as colunas a seguir usam como referência locais que precisam ser paradas (
|
Baldeação com viagem e trajeto inválidos | transfers.txt |
Analise as colunas from_route_id , to_route_id , from_trip_id e to_trip_id . Confira se cada entrada que usa um trajeto e uma viagem como referência tem a viagem que pertence ao trajeto especificado. |
Baldeações duplicadas | transfers.txt |
Verifique se cada coluna no arquivo transfers.txt não tem entradas duplicadas. |
Tempo mínimo de baldeação com tipo de baldeação inválido | transfers.txt |
Confira se os valores na coluna min_transfer_time têm transfer_type igual a 2 . Isso é importante porque somente esse tipo de baldeação requer um intervalo mínimo entre a chegada e a partida. |
Baldeação entre a parada e a estação | transfers.txt |
Analise as colunas from_stop_id e to_stop_id . Verifique se o arquivo transfers.txt não tem baldeações ambíguas de paradas para estações e vice-versa. Especificamente, se houver uma baldeação de uma primeira estação para uma parada que está em uma segunda estação, e outra baldeação de uma parada na primeira estação para a segunda. |
Valor inesperado de translação | translations.txt |
Verifique em todas as colunas se os campos que precisam estar vazios não têm valores. |
Viagens em blocos com horários de paradas conflitantes | trips.txt |
Analise a coluna block_id para saber se não há conflitos nos horários de parada.
Duas viagens no mesmo bloco não podem ter conflitos de horários de parada quando ambas estão ativas na mesma data de serviço. Especificamente, o último horário de partida de uma viagem em um bloco precisa ser menor ou igual ao primeiro horário de chegada da próxima viagem no bloco. |
Arquivo GTFS duplicado | O arquivo ZIP que contém todos os arquivos de texto (.txt ) |
Evite fazer o upload de arquivos ZIP duplicados para o painel do parceiro do Google Transit. Só faça o upload de um arquivo ZIP quando ele tiver novos dados. |
Não foi possível abrir a GTFS | O arquivo ZIP que contém todos os arquivos de texto (.txt ) |
Compacte todos os arquivos de texto diretamente em um arquivo ZIP e faça novamente o upload dele no painel do parceiro do Google Transit. |
Avisos de validação estática
Os avisos de validação são mensagens que indicam possíveis problemas no feed, então, é importante resolver essas questões. Caso contrário, os dados do feed podem aparecer incorretamente no Google Maps.
Para depurar o aviso, use as informações da tabela a seguir.
- A coluna "Mensagem de aviso" apresenta a mensagem que aparece no relatório de validação, no painel do parceiro do Google Transit. Ela resume o alerta.
- A coluna "Arquivo relevante" apresenta o arquivo que você precisa abrir para resolver problemas.
- A coluna "Dicas de solução de problemas" apresenta as principais etapas para resolver o aviso.
Mensagem de aviso | Arquivo relevante | Dicas de solução de problemas |
---|---|---|
O feed não tem um idioma especificado | agency.txt |
Adicione uma coluna agency_lang ao arquivo agency.txt . Como alternativa, inclua um arquivo feed_info.txt . |
Número de telefone inválido | agency.txt e attributions.txt |
Verifique se os valores nas colunas a seguir obedecem às convenções de nomenclatura para números de telefone:
|
Coluna desconhecida | Qualquer um | Abra o arquivo mencionado no aviso, verifique se há erros de digitação no nome da coluna ou exclua a coluna, se ela for redundante. |
Arquivo desconhecido | Qualquer um | Abra o arquivo mencionado no aviso, verifique se há erros de digitação no nome do arquivo ou exclua o arquivo redundante. |
Espaços em branco à esquerda ou à direita | Qualquer um | Analise as colunas afetadas e exclua todos os espaços em branco à esquerda ou à direita dos valores. |
Nome da coluna em branco | Qualquer um | Analise o arquivo afetado. Verifique se não há nomes de colunas vazios. |
Linha vazia | Qualquer um | Analise o arquivo afetado e confira se cada linha contém valores válidos. |
Valor inesperado de translação | Qualquer um | Analise o arquivo afetado. Verifique se as colunas que precisam estar vazias não têm mesmo um valor. |
URL inválido |
Qualquer um dos seguintes arquivos:
|
Procure valores de URL inválidos nas seguintes colunas:
|
Coluna descontinuada no attributions.txt |
attributions.txt |
Encontre e remova a coluna descontinuada. |
O feed não tem exceções de data na agenda | calendar_dates.txt |
Se o serviço ficar inativo em alguns dias, como feriados, envie as informações das datas. |
A agenda não tem dias da semana ativos | calendar.txt |
Analise as colunas monday a sunday para verificar se cada item da agenda tem pelo menos um dia da semana ativo. |
Expiração do feed | calendar.txt |
Verifique nos feeds se a coluna end_date inclui a data atual com datas próximas. |
O feed tem um serviço muito curto | calendar.txt |
Confira se as colunas start_date e end_date do feed têm pelo menos 14 dias de serviço. |
O ID de serviço da agenda não tem dias ativos | calendar.txt e calendar_dates.txt |
Verifique se os valores service_id para cada serviço têm pelo menos algumas datas de serviço ativas. |
O feed não tem datas de serviço | calendar.txt e calendar_dates.txt |
Confira se as seguintes colunas têm datas de serviço ativas:
|
Lacuna na data do serviço | calendar.txt e calendar_dates.txt |
Verifique se não há grandes lacunas nas datas de serviço nas colunas a seguir. Grandes lacunas indicam uma interrupção no serviço de transporte público:
|
Tarifas com e sem regras | fare_attributes.txt e fare_rules.txt |
Analise a coluna fare_id para verificar se todas as tarifas no arquivo fare_attributes.txt estão associadas a regras no arquivo fare_rules.txt . |
Várias tarifas sem regras | fare_attributes.txt e fare_rules.txt |
Analise a coluna fare_id para conferir se todas as tarifas no arquivo fare_attributes.txt estão associadas a regras no arquivo fare_rules.txt . |
Início antecipado nas informações do feed | feed_info.txt |
Analise a coluna feed_start_date para verificar se os serviços no feed em questão começam em um horário apropriado. |
Serviço futuro | feed_info.txt |
Analise a coluna |
Data das informações do feed faltando | feed_info.txt |
Analise as colunas feed_start_date e feed_start_end . Se uma coluna tiver um valor, insira um valor na outra. |
Frequência mais longa do que o intervalo | frequencies.txt |
Analise cada entrada no arquivo frequencies.txt para verificar se o valor headway_secs não é maior do que a diferença entre end_time e start_time . |
Frequência inconsistente de horários exatos | frequencies.txt |
Confira se os valores da coluna exact_times são iguais em todas as linhas com o mesmo trip_id . |
Baixa frequência | frequencies.txt |
Analise a coluna headway_secs para garantir que o valor não é maior que 1.800 segundos. Para aumentar a frequência, reduza esse período com base em condições reais. Você pode modelar a viagem com horários exatos (usando exact_times=1 no frequencies.txt ) ou as viagens individuais no trips.txt . |
Conflito de viagens com base em frequência | frequencies.txt |
Analise todas as linhas com o mesmo valor trip_id para verificar se não há conflitos de intervalos start_time e end_time . |
Muito frequente | frequencies.txt |
Confira se a frequência recomendada na coluna headway_secs é maior que um minuto, ou seja, o valor precisa ser maior que 60 . |
Caminhos recíprocos faltando | pathways.txt |
Verifique se a coluna is_bidirectional está presente e tem valores válidos. Confira se nenhuma entrada tem valores invertidos nas colunas from_stop_id e to_stop_id . |
Valor obrigatório faltando para os caminhos | pathways.txt |
Verifique se essas colunas não estão vazias e têm valores:
|
O caminho é circular | pathways.txt |
Analise as colunas from_stop e to_stop e verifique se elas têm valores diferentes em cada entrada. Isso define caminhos úteis para os passageiros. |
Contraste de cores do trajeto | routes.txt |
Verifique se as colunas route_text_color e route_color usam cores contrastantes, já que elas geralmente são utilizadas como cores de texto e plano de fundo para mostrar nomes de trajetos. Saiba mais sobre as proporções acessíveis de contraste de cores (4.5:1 para texto). |
O nome do trajeto tem caracteres especiais | routes.txt |
Analise as colunas route_long_name e route_short_name .
Remova ou substitua todos os caracteres especiais, como ! $ % \ * = _ . |
Nome do trajeto reutilizado | routes.txt |
Analise as colunas |
O nome curto é igual ao nome longo do trajeto | routes.txt |
Analise as colunas |
O nome curto está contido no nome longo do trajeto | routes.txt |
Verifique se não há conflitos de valores nas colunas route_short_name ou route_long_name . |
O nome curto do trajeto é muito longo | routes.txt |
Confira se os nomes curtos dos trajetos na coluna |
O nome longo do trajeto é curto | routes.txt |
Verifique se a coluna route_long_name contém valores significativos, e não nomes curtos. |
O nome do trajeto é igual à descrição | routes.txt |
Confira se as colunas route_short_name e route_long_name não contêm conflitos de valores da coluna route_desc . |
Viagens em blocos com tipos de trajetos inconsistentes | routes.txt e trips.txt |
Viagens com os mesmos valores block_id no arquivo trips.txt precisam ter valores route_type consistentes no arquivo routes.txt . |
shape_dist_traveled sem aumento ao longo de uma forma |
shapes.txt |
Confira se cada par de pontos seguintes na coluna shape_dist_traveled tem valores crescentes. |
A parada não corresponde ao valor shape_dist_traveled |
shapes.txt e stop_times.txt |
Verifique se as entradas de paradas no arquivo stop_times.txt não estão fora do local de parada, como definido pelos valores shape_dist_traveled no shapes.txt . |
Parada muito longe da forma | shapes.txt e stop_times.txt |
Analise as entradas de paradas no arquivo stop_times.txt e as entradas de formas no arquivo shapes.txt . As paradas não podem estar a mais de 100 metros do trajeto da viagem. |
As paradas correspondem à forma na ordem incorreta | shapes.txt e stop_times.txt |
Verifique se as entradas de paradas no arquivo stop_times.txt são consistentes com a ordem de chegada/partida, como definido pela forma no arquivo shapes.txt . |
A parada tem muitas correspondências para a forma | shapes.txt e stop_times.txt |
Analise a entrada da parada no stop_times.txt e reduza as possíveis correspondências com o caminho da viagem, como definido pela entrada da forma no shapes.txt . |
Viagem com valores de distância percorrida ao longo da forma, mas nenhum para a forma | shapes.txt e stop_times.txt |
Analise a coluna shape_dist_traveled no arquivo stop_times.txt . Especifique os valores shape_dist_traveled no arquivo shapes.txt para a forma associada à viagem. |
Viagem com valores de distância percorrida ao longo da forma, mas sem forma | shapes.txt e stop_times.txt |
Analise a coluna shape_dist_traveled no stop_times.txt e a coluna shape_id no trips.txt . Verifique se a viagem tem valores shape_dist_traveled , além de valores shape_id correspondentes. |
Forma não utilizada | shapes.txt e trips.txt |
Analise a coluna shape_id no shapes.txt e no trips.txt . Verifique se o arquivo trips.txt usa como referência cada valor shape_id do shapes.txt . |
Viagem rápida entre paradas distantes | stop_times.txt |
Analise as colunas arrival_time e departure_time no arquivo stop_times.txt . Verifique se a velocidade média do transporte público está dentro do intervalo apropriado e calcule o tempo até as paradas distantes. |
Viagem rápida entre as paradas | stop_times.txt |
Analise as colunas arrival_time e departure_time no arquivo stop_times.txt . Verifique se a velocidade média do transporte público está dentro do intervalo apropriado e calcule o tempo. |
O letreiro contém caracteres especiais | stop_times.txt |
Analise a coluna stop_headsign . Remova ou substitua todos os caracteres especiais, como ! $ % \ * = _ . |
Horários de parada com um intervalo longo de chegada | stop_times.txt |
Analise a coluna arrival_time . Verifique se duas paradas consecutivas que pertencem à mesma viagem têm horários de chegada com diferença de até 24 horas. |
Horários de paradas com intervalos longos entre partida e chegada | stop_times.txt |
Analise as colunas departure_time e arrival_time . Confira se o intervalo entre a partida e a próxima chegada possível é de, no máximo, 24 horas. |
Estimativa do primeiro horário de partida da viagem | stop_times.txt |
Verifique se o primeiro horário de partida da viagem na coluna departure_time não é superior a 36 horas. |
Muitos horários de paradas consecutivos com o mesmo horário | stop_times.txt |
Analise as colunas departure_time e arrival_time . Confira se as paradas consecutivas que estão distantes umas das outras não têm os mesmos horários de chegada e partida. |
Viagem com valores parciais de distância percorrida ao longo da forma | stop_times.txt |
Analise a coluna shape_dist_traveled . Inclua valores de distância para todas as paradas ou para nenhuma delas. |
Horário de parada programado sem horário especificado | stop_times.txt |
Verifique se as colunas arrival_time e departure_time têm horários programados válidos. |
Viagem sem embarque ou desembarque | stop_times.txt |
Confira se as colunas pickup_type e drop_off_type têm valores válidos ou faça a remoção delas se não tiverem valores. |
Viagem inutilizável | stop_times.txt e trips.txt |
Analise a coluna trip_id no trips.txt e no stop_times.txt . Verifique se cada valor trip_id tem pelo menos duas entradas no stop_times.txt . |
Viagem não utilizada | stop_times.txt e trips.txt |
Analise a coluna trip_id no trips.txt e no stop_times.txt . Confira se o arquivo stop_times.txt usa como referência cada valor trip_id do arquivo trips.txt . |
Local muito longe do principal | stops.txt |
Analise a coluna
|
O código da plataforma está faltando | stops.txt |
Analise as colunas stop_name e platform_code . Verifique se qualquer coluna stop_name que tem um código de plataforma apresenta um valor relacionado na coluna platform_code . |
Estação não utilizada | stops.txt |
Analise a coluna parent_station . Uma estação (location_type=1 ) precisa ter um grupo de paradas secundárias vinculadas a ela. |
Estações muito próximas | stops.txt |
Analise as colunas
|
O nome da parada tem caracteres especiais | stops.txt |
Analise a coluna stop_name . Remova ou substitua todos os caracteres especiais, como ! $ % \ * = _ . |
O nome da parada tem um código ou ID | stops.txt |
Verifique se a coluna stop_name não tem valores stop_code ou stop_id . |
Parada muito próxima da estação | stops.txt |
Verifique se a parada pertence à estação. Se for o caso, vincule a parada à estação na coluna parent_station . |
Paradas muito próximas | stops.txt |
Analise as colunas
|
Paradas com o mesmo nome e descrição | stops.txt |
Verifique se as colunas stop_name e stop_desc têm valores diferentes para cada parada. |
Plataforma sem estação principal | stops.txt |
Verifique se o campo parent_station contém valores válidos para plataformas que têm a coluna platform_code . |
Local inacessível em uma estação | stops.txt |
Analise a coluna location_type . Verifique se todas as plataformas (location_type=1 ) e nós genéricos (location_type=3 ) são acessíveis em pelo menos um sentido: da entrada ou para a saída. |
Nó genérico sem transferência | stops.txt |
Analise a coluna location_type . Um nó genérico (location_type=3 ) conecta os caminhos. Portanto, ele precisa ter dois ou mais locais de incidentes (definidos em from_stop_id e to_stop_id no pathways.txt ). |
Parada não utilizada | stops.txt e stop_times.txt |
Analise a coluna stop_id no stops.txt e no stop_times.txt . Cada parada precisa ser usada como referência por vários horários, descrevendo a programação dos veículos de transporte público que operam nessa parada. |
O tempo mínimo de baldeação é muito grande | transfers.txt |
Verifique se os valores na coluna min_transfer_time são razoáveis, ou seja, não muito maiores do que o tempo de baldeação real de um passageiro a pé. |
A distância da baldeação é muito grande | transfers.txt |
Analise as colunas from_stop_id e to_stop_id . Confira se a distância entre duas paradas de baldeação é razoável, ou seja, não é muito maior do que a que um passageiro percorre. |
A velocidade do percurso a pé até a baldeação é muito rápida | transfers.txt |
Verifique se os valores na coluna min_transfer_time são razoáveis, ou seja, não muito menores do que o tempo de baldeação real de um passageiro a pé. |
Formato de translação não oficial detectado | translations.txt |
Verifique se a coluna table_name está presente e tem valores válidos. |
O letreiro de itinerário da viagem apresenta o nome longo do trajeto | trips.txt |
Analise as colunas trip_headsign e route_long_name . Como ambas aparecem no Google Maps, verifique se a coluna trip_headsign não tem os valores route_long_name . |
O letreiro de itinerário da viagem apresenta o nome curto do trajeto | trips.txt |
Analise as colunas trip_headsign e route_short_name . Como ambas aparecem no Google Maps, verifique se a coluna trip_headsign não tem os valores route_short_name . |
O letreiro da viagem tem caracteres especiais | trips.txt |
Analise a coluna trip_headsign . Remova ou substitua todos os caracteres especiais, como ! $ % \ * = _ . |
Viagens duplicadas | trips.txt e possivelmente calendar.txt , calendar_dates.txt , stop_times.txt |
Nos arquivos a seguir, verifique se não há viagens duplicadas nos mesmos horários de paradas e nas mesmas datas de serviço ativas:
|
Viagens em blocos com horários de paradas conflitantes | trips.txt e possivelmente calendar.txt , calendar_dates.txt , stop_times.txt |
Nos arquivos a seguir, verifique se não há conflitos de horários de paradas nas mesmas datas de serviço ativas para a viagem:
|