Bonjour,
Tout d'abord le Lambert 2 étendu correspond au code EPSG 27572
Ensuite si on veut faire les chose proprement il faudrait faire les
transformations suivantes :
* 27572 -> 4807
* 4807 -> 4326
Mais au final si tu as une déformation celle-ci est dû directement au
SRID 27572, ce système était au début prévu pour décrire les données du
centre de la france d'où le 2 et non toute la France d'où le étendu.
D'ailleurs les sites gouvernementaux ne devrait plus depuis quelques
années fournir des données en Lambert 2 étendu mais en Lambert 93 aka 2154
René-Luc D'Hont
3Liz
Le 28/04/2011 22:28, Lionel Gueganton a écrit :
Bonsoir,
Je rebondis sur la question parce qu'il y a qques temps j'ai essayé
cette même conversion lambert 2 (étendu) (des données qui venaient
d'un site gouvernemental) -> WGS 84 et je me suis heurté à un problème
de décalage (classique visiblement quand on fait une recherche sur
google...)
Comme il semble y avoir des personnes calées sur le sujet ici j'en
profite ;)
Pour ma part je le faisais via spatialite (qui utilise donc ensuite
proj) et je faisais appel à la function SQL transform pour passer d'un
SRID à un autre.
ex:
Transform(GeomFromText("POINT(....)", 27572), 4326)
Je n'étais pas réellement sur du bon SRID , alors j'en ai essayé 2
avec les propriétés proj suivantes mais j'ai eu le décalage à chaque
fois (qques centaines de mètres vers l'ouest de mémoire).
Voici la définition des SRIDs que j'utilisais :
INSERT INTO spatial_ref_sys (srid, auth_name, auth_srid,ref_sys_name,
proj4text) VALUES (*27572*, 'epsg', 27572, 'NTF (Paris) / Lambert zone
II', '+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742
+x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515
+towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs');
INSERT INTO spatial_ref_sys (srid, auth_name, auth_srid,ref_sys_name,
proj4text) VALUES (*27563*, 'epsg', 27563, 'NTF (Paris) / Lambert Sud
France', '+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001
+lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2
+b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs');
INSERT INTO spatial_ref_sys (srid, auth_name, auth_srid,ref_sys_name,
proj4text) VALUES (*27582*, 'epsg', 27582, 'NTF (Paris) / France II
(deprecated)', '+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0
+k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515
+towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs');
INSERT INTO spatial_ref_sys (srid, auth_name, auth_srid, ref_sys_name,
proj4text) VALUES (*4326*, 'epsg', 4326,'WGS 84', '+proj=longlat
+ellps=WGS84 +datum=WGS84 +no_defs');
Tout cela me semblait correct mais il y a probablement un souci car
les positions obtenues me semblaient décallées par rapport à la réalité.
Les données venaient d'un site gouvernemental. A ce propos,
classiquement, sur les site gouvernementaux, le lambert 2 étendu
correspond à quel SRID exactement ? (peut etre est-ce là la source de
mon erreur :/)
Merci de votre retour,
Lionel.
On Apr 22, 2011, at 12:10 PM, [email protected]
<mailto:[email protected]> wrote:
Puis, pour le calcul
http://fr.wikipedia.org/wiki/Projection_de_Lambert#Des_coordonn.C3.A9es_cartographiques_.28X.2CY.29_aux_g.C3.A9ographiques_.28lat.2C_lon.29
quel X0 je prends, sachant qu'il dépend des coordonnées que je cherche
justement à calculer ?
Bref, je suis un peu perdu, alors si quelqu'un peut m'expliquer ou
encore
mieux, me donner un exemple de code qui fait la transformation, je
serais
bien
content :)
il existe des librairies qui font le boulot
http://trac.osgeo.org/proj4j/ pour java
http://trac.osgeo.org/proj/ en C
--
JB
_______________________________________________
dev-fr mailing list
[email protected] <mailto:[email protected]>
http://lists.openstreetmap.org/listinfo/dev-fr
_______________________________________________
dev-fr mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev-fr
_______________________________________________
dev-fr mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev-fr