Message posté par : Yves EGELS
----------------------------------------
Bonjour,
Circe est LA référence officielle. Si vous n'obtenez pas le même résultat, la faute
est chez vous!
ARF20 sert effectivement à passer de la hauteur ellipsoïde à l'altitude.
Quant à travailler dans le plan centre terre-stations, les grands esprits se rencontrent,
c'est comme ça que fonctionne depuis 30 ans mon logiciel de topo Comp3D, que l'IGN
a diffusé récemment en open-source.
Je vous mets un extrait des modules nécessaires, issus de ma version en Pascal, moins
moderne, mais plus lisible... Et qui donne le même résultat que Circe
-----------------
Code :
Var
A,E,E2 : double;
initialization
begin
A := 6378137; // GRS80 (WGS84,RGF)
E := 0.08181919132;
// E := 0.08199188998; //ED50
E2 := sqr(E);
end;
.......
Function GNorm(const Phi: double): double;
begin
result := A/Sqrt(1-E2*sqr(Sin(Phi)));
end;
.......
// Passage de géographiques à géocentrique
procedure GEOGXYZ(const Lambda,Phi,He : double;
var X,Y,Z : double);
var N : double;
begin
N := GNorm(phi);
X := (N+He)*cos(phi)*cos(lambda);
Y := (N+He)*cos(phi)*sin(lambda);
Z := (N*(1-e2)+He)*sin(phi);
end;
.......
// Passage de géocentrique à géographiques
procedure XYZGEOG(const X,Y,Z : double;
var Lambda,Phi,He : double);
var
i : integer;
N,D : double;
begin
D := sqrt(sqr(x)+sqr(y));
N := a;
He := 0;
Lambda := arctan(Y/X);
for i := 1 to 10 do begin
phi := arctan(Z/(D*(1-e2*N/(N+He))));
He := D/cos(phi)-N;
N := GNorm(phi);
end;
end;
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=369786#p369786
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