Message posté par : Gilles Messager
----------------------------------------
Bonjour à tous.
Je progresse avec Circé.
J'ai pu valider ma transformation ellipsoïdale avec une coïncidence des résultats au
millimètre, ce qui confirme que les formules de calcule sont bonnes ( en soit pas besoin
d'être aussi précis, mais ça facilite les validations suivantes).
Maintenant ça coince au niveau de la transformation avec prise en compte de l'altitude
:
Il me faut l'altitude ellipsoïdale pour le calcule des coordonnées géocentriques, hors
compte tenu des valeurs retournées par Géoportail et des courbes isométrique des cartes
IGN, je suis sur de récupérer des altitudes "Vraie". Je doit donc reconstituer
l'altitude ellipsoïdale en ajoutant la compensation au géoïde calculé à partir de la
table de RAF20. Je suis sur de mes calcule d'interpolation bilinéaires sur la table
RAF20.
Une comparaison de ma valeur de compensation RAF20 avec le poster RAF20 fourni par
l'IGN, ma permis de comprendre mon erreur !
En chargeant les données de la table RAF20, la plage de valeur étant clairement indiquée :
-5.5 8.5 42.0 51.5 ; j'ai supposé que les donnés étaient enregistrées à latitude
croissante. Visiblement c'est le contraire !!!
Les données de la table RAF20 sont enregistrées à longitude croissante de -5.5° à 8.5° par
pas d'un 30ème de degré puis par latitude décroissante de 51.5° à 42° par pas d'un
40ème de degré.
Il ne me reste plus qu'a trouver la transformation de changement de repère qui me
place dans le plan passant par mes 2 points et le centre de la terre, et ainsi je devrais
obtenir un profil de ma ligne de mire intégrant la courbure de la terre !
pour ceux qui chercherais les formules :
LES CONSTANTES :
a = 6378137,00 (mètres ; grand rayon terrestre (équatoriale))
f = 1/298,257222101 (aplatissement de la terre - cf-GRS-80)
e² = 0,00669438002290078762535911470307 (e² = 1-(1-f)²) ; 17 décimales suffisent à
obtenir un résultat millimétrique !
LES VARIABLES :
phi = latitude en radian
lambda = longitude en radian
H = altitude Légale (référence au marégraphe de Marseille)
LES RÉSULTATS :
l'unité est le mètre.
h = altitude ellipsoïdale en mètre
d(lambda, phi) = distance entre l'ellipsoïde et le Géoïde de référence (calculé par
interpolation bilinéaire à partir de la grille de donnés du RAF20
n = rayon ellipsoïdale (calcule intermédiaire)
X = distance sur l'axe y porté par le centre de l'ellipsoïde et passant par
l'équateur et le méridien de Greenwish
Z = distance sur l'axe z porté par le centre de l'ellipsoïde et passant par le
pôle Nord
Y = distance sur l'axe y l'axe y est tel que le système xyz soit orthonormé et
direct ; il est donc sur l'équateur et à 90° est de l'axe x
LES FORMULES :
h = H + d(lambda, phi)
n = a/(1-e²*sin²(phi))^0,5
X = (n+h)*Cos(phi)*Cos(lambda)
Y = (n+h)*Cos(phi)*Sin(lambda)
Z = (n*(1-e²)+h)*Sin(phi)
FORMULE COMPLÉMENTAIRE POUR L'INTERPOLATION BILINÉAIRE :
On cherche une valeur (la distance entre l'ellipsoïde et le Géoïde) :
z=f(x,y) = f(lambda, phi)
connaissant (les points de la table RAF20 : [-5.500:
0.033:8.500];[51.500:0,025:42,000] ) ;
Z00=f(X0,Y0)
Z10=f(X1,Y0)
Z01=f(X0,Y1)
Z11=f(X1,Y1)
dX = (x - X0) / (X1-X0) : pourcentage de la plage en X
dY = (y - Y0) / (Y1-Y0) : pourcentage de la plage en Y
dfx = f(X1, Y0) - f(X0, Y0) : variation de Z sur X pour Y = Y0
dfy = f(X0, Y1) - f(X0, Y0) : variation de Z sur Y pour X = X0
dfxy = f(X1, Y1) - f(X0, Y0) : variation de Z sur X et Y (diagonale de la plage)
z = f(X0,Y0) + dfx * dX + dfy * dY + (dfxy - dfx - dfy) * dX * dY
Pour info les tables RAF20 (Métroplole) et RAC23 (Corse) sont disponibles à cette adresse
:
https://geodesie.ign.fr/index.php?page=grilles
il s'agit de fichier texte lisible avec n'importe quel traitement de texte basique
équivalent de fichier .txt
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=369787#p369787
Pour y répondre : topographie(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net