1. Validation des entrées
Les coordonnées ou valeurs de précision invalides, les repères antérieurs au début de la mesure, les horodatages en double et les repères dont la précision horizontale signalée est supérieure à 25 m sont rejetés.
2. Contrôle stationnaire
Un mouvement est détecté lorsqu'au moins deux des trois dernières vitesses dépassent 1,2 m/s. Avec au moins dix correctifs, les centres du premier et des cinq derniers sont également comparés. Limite : max(6 m; 1.5 × a_med).
3. Convertir en mètres
Les coordonnées WGS84 sont converties en coordonnées ECEF fixées sur Terre, puis en un plan local est-nord (ENU). Les distances et les poids peuvent donc être calculés correctement en mètres.
4. Centre initial robuste
Les médianes distinctes de l’est et du nord constituent l’estimation initiale. La distance radiale rᵢ de chaque repère à ce centre est ensuite calculée.
5. Détecter les valeurs aberrantes
MapTools calcule MAD = median(|rᵢ − median(r)|). Limite aberrante : max(3 m; median(r) + 3 × 1.4826 × MAD).
6. Poids par précision
Pour le rayon signalé aᵢ, wᵢ = 1 / max(aᵢ; 1 m)². Le rapport entre le grammage le plus fort et le plus faible est plafonné à 4:1.
7. Estimation Huber
Le centre est mis à jour cinq fois. À l’intérieur de la limite, le facteur robuste est de 1 ; à l'extérieur, il devient c / r. La limite est c = max(1.5 m; 1.5 × 1.4826 × MAD).
8. Retour au WGS84
Le centre ENU pondéré est reconverti via ECEF en latitude et longitude. Les altitudes disponibles utilisent leur médiane ; les valeurs de qualité évaluent uniquement la position horizontale.