Open guillaumeVolery opened 2 years ago
Algorithm given by @VincentSchlageter (refer to attached documents):
Il faut qu'on convertisse les coordonnées géographiques (latitude, longitude, hauteur ellipsoïdale = LGh) en coordonnées topocentrique (UVW //easting, northing). La surface terrestre est modélisée par une ellipsoïde, il s'agit de choisir un point de référence puis de projeter sur un plan tangent à l'ellipsoïde en ce point. Le système géodésique associé au positionnement GPS et le WGS84 (World Geodetic System 1984), dont les axes de l'ellipsoïde (a,b) sont donnés dans le .txt ci-joint. La formule pour le calcul est données dans le .pdf (false easting/nothing FE, FN = 0 dans notre cas). En fait j'ai fait encore plus simple (cf. un extrait de mon code dans le *.txt): je fais l'approximation des petits angles pour calculer simplement des déplacements autour du point de référence. En fait je calcule un facteur qui permet de convertir une variation de longitude [°] en easting=déplacement vers l'est [m], et une variation de latitude en northing (une variation de hauteur reste identique dans les deux systèmes). Ceci est parfaitement correct pour des déplacements de quelques mètres autour de la référence (mouvements du rover autour de la position initiale du rover au temps t0). C'est moins précis pour quelques centaines de mètres (position des rovers par rapport au rover considéré comme point fixe), mais OK pour ce qu'on veut faire.
ellipsoidal orthographic projection.pdf approx petits angles.txt
Done and finalized in commit e0b83d5.
Ready for verification.
According to @VincentSchlageter : unit shall be in [cm] not [m].
To be corrected.
Conversion in [cm] done directly in the backend.
A database migration has been created to convert already existing data.
The geomon data fetching has been created to calculate and store the new position data in [cm] and not [m] as before.
See commit: 6eba0cf
Frontend adapted (Installation/Rover/Overview) to display "[cm]" units.
See commit: 53e9781
Ready for verification.
Current behavior:
In src/rover/rover_overview.vue, the calculation of the northing, easting and elevation is giving a non intelligble information in pratice.
Exepcted behavior:
Will be defined later by @VincentSchlageter