Suite

Précision de la conversion de WSG84 à ECEF et ECEF à ENU ?


Pour passer d'un système de coordonnées global à un système de coordonnées local, j'applique les transformations suivantes.

WSG84 à ECEG :

avec

et ECEF à ENU :

Supposons que les demi-grands axes a et e sont connus avec une grande précision (par exemple a = 6378137.0 et e²=6.69437999014e-3) et que la position de référence dans la deuxième transformation est correcte.

Quelle est la précision que je peux attendre de cette transformation à une courte distance de la position de référence (disons moins d'un mile) ?


Ces deux équations ("Geodetic/Wgs84 à ECEF" et "ECEF à ENU") sont des équations exactes pour les transformations et elles n'introduisent en tant que telles aucune erreur sur la position.

Les facteurs limitants pour la précision sont essentiellement la précision des paramètres de l'ellipsoïde et la précision numérique de la mise en œuvre réelle (les nombres à virgule flottante ont une précision limitée).

Ce que je ferais personnellement pour vérifier l'exactitude, c'est d'essayer quelques conversions (par exemple avec les équations de conversion de coordonnées Wikipedia)

  1. Géodésique -> ENU-> Géodésique et
  2. ENU -> Géodésique -> ENU

et voyez à quel point les chiffres sont les mêmes après une "boucle complète". Je suppose qu'avec presque toutes les implémentations, la précision est fortement limitée par le réel la mesure de l'emplacement (que ce soit en coordonnées géodésiques, par exemple).


Comment traduire les coordonnées lon/lat par une distance de quelques mètres N-E à la surface de la terre ?

comment puis-je obtenir une nouvelle coordonnée en géodésique (Lat/Lon) à partir d'un point de référence (qui est en géodésique) après une translation (en mètres) sur la surface de la terre, et je dois également faire le calcul en utilisant un véritable modèle ellipsoïde terrestre tel que WGS84.

  • supposons que j'ai un point de référence de 10,32E, -4,31N
  • puis je fais une translation de (3000,-2000) mètres (qui déplace le point de 3000 mètres à l'est et de 2000 mètres au sud à la surface de la terre.
  • alors j'ai besoin des coordonnées du nouveau point en géodésie.

La méthode latLonToEcef est une implémentation de l'algorithme décrit dans la page wikipedia Conversion de coordonnées géographiques - De la géodésie aux coordonnées ECEF :

De même, la méthode ecefToEnu est une implémentation de l'algorithme ECEF vers ENU :

Si vous avez besoin d'autres références, elles peuvent être trouvées au bas de cette page Wikipédia. Vous pouvez également vous référer à la spécification World Geodetic System 1984.


Vous pouvez utiliser le package pymap3d :

Installation

Exemple simple

Prenons les exemples de valeurs affichés sur cette page.

qui sont respectivement les composants est, nord et haut.

L'ellipsoïde utilisé est WGS84 par défaut. Tous les modèles ellipsoïdes disponibles (qui peuvent être fournis comme argument à geodetic2enu ) peuvent être consultés ici. Voici comment calculer les mêmes coordonnées ENU à l'aide de l'ellipsoïde de référence WGS72 :

Utiliser pyproj sans pymap3d

Pymap3d module, https://scivision.github.io/pymap3d/ fournit des transformations de coordonnées et des fonctions de géodésie, y compris ENU <--> (long, lat, alt).

Supposons que nous ayons un système de coordonnées ENU défini avec son origine à (lat0, lon0, h0 = 5.0, 48.0, 10.0). Et laissez un point (point_1) avec la coordonnée ENU : (0,0,0) être un point de test, ce point_1 sera utilisé pour faire la transformation, à la fois directe et inverse.

Maintenant, en utilisant les données obtenues (lat1, lon1, h1), nous calculons la conversion géodésique en ENU.

La sortie doit être en accord avec (e1, n1, u1). De petits écarts sont normaux pour ce type de calcul.

Dans le calcul ci-dessus, l'option ell a l'ellipsoïde WGS84 comme valeur par défaut.


Je cherchais la même chose et je suis arrivé à la conclusion que la vitesse WGS84 signifiait en fait (pour moi du moins) la vitesse en coordonnées ENU, c'est-à-dire les composantes Est, Nord et Haut de la vitesse sur le plan tangentiel de l'ellipsoïde WGS84.

J'ai également réussi à écrire du code pour calculer cela à partir des vitesses ECEF. Ce dont j'avais besoin était en fait les positions X,Y,Z (en coordonnées ECEF) et les vitesses X,Y,Z (en coordonnées ECEF). Les étapes étaient

1) Calculer l'emplacement en coordonnées Wgs84 (lat, lon, alt)

ECEF (X,Y,Z) en Wgs84 (lat, lon, alt) n'est pas la conversion la plus simple, mais j'ai utilisé les équations Wikipedia "Heikkinen" et j'ai réussi à obtenir les coordonnées de conversion du script sans perte de précision (vérifié que le code fonctionne ).

2) Convertir la vitesse d'ECEF en ENU (plan tangentiel Wgs84)

Pour la conversion de coordonnées ECEF en ENU (ou NED), il existe plusieurs sources Internet. Une bonne source était la navipédia. Les étapes sont simples

  • Former une matrice de rotation en utilisant le (lat, lon) calculé à l'étape 1
  • Multipliez vos coordonnées (X,Y,Z) avec la matrice de rotation

Sous forme scalaire, les équations matricielles mentionnées ci-dessus pour les composantes de vitesse ENU sont

Lat et lon sont les coordonnées de position Wgs84 et x , y et z sont les coordonnées de vitesse ECEF.


Contenu

Les coordonnées géocentriques peuvent être utilisées pour localiser des objets astronomiques dans le système solaire en trois dimensions le long des axes cartésiens X, Y et Z. Elles se différencient des coordonnées topocentriques, qui utilisent la position de l'observateur comme point de référence pour les relèvements en altitude et en azimut.

Pour les étoiles proches, les astronomes utilisent des coordonnées héliocentriques, avec le centre du Soleil comme origine. Le plan de référence peut être aligné avec l'équateur céleste de la Terre, l'écliptique ou l'équateur galactique de la Voie lactée. Ces systèmes de coordonnées célestes 3D ajoutent la distance réelle en tant qu'axe Z aux systèmes de coordonnées équatoriales, écliptiques et galactiques utilisés en astronomie sphérique.


Contenu

L'invention d'un système de coordonnées géographiques est généralement attribuée à Eratosthène de Cyrène, qui a composé son désormais perdu La géographie à la Bibliothèque d'Alexandrie au IIIe siècle BC. Un siècle plus tard, Hipparque de Nicée a amélioré ce système en déterminant la latitude à partir de mesures stellaires plutôt que l'altitude solaire et en déterminant la longitude par le timing des éclipses lunaires, plutôt que par l'estime. Au 1er ou au 2e siècle, Marinus de Tyr a compilé un vaste répertoire géographique et une carte du monde tracée mathématiquement en utilisant des coordonnées mesurées à l'est à partir d'un méridien principal sur la terre connue la plus occidentale, désignée les îles Fortunées, au large des côtes de l'Afrique occidentale autour des Canaries ou du Cap Iles Verde, et mesurée au nord ou au sud de l'île de Rhodes au large de l'Asie Mineure. Ptolémée lui a attribué l'adoption complète de la longitude et de la latitude, plutôt que de mesurer la latitude en fonction de la longueur du jour du milieu de l'été. Β]

IIe siècle de Ptolémée La géographie utilisé le même méridien principal mais mesuré la latitude à partir de l'équateur à la place. Après que leur travail ait été traduit en arabe au IXe siècle, l'ouvrage d'Al-Khwārizmī Livre de la Description de la Terre a corrigé les erreurs de Marinus et de Ptolémée concernant la longueur de la mer Méditerranée, amenant la cartographie arabe médiévale à utiliser un méridien principal situé à environ 10° à l'est de la ligne de Ptolémée. La cartographie mathématique reprit en Europe suite à la récupération par Maximus Planudes du texte de Ptolémée un peu avant 1300 le texte fut traduit en latin à Florence par Jacobus Angelus vers 1407.

En 1884, le États Unis a accueilli la Conférence internationale des méridiens, à laquelle ont participé des représentants de vingt-cinq nations. Vingt-deux d'entre eux ont accepté d'adopter la longitude de l'Observatoire royal de Greenwich, en Angleterre, comme ligne de référence zéro. La République dominicaine a voté contre la motion, tandis que la France et Brésil abstenu. La France a adopté le temps moyen de Greenwich à la place des déterminations locales de l'Observatoire de Paris en 1911.


1 réponse 1

Modélisez-vous la drague ? Si vous ne l'êtes pas, vous n'avez même pas besoin de modéliser la rotation de la Terre car l'effet J2 ne dépend que de la latitude. Il s'agit d'une simulation basse fidélité (il y a beaucoup d'effets autres que J2, par exemple, traînée, effets de troisième corps, termes de gravité d'ordre supérieur, corps solide et marées océaniques, pression de rayonnement solaire, gravité relativiste, . )

Mais si vous modélisez la traînée, vous aurez besoin de l'emplacement géodésique du satellite (latitude géodésique, longitude, altitude) et de l'heure solaire apparente locale à cette latitude et longitude pour calculer la densité atmosphérique à l'altitude du satellite. Cela augmente considérablement la mise sur l'infrastructure dont vous avez besoin. Au minimum, vous aurez besoin d'un modèle semi-réaliste de la rotation de la Terre, à la fois pour les informations ECEF (latitude et longitude) et pour le temps.

Et vous aurez besoin d'un modèle de temps. Le temps mesuré en fonction de la rotation de la Terre et le temps mesuré en fonction des tics d'une horloge atomique sont deux choses différentes. Vous devrez modéliser cela, au moins dans une certaine mesure. Si vous utilisez des équations de mouvement basées sur la physique, le temps de votre simulation doit être synchronisé avec le temps en fonction de cette horloge atomique. Les effets de la Terre (gravité non sphérique, traînée, . ) et la position du satellite par rapport à la Terre en rotation devraient être synchronisés avec le temps en fonction de la rotation de la Terre.

Un modèle de temps simple et basse fidélité : UT1 est à moins de 0,9 seconde de l'UTC pour un modèle basse fidélité, vous pouvez l'ignorer (c'est-à-dire, supposez UT1=UTC). L'UTC est actuellement de 37 secondes derrière TAI, qui à son tour est de 32,184 secondes derrière l'heure terrestre (c'est-à-dire, supposons que UTC = TT-69,184 secondes). Le temps dynamique terrestre s'écarte du TT d'un petit décalage fixe (

7e-5 secondes, que vous pouvez ignorer) et par quelques sinusoïdes dont la magnitude est de l'ordre de la milliseconde (par exemple, supposons TDB = TT).

Un modèle simple et basse fidélité de l'orientation de la Terre : c'est un peu plus difficile, d'autant plus que le code des normes d'astronomie fondamentale (SOFA) facilite l'utilisation d'un modèle haute fidélité, souvent beaucoup plus fidèle que ce dont vous avez besoin. (Le calcul de la précession et de la nutation est facile à coder, mais il n'est pas bon marché en termes de calcul.)

Ce qui suit est une hérésie complète : (1) Utilisez le modèle de temps simple ci-dessus pour calculer UT1 et TT, (et aussi TDB si vous voulez des effets sur le troisième corps). et (2) remplacer les termes de mouvement polaire dans les modèles SOFA par zéro. (Un terme a déjà été mis à zéro, ΔUT1, en supposant UT1=UTC). Avec dix, peut-être vingt lignes de code, plus la bibliothèque SOFA, vous venez de faire passer votre modèle de fidélité plutôt faible à une fidélité modérée. Si vous voulez des effets de troisième corps, utilisez C-SPICE pour calculer l'emplacement de la Lune et du Soleil par rapport à la Terre. C-SPICE utilise TDB comme base de temps, mais TT suffira pour une simulation de fidélité modérée (pas faible). Notez très bien : pour la gravitation du troisième corps, vous voulez que C-SPICE ne calcule pas les effets d'aberration.

A part #1 : A 400-600 km d'altitude, vous avez vraiment besoin de modéliser la traînée si vous voulez avoir un espoir de réalisme.

A part n°2 : à un moment donné (et quatre à six mois pour un satellite à 400-600 km d'altitude, c'est bien au-delà de "un certain point"), peu importe la fidélité avec laquelle on fait sa simulation. Il n'y a aucun espoir de projection réaliste de la position ECEF d'un satellite à 400-600 km d'altitude dans six mois. Toi force obtenir la bonne altitude. Latitude et longitude : pas vraiment. Un rot du Soleil peut faire augmenter la densité de la haute atmosphère terrestre de plusieurs ordres de grandeur, et ces rots sont imprévisibles. Cela dit, ces rots solaires sont moins probables au cours des prochaines années étant donné l'état de repos actuellement étrange du Soleil.


Le supplément explicatif à l'almanach astronomique contient toutes les équations dont vous avez besoin. Consultez les chapitres 3 et 4.

Gardez à l'esprit que vous avez besoin de définitions claires de ce que vous entendez par ECEF et ECI. La plupart des gens utilisent WGS84 pour ECEF, mais ce n'est pas une exigence. De même, ECI pourrait être J2000 ou ICRF

En général, vous aurez besoin de 4 étapes pour passer d'ECI à ECEF :

  1. Calculer la précession de la terre
  2. Calculer la nutation terrestre
  3. Tenir compte de la rotation de la Terre, y compris le décalage UTC-UT1
  4. Prise en compte du mouvement polaire
  5. Convertir en lan/lon si désiré

Les deux premières transformations sont purement analytiques et peuvent être obtenues à partir de livres comme le Supplément explicatif. Les troisième et quatrième transformations reposent sur des paramètres variant de manière irrégulière qui doivent être mis à jour pour une date spécifique.

Le système d'aide de Systems ToolKit (STK) contient d'excellentes descriptions sur divers cadres et processus de transformation, mais pas d'équations réelles.

Les repères ECI et ECEF ont approximativement la même origine et l'axe $z$ et ne diffèrent que par une composante angulaire sur le plan $xy$. Cette différence angulaire peut être utilisée pour faire pivoter un vecteur d'une image à l'autre.

Le $x_L'axe $ tourne le long du plan équatorial sur $z_=z_$ . L'angle qu'il fait avec le $x_L'axe $ est connu sous le nom d'angle de rotation de la Terre (ERA) ou d'angle sidéral de Greenwich. Pour convertir entre les trames ECI et ECEF, nous devons d'abord obtenir l'ERA noté $gammain[0, 2pi]$ .

Nous commençons à une époque, disons J2000, où l'ERA est connu pour être de 280,46 $ degrés. En utilisant le temps écoulé depuis l'époque, nous pouvons propager l'ERA de l'époque dans le temps jusqu'à une date d'intérêt. Exprimé mathématiquement dans l'équation de bloc suivante, le taux de rotation de la Terre est donné par 360,985 $. $ degrés par jour, $Delta T$ est le temps écoulé en jours depuis l'époque, et $280,46$ est l'ERA à $Delta T=0$ .

commencerétiqueter gamma = 360.9856123035484 imesDelta T + 280.46 end

Pour convertir un vecteur entre les trames ECI et ECEF, il faut faire pivoter le vecteur autour de l'axe $z$ par l'angle sidéral de Greenwich, $gamma$ , en utilisant la matrice de rotation donnée dans l'équation de bloc suivante. Ces conversions peuvent être vues dans les équations les deux dernières équations où $mu_^C$ convertit les coordonnées de l'image $C$ en l'image $C'$ .

commencerétiqueter E_3^ heta = egin cos heta & -sin heta & 0 sin heta & cos heta & 0 0 & 0 & 1 end finir


Système géodésique[modifier]

Afin d'être sans ambiguïté sur la direction de la surface "verticale" et "horizontale" au-dessus de laquelle ils mesurent, les cartographes choisissent un ellipsoïde de référence avec une origine et une orientation données qui correspondent le mieux à leurs besoins pour la zone qu'ils cartographient. Ils choisissent ensuite la cartographie la plus appropriée du système de coordonnées sphériques sur cet ellipsoïde, appelé système de référence terrestre ou système géodésique.

Les données peuvent être globales, ce qui signifie qu'elles représentent la Terre entière, ou elles peuvent être locales, ce qui signifie qu'elles représentent un ellipsoïde qui correspond le mieux à une partie seulement de la Terre. Les points à la surface de la Terre se déplacent les uns par rapport aux autres en raison du mouvement des plaques continentales, de l'affaissement et du mouvement diurne des marées terrestres causés par la Lune et le Soleil. Ce mouvement quotidien peut atteindre un mètre. Les déplacements continentaux peuvent atteindre 10 cm par an, ou 10 m par siècle. Une zone anticyclonique du système météorologique peut provoquer un enfoncement de 5 mm . La Scandinavie s'élève de 1 cm par an en raison de la fonte des calottes glaciaires de la dernière période glaciaire, mais l'Écosse voisine n'augmente que de 0,2 cm . Ces changements sont insignifiants si une donnée locale est utilisée, mais sont statistiquement significatifs si une donnée globale est utilisée. Ώ]

Le système géodésique mondial (WGS 84), le système de référence par défaut utilisé pour le système de positionnement global, [n 3] et ​​le cadre international de référence terrestre (ITRF), utilisé pour estimer la dérive des continents et la déformation de la croûte, sont des exemples de systèmes géodésiques mondiaux. Δ] La distance au centre de la Terre peut être utilisée à la fois pour des positions très profondes et pour des positions dans l'espace. Ώ]

Les datums locaux choisis par une organisation cartographique nationale comprennent le datum nord-américain, l'ED50 européen et l'OSGB36 britannique. Étant donné un emplacement, la référence fournit la latitude ϕ et la longitude λ . Au Royaume-Uni, trois systèmes communs de latitude, longitude et hauteur sont utilisés. Le WGS 84 diffère à Greenwich de celui utilisé sur les cartes publiées OSGB36 d'environ 112 m. Le système militaire ED50, utilisé par l'OTAN, diffère d'environ 120m à 180m. Ώ]

La latitude et la longitude sur une carte établie par rapport à un système de référence local peuvent ne pas être les mêmes que celles obtenues à partir d'un récepteur GPS. Les coordonnées du système cartographique peuvent parfois être grossièrement changées en une autre donnée à l'aide d'une simple traduction. Par exemple, pour passer d'ETRF89 (GPS) à la grille irlandaise, ajoutez 49 mètres à l'est et soustrayez 23,4 mètres au nord. Ε] Plus généralement, une donnée est transformée en une autre donnée à l'aide d'un processus appelé transformations de Helmert. Cela implique de convertir les coordonnées sphériques en coordonnées cartésiennes et d'appliquer une transformation à sept paramètres (translation, rotation tridimensionnelle) et de reconvertir. Ώ]

Dans les logiciels SIG courants, les données projetées en latitude/longitude sont souvent représentées sous la forme d'un « système de coordonnées géographiques ». Par exemple, les données en latitude/longitude si le datum est le datum nord-américain de 1983 sont désignées par 'GCS North American 1983'.


Voir la vidéo: How to convert UTM WGS84 coordinates to Local datum (Octobre 2021).