#1 Tue 12 January 2016 17:39
- Laure_Ch
- Juste Inscrit !
- Date d'inscription: 12 Jan 2016
- Messages: 1
Passage de WGS84 à Lambert 2 - GDAL/OGR
Bonjour à tous,
Je souhaiterais convertir des données WGS84 (Lambda et Phi en degrés + hauteur ellipsoïdale) en Lambert 2 à l'aide de la bibliothèque GDAL.
J'utilise les chaines de caractères proj4 suivantes:
WGS84:
"+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
Lambert 2:
"+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +vunits=m +no_defs "
Lors de la transformation les données renvoyées en X et Y correspondent à ce que me renvoie Circé, cependant je n'arrive pas à récupérer l'altitude mais uniquement la hauteur ellipsoïdale.
Lorsque j'ajoute la grille altimétrique RAF09 à la conversion il me renvoie des valeurs incohérente.
Exemple
Coordonnées en WGS84
Lat: 46.0000023579828
Long: 2.3500085165634
Hauteur ellipsoïdale: 148.279001142962 (= altitude de 98.825)
Transformation via GDAL en Lambert 2
E: 601043.00827604078
N: 111086.15604107594
Hauteur ellipsoïdale: 104.76441450417042 (altitude ?)
Comment puis-je retrouver l'altitude en Lambert 2 soit 98.193 selon Circé ?
Merci d'avance,
Laure
Hors ligne
#2 Sun 21 February 2016 04:49
- HotShot
- Participant occasionnel
- Date d'inscription: 3 Apr 2006
- Messages: 24
Re: Passage de WGS84 à Lambert 2 - GDAL/OGR
Un mois plus tard, mais au cas où...
Dans la ligne de commandes proj4, il faut tenir compte à la fois du modèle de géoïde (RAF09) et de la transformation de datum (WGS84<>NTF). Cette transformation peut être opérée par la méthode "standard" (à 3 paramètres, simple mais approximative à quelques [déci]mètres près) ou, mieux, grâce à la "grille ntf_rgf93" plus précise formidablement bien réalisée par l'IGN.
(Pour les puristes : ok... disons qu'on aura le culot d'assimiler WGS84 et RGF93, au pouillième près)
Autrement dit, la ligne de commande ressemblerait à :
Code:
cs2cs +init=epsg:4326 +no_defs +to +init=IGNF:LAMBE +geoidgrids=./RAF09.gtx +vunits=m +no_defs
Explication : epsg:4326 est le raccourci pour lat-lon/wgs84. Le code "IGNF:LAMBE" (raccourci Lambert2étendu/NTF, évitant d'user son clavier) tient déjà compte de la grille de conversion "ntf_rgf93" de l'IGN (dont le fichier .gsb est en principe fourni avec proj4...). Si l'on veut des altitudes, ne reste qu'à ajouter dans cette tisane le dernier modèle de quasi-géoïde français pondu par l'IGN (RAF09, ici converti au format GTX exploitable par proj4).
En testant "rapidement" avec proj4 v4.8.0, j'obtiens des valeurs conformes à Circé v4.2 pour la transformation par grille :
Code:
cs2cs +init=epsg:4326 +no_defs +to +init=IGNF:LAMBE +vunits=m +geoidgrids=./RAF09.gtx +no_defs 2.3500085165634 46.0000023579828 148.279001142962 601043.67 2111086.51 98.82
Où les coordonnées et l'altitude NGF (98,82m) sont correctes, à l'arrondi près.
On peut s'arrêter là : le boulot est fait.
--
Résultat également conforme entre proj4 et Circé pour la transformation "standard", même si sub-optimale :
Code:
cs2cs +init=epsg:4326 +no_defs +to +init=epsg:27572 +vunits=m +no_defs 2.3500085165634 46.0000023579828 148.279001142962 601043.01 2111086.16 104.76
epsg:27572 étant le code pour "Lambert2étendu/NTF sans grille de transformation". Attention ! En pareil cas, la valeur z (104.76m) n'a pas grand sens dans le système NTF : on n'y calcule pas des altitudes à partir de l'ellipsoïde - et c'est d'ailleurs grisé sous Circé.
On peut malgré tout s'efforcer d'obtenir séparément un semblant d'altitude, basé sur l'ellipsoïde d'origine (WGS84) et le modèle de géoïde mondial associé (souvent EGM96, ou mieux EGM2008 - c'est celui qu'utilise Circé) :
Code:
cs2cs +init=epsg:4326 +no_defs +to +init=epsg:4326 +geoidgrids=./egm08fr.gtx +vunits=m +no_defs 2.3500085165634 46.0000023579828 148.279001142962 2d21'0.031"E 46d0'0.008"N 98.193
Cette conversion hauteur-altitude par grille mondiale délivrera une valeur raisonnable (98.193m), c'est ainsi que procède p.ex. un récepteur GPS grand public, peu au courant de nos subtilités nationales.
Dernière modification par HotShot (Sun 21 February 2016 04:59)
Hors ligne