1. Validação de entrada
Coordenadas ou valores de precisão inválidos, fixes anteriores ao início da medição, carimbos de data e hora duplicados e fixes com precisão horizontal relatada acima de 25 m são rejeitadas.
2. Verificação estacionária
O movimento é detectado quando pelo menos duas das três últimas velocidades excedem 1,2 m/s. Com pelo menos dez fixes, os centros das primeiras e das últimas cinco também são comparados. Limite: max(6 m; 1.5 × a_med).
3. Converta para metros
As coordenadas WGS84 são convertidas em coordenadas ECEF fixas na Terra e depois em um plano local leste-norte (ENU). As distâncias e os pesos podem, portanto, ser calculados corretamente em metros.
4. Centro inicial robusto
As medianas separadas de leste e norte formam a estimativa inicial. A distância radial rᵢ de cada fix GPS até esse centro é então calculada.
5. Detecte valores discrepantes
MapTools calcula MAD = median(|rᵢ − median(r)|). Limite atípico: max(3 m; median(r) + 3 × 1.4826 × MAD).
6. Peso por precisão
Para raio relatado aᵢ, wᵢ = 1 / max(aᵢ; 1 m)². A proporção entre o peso base mais forte e o mais fraco é limitada a 4:1.
7. Estimativa de Huber
O centro é atualizado cinco vezes. Dentro do limite o fator robusto é 1; fora ele se torna c / r. O limite é c = max(1.5 m; 1.5 × 1.4826 × MAD).
8. Retorne ao WGS84
O centro ENU ponderado é convertido novamente através do ECEF para latitude e longitude. As altitudes disponíveis utilizam a sua mediana; os valores de qualidade avaliam apenas a posição horizontal.