Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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

 

Pied de page des forums

Powered by FluxBB