Fonctions (séance N°2)
On se propose d’écrire des fonctions permettant le passage entre les coordonnées
cartésiennes et coordonnées géographiques dans les deux sens
a,e
Le calcul se fera en deux étapes :
1- Ecrire une fonction qui permet de calculer le rayon de courbure dans la direction
ϕ)
du parallèle on l’appelle [N]=grand_normale(a,e,ϕ
2- Ecrire la fonction qui permet de convertir les coordonnées géographiques en
λ,ϕ
coordonnées cartésiennes [X,Y,Z]=geo_cart(λ ϕ,h,a,e)
3- Ecrire la fonction qui permet de convertir les coordonnées cartésiennes en
λ,ϕ
coordonnées géographiques [λ ϕ,h]=cart_geo(X,Y,Z,a,e)
Vérifier chaque étape avec les jeux de test fournis
1
TRANSFORMATION DE COORDONNEES
Coordonnées géographiques
→ coordonnées cartésiennes.
Description :
Transformation de coordonnées géographiques ellipsoïdales en
coordonnées cartésiennes.
Variables :
- paramètres en entrée :
λ : longitude par rapport au méridien origine.
ϕ : latitude.
he : hauteur au-dessus de l’ellipsoïde.
a : demi-grand axe de l’ellipsoïde.
e : première excentricité de l’ellipsoïde.
- paramètres en sortie :
X, Y, Z : coordonnées cartésiennes.
Autre algorithme utilisé :
: calcul de la grande normale N de l’ellipsoïde de demi-
grand axe a et de première excentricité e.
Schéma séquentiel :
E : λ , ϕ , he , a , e.
S : X , Y , Z.
2
E
grand_normal
ALG0021
N = N( ϕ , a , e )
X = ( N + h e ) ⋅ cos ϕ ⋅ cos λ
Y = ( N + h e ) ⋅ cos ϕ ⋅ sin λ
Z = ( N ⋅ ( 1 − e 2 ) + h e ) ⋅ sin ϕ
Notation utilisée :
N(ϕ,a,e) : calcul de la grande normale de l’ellipsoïde de demi-grand
axe a et d’excentricité e.
3
Jeux d’essai :
λ (rad) 0,017 453 292 48 0,002 908 882 12 0,005 817 764 23
ϕ (rad) 0,020 362 174 57 0,000 000 000 00 -0,031 997 703 00
he (m) 100,000 0 10,000 0 2 000,000 0
a (m) 6 378 249,200 0 6 378 249,200 0 6 378 249,200 0
e 0,082 483 256 79 0,082 483 256 79 0,082 483 256 79
X(m) 6 376 064,695 5 6 378 232,214 9 6 376 897,536 9
Y(m) 111 294,623 0 18 553,578 0 37 099,705 0
Z(m) 128 984,725 0 0,000 0 -202 730,907 0
4
ALGO1 : CALCUL DE LA GRANDE NORMALE
Description :
Calcul de la grande normale de l’ellipsoïde.
Variables :
- paramètres en entrée :
ϕ : latitude.
a : demi-grand axe de l’ellipsoïde.
e : première excentricité de l’ellipsoïde.
- paramètre en sortie :
N : grande normale.
Schéma séquentiel :
E : ϕ , a , e.
S : N.
a
N =
2 2
1 − e ⋅ sin ϕ
5
Jeux d’essai :
0,977 384 381 00
ϕ(rad)
a(m) 6 378 388,000 0
e 0,081 991 890
N(m) 6 393 174,975 5
6
TRANSFORMATION DE COORDONNEES
Coordonnées cartésiennes
→ coordonnées géographiques.
Description :
Transformation, pour un ellipsoïde donné, des coordonnées
cartésiennes d’un point en coordonnées géographiques ellipsoïdales
par la méthode de Heiskanen-Moritz (1967).
Variables :
- paramètres en entrée :
X, Y, Z : coordonnées cartésiennes.
a : demi-grand axe de l’ellipsoïde.
e : première excentricité de l’ellipsoïde.
ε : tolérance de convergence.
- paramètres en sortie :
λ : longitude par rapport au méridien origine.
ϕ : latitude.
he : hauteur au-dessus de l’ellipsoïde.
7
Schéma séquentiel :
E : a , e , X , Y , Z., ε.
S : λ , ϕ , he.
Y
λ = arctan ( )
X
Z
ϕ 0 = arctan ( )
X 2
+ Y 2
⋅ (1 − e2 )
i ← 0
i ← i + 1
non
2
Z a ⋅ e ⋅ cos ϕ i − 1 −1
ϕi − ϕi− 1 〈 ε ϕ i = arctan ( ⋅( 1 − ) )
2 2 2 2 2 2
X + Y X + Y ⋅ 1 − e ⋅ sin ϕ i − 1
oui
X2 + Y 2 a
ϕ = ϕ he = −
i cos ϕ 2 2
1 − e ⋅ sin ϕ
8
Jeux d’essai :
a (m) 6 378 249,200 0 6 378 249,200 0 6 378 249,200 0
e 0,082 483 256 79 0,082 483 256 79 0,082 483 256 79
X (m) 6 376 064,695 0 6 378 232,215 0 6 376 897,537 0
Y (m) 111 294,623 0 18 553,578 0 37 099,705 0
Z (m) 128 984,725 0 0,000 0 -202 730,907 0
ε (rad) 1 ∞ 10-11 1 ∞ 10-11 1 ∞ 10-11
λ (rad) 0,017 453 292 48 0,002 908 882 12 0,005 817 764 23
ϕ (rad) 0,020 362 174 57 0,000 000 000 00 -0,031 997 703 01
he (m) 99,999 5 10,000 1 2 000,000 1
9
Passage X,Y,Z ⇒ λ,ϕ
ϕ,h
Formule itérative
Formule direct
10