Pages: 1
- Sujet précédent - Mathématique de conversion long lat wgs84 en XY lambert 93- RGF93 - Sujet suivant
#1 Mon 10 July 2023 13:48
- zedrummer
- Juste Inscrit !
- Date d'inscription: 10 Jul 2023
- Messages: 2
Mathématique de conversion long lat wgs84 en XY lambert 93- RGF93
Bonjour
Certes ce post est très vieux et a été répondu, mais comme il m'a servi de base pour trouver la solution, je me permets de donner ici du code en C# (qui ne doit donc pas être très loin du code en C) pour convertir dans les 2 sens entre (lat, long) et Lambert-93:
Code:
const double C = 11754255.426096; //constante de la projection const double E = 0.0818191910428158; //première excentricité de l'ellipsoïde const double N = 0.725607765053267; //exposant de la projection const double Xs = 700000.0; //coordonnées en projection du pole const double Ys = 12655612.049876; //coordonnées en projection du pole const double L0 = 3; // longitude de référence public void ConvertLatLongToLambert93(double lat, double lon, ref double px, ref double py) { double lat_rad = lat / 180 * Math.PI; double lat_iso = Math.Atanh(Math.Sin(lat_rad)) - E * Math.Atanh(E * Math.Sin(lat_rad)); //latitude isométrique px = ((C * Math.Exp(-N * (lat_iso))) * Math.Sin(N * (lon - L0) / 180 * Math.PI) + Xs); py = (Ys - (C * Math.Exp(-N * (lat_iso))) * Math.Cos(N * (lon - L0) / 180 * Math.PI)); } public void ConvertLambert93ToLatLong(double px, double py, ref double lat, ref double lon) { double x = px - Xs; double y = py - Ys; double latiso = Math.Log(C / Math.Sqrt((x * x) + (y * y))) / N; double sinPhi = Math.Tanh(latiso + E * Math.Atanh(E * Math.Sin(1))); for (int i = 0; i < 6; i++) sinPhi = Math.Tanh(latiso + E * Math.Atanh(E * sinPhi)); lat = Math.Asin(sinPhi) * 180.0 / Math.PI; lon = ((Math.Atan(-x / y)) / N + L0 / 180.0 * Math.PI) / Math.PI * 180.0; }
Dernière modification par zedrummer (Mon 10 July 2023 16:40)
Hors ligne
#2 Mon 10 July 2023 15:01
- zedrummer
- Juste Inscrit !
- Date d'inscription: 10 Jul 2023
- Messages: 2
Re: Mathématique de conversion long lat wgs84 en XY lambert 93- RGF93
Par contre, je suis très surpris, je lis partout que les cartes aéronautiques auxquelles on a accès sont en lambert (https://coursdubia.pagesperso-orange.fr/NSR%202.pdf) et quand je vois par exemple la TMA de LFSB ici https://www.dircam.dsae.defense.gouv.fr … e_lfsb.pdf (page "AD 2 LFSB AMSR 01" vers le milieu du pdf) et que j'utilise les coordonnées de cette carte que je convertis en Lambert, si je dessine, moi j'arrive à ça:
[img]https://i.servimg.com/u/f88/17/72/22/03/scree306.png[/img]
Ça parait plus écrasé, ce qui fait que si je traçais des cercles concentriques sur l'ARP, ce serait complètement faux. Quelqu'un peut m'aiguiller sur la conversion utilisée dans la carte du PDF, SVP?
Dernière modification par zedrummer (Mon 10 July 2023 15:05)
Hors ligne
Pages: 1
- Sujet précédent - Mathématique de conversion long lat wgs84 en XY lambert 93- RGF93 - Sujet suivant