Distância acumulada ao longo de um troço

Verifica se a distância acumulada de um troço corresponde à soma das distâncias geográficas dos seus segmentos, dentro da tolerância configurada.

Propriedades da regra

PropriedadeValor
Rule IDshape_dist_traveled_delta_mismatches_haversine_block
Ficheiroshapes.txt
Camposhape_dist_traveled
TipoNúmero não negativo
SeveridadeObrigatório

Descrição do campo: distância percorrida ao longo do traçado, desde o primeiro ponto até ao ponto desta linha. Permite aos planeadores de viagens apresentar a parte correta do traçado no mapa. Os valores devem aumentar com shape_pt_sequence e usar a mesma unidade que as distâncias de stop_times.txt. O campo ajuda a distinguir passagens por locais onde o percurso se cruza ou repete.

Mais informação em shapes.txt.

Como funciona

Nos troços avaliados, a distância acumulada final deve corresponder à soma das distâncias geográficas dos segmentos, dentro da tolerância configurada. Esta regra deteta pequenos desvios que se acumulam ao longo do troço. Não confirma o percurso real do veículo pelas ruas nem substitui as verificações dos campos e dos segmentos individuais.

A tolerância depende do valor configurado no GO. Os valores numéricos apresentados nos exemplos são ilustrativos e não constituem limites fixos. Embora exista um valor predefinido, a validação utiliza a tolerância válida indicada na configuração.

A primeira opção define a tolerância em metros e aceita zero. Se a opção faltar, não representar um número ou for negativa, o validador utiliza a tolerância predefinida. Esta regra infere a unidade de shape_dist_traveled a partir da maior distância acumulada do traçado e converte as distâncias para metros.

Um troço começa num ponto com shape_dist_traveled igual a zero. Termina no ponto anterior ao próximo zero ou no último ponto do traçado. Esta divisão serve apenas para esta verificação; não garante que reiniciar a distância seja aceite pelas restantes regras.

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
1O ponto tem shape_id preenchido, sequência e ambas as coordenadas?Inclui o ponto no grupo e segue para o passo 2Exclui o ponto desta avaliação
2Depois de ordenar por shape_pt_sequence, existe um ponto com distância acumulada igual a zero?Inicia um troço nesse ponto e segue para o passo 3Não inicia um troço
3O troço tem mais de um ponto?Segue para o passo 4Ignora o troço
4Falta a distância acumulada num dos pontos do segmento?Ignora o segmento e passa ao seguinteSegue para o passo 5
5A distância do ponto atual é zero ou o aumento convertido para metros é inferior a um milímetro?Ignora o segmento e passa ao seguinteSegue para o passo 6
6O desvio do segmento ultrapassa a tolerância configurada nesta regra?Não verifica o total deste troçoSoma a distância geográfica e repete a avaliação para o segmento seguinte
7A soma das distâncias geográficas dos segmentos avaliados é zero?Ignora o troçoSegue para o passo 8
8A diferença absoluta entre a soma geográfica e a distância acumulada final fica dentro da tolerância configurada?✅ Aceita o troço❌ Regista o problema na última linha do troço

A tolerância desta regra aplica-se tanto à comparação de cada segmento como à comparação do total. É independente da tolerância configurada na regra específica de segmentos. A configuração da regra também determina se os problemas são apresentados ou ignorados.

Exemplos

Apenas para estes exemplos, considere um troço com três segmentos e uma tolerância de 20 m. Os desvios indicados estão convertidos para metros e têm todos o mesmo sentido. A configuração em rules.json pode definir outra tolerância.

ValorResultadoPorquê
Distância acumulada igual à soma geográfica✅ PassaSem desvio acumulado
Mais 5 m registados em cada segmento✅ PassaDesvio total de 15 m, dentro da tolerância do exemplo
Mais 15 m registados em cada segmento❌ ProblemaCada segmento fica dentro da tolerância, mas o total acumula 45 m

Se a tolerância configurada fosse, por exemplo, 100 m, o desvio acumulado de 45 m também passaria.

Como corrigir

ProblemaCausa provávelO que fazer
A distância acumulada do troço difere da soma geográfica além da tolerância configuradaPequenos desvios acumulados, distâncias calculadas com outra geometria ou unidade mal interpretadaRever shape_dist_traveled, shape_pt_lat e shape_pt_lon ao longo do troço em shapes.txt. Corrigir os valores incorretos e confirmar a tolerância desta regra em rules.json.

On this page