Infrasurvey / iot-portal-frontend

0 stars 0 forks source link

Easting, northing and elevation conversion giving non comprehensive data #4

Open guillaumeVolery opened 2 years ago

guillaumeVolery commented 2 years ago

Current behavior:

In src/rover/rover_overview.vue, the calculation of the northing, easting and elevation is giving a non intelligble information in pratice.

image

var tmp = utm.convertLatLngToUtm(position.latitude, position.longitude,2);
tmp.altitude = position.height      
tmp.date = position.date  
this.convertedPositions.push(tmp)

Exepcted behavior:

Will be defined later by @VincentSchlageter

guillaumeVolery commented 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

guillaumeVolery commented 2 years ago

Done and finalized in commit e0b83d5.

Ready for verification.

guillaumeVolery commented 2 years ago

According to @VincentSchlageter : unit shall be in [cm] not [m].

To be corrected.

guillaumeVolery commented 2 years ago

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.