Distância por segmento

Verifica shape_id, shape_pt_sequence, shape_pt_lat, shape_pt_lon, shape_dist_traveled em shapes.txt.

Propriedades da regra

PropriedadeValor
Rule IDshapes_shape_dist_traveled_segment_valid
Ficheiroshapes.txt
Camposshape_id, shape_pt_sequence, shape_pt_lat, shape_pt_lon, shape_dist_traveled
TipoIdentificador, Inteiro não negativo, Latitude, Longitude, Número não negativo
SeveridadeObrigatório, Obrigatório, Obrigatório, Obrigatório, Opcional

Descrição dos campos:

  • shape_id: identifica o traçado.
  • shape_pt_sequence: ordem pela qual os pontos se ligam para formar o traçado. Os valores devem aumentar, mas não precisam de ser consecutivos.
  • shape_pt_lat: latitude do ponto que integra o traçado.
  • shape_pt_lon: longitude do ponto que integra o traçado.
  • shape_dist_traveled: distância percorrida desde o primeiro ponto até ao ponto desta linha. As unidades devem coincidir com as usadas em stop_times.txt.

Mais informação em shapes.txt.

Como funciona

A regra compara o aumento da distância acumulada com a distância geométrica entre pontos consecutivos. Não assinala diminuições da distância nem garante que todos os pares foram comparados.

A regra avalia cada grupo de pontos com o mesmo shape_id em shapes.txt, seguindo os passos abaixo por ordem.

#PerguntaSe simSe não
1A configuração desativa a regra?✅ Passa sem verificaçãoSegue para o passo 2
2Existe uma sequência ilegível, negativa ou repetida?Ignora o traçadoSegue para o passo 3
3As coordenadas e as duas distâncias do par são válidas, finitas e não negativas?Segue para o passo 4Ignora este par
4A distância acumulada diminui?Ignora este parSegue para o passo 5
5A diferença absoluta entre o aumento e a distância geométrica ultrapassa a tolerância?❌ Reprova: distâncias incompatíveis✅ Passa este par

A primeira opção define a tolerância em metros: 20 por predefinição; zero é aceite. Valores inválidos, negativos ou não finitos repõem 20. A segunda opção pode indicar m ou km, ignorando espaços exteriores e maiúsculas. Sem unidade reconhecida, o máximo válido do traçado inferior a 800 indica quilómetros; caso contrário, metros. Esta estimativa é ambígua em traçados curtos. Inclui o primeiro segmento desde zero e aumentos iguais a zero. Há uma margem numérica adicional de 0.000001 metros. Os campos não são aparados. Os exemplos usam unidade m e tolerância 20.

O resultado segue a configuração da regra: obrigatório reprova; recomendado passa com aviso; informativo passa com informação. O aviso antecipa uma futura exigência, mas só reprova quando a configuração passar a obrigatório. Salvo indicação contrária, os exemplos de reprovação pressupõem a configuração obrigatória.

Como se relacionam

O campo shape_id agrupa os pontos. O campo shape_pt_sequence define a ordem das comparações. As coordenadas definem os segmentos geométricos. O campo shape_dist_traveled fornece a distância acumulada em cada ponto.

Exemplos

shape_idshape_pt_sequenceshape_pt_latshape_pt_lonshape_dist_traveledResultadoPorquê
A0, 100, 00, 0.0010, 111.2✅ PassaAumento próximo de 111 metros
A0, 100, 00, 0.0010, 0❌ ReprovaAumento zero com deslocação
A0, 100, 00, 0.0010, 300❌ ReprovaDiferença superior a 20 metros

Como corrigir

ProblemaCausa provávelO que fazer
Distâncias incompatíveisA distância acumulada, as coordenadas ou a unidade não coincidemRecalcular shape_dist_traveled em shapes.txt após conferir shape_pt_lat, shape_pt_lon e shape_pt_sequence; confirmar a unidade na configuração da regra.

On this page