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é ?

#1 Fri 26 February 2010 21:14

Romain D.
Juste Inscrit !
Date d'inscription: 26 Feb 2010
Messages: 7

Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Bonjour à tous,

Je suis nouveau sur ce forum et assez novice en cartographie, cependant j'ai un répertoire contenant plusieurs centaines de fichier Shp, géo-référencés en Lambert 2 Étendu à convertir en Lambert 93.

En farfouillant un peu ce forum, j'ai trouvé une solution via Ogr2ogr me permettant de réaliser cette manipulation "à la vollée", ce qui me convient parfaitement.

J'ai fait un premier essai, plutôt concluant, et afin de vérifier ma transposition j'ai comparé le résultat obtenu via Ogr2ogr avec celui d'IGNMAP, et j'observe un décalage pour le premier polygone de chaque fichier traité... C'est d'autant plus étrange que tous les autres contours sont parfaitement identiques !!

Voici la commande que j'ai utilisée :

Code:

ogr2ogr -t_srs "+init=IGNF:LAMB93" -s_srs "+init=IGNF:LAMBE +wktext" polygones_L93.shp polygones_L2E.shp

Je l'ai reprise du site http://lambert93.ign.fr/index.php?id=29
Avez-vous déjà rencontré ce genre de problème ??

Hors ligne

 

#2 Mon 01 March 2010 10:51

Paul
Participant assidu
Lieu: Paris
Date d'inscription: 31 Jul 2008
Messages: 158

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Salut,

Ce message n'est pas vraiment une réponse mais plutôt un commentaire sur ogr2ogr.
Je pense qu'il peut être plus simple d'utiliser les codes EPSG dans les commandes (tu trouveras une description des codes EPSG ici : http://georezo.net/wiki/main:dico:epsg)
Le code ESPG du Lambert 93 est 2154, ainsi ta commande devient :

ogr2ogr -t_srs epsg:2154 polygones_L93.shp polygones_L2e.shp

Paul


Paul

Hors ligne

 

#3 Mon 01 March 2010 11:29

Sam_Dalembert
Participant actif
Lieu: Mérignac
Date d'inscription: 5 Aug 2009
Messages: 121

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Ouais mais attention, les codes EPSG ne prennent pas en compte la grille de l'IGN, donc les résultats peuvent être bons comme être beaucoup moins bons.
Enfin je connais pas OGR, mais son frère raster GDAL, et les erreurs de transformations de coordonnées avec les codes EPSG peuvent aller jusqu'à plusieurs mètres (par rapport à Circé), facilement, tout dépend d'où l'on se trouve en France.
Alors qu'avec le code IGNF, c'est exactement égal à Circé.

Dernière modification par Sam_Dalembert (Mon 01 March 2010 11:30)

Hors ligne

 

#4 Tue 02 March 2010 12:32

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Il me semble que pour le lambert 93, les paramètres de la grille IGN que l'on retrouve dans le fichier IGNF et ceux du fichier EPSG étant identiques, les résultats sont identiques, que l'on utilise "+init=IGNF:LAMB93" ou "EPSG:2154".
Par contre, cela n'est pas vrai pour d'autres projections, telles que le Lambert 4 Carto, le Lambert 2 Etendu, aussi, me semble-t-il..


geodata au cerema et petits billets en géomatique

Hors ligne

 

#5 Tue 02 March 2010 13:11

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

La grille IGN GR3D97A ne sert que pour les transformations NTF => RGF93.

Parler de grille pour la définition du système de coordonnées Lambert 93 n'a pas de sens. Que les résultats soient les mêmes qu'avec les paramètres EPSG est rassurant.

Ouais mais attention, les codes EPSG ne prennent pas en compte la grille de l'IGN, donc les résultats peuvent être bons comme être beaucoup moins bons.


C'est plus simple que ça, dès qu'il y a transformation de la NTF vers le RGF93 (Lambert zone => lambert 93 / CC9Z), avec les codes EPSG, la précision est métrique (1 à 5 m), avec les codes IGNF, la précision est centimétrique. 



Pour répondre à Romain, s'il n'y a que le premier polygone qui a un décalage, ce n'est pas un problème de ligne de commande, mais plutôt d'interprétation du shapefile.

À qui la faute ? Quel est le logiciel fautif ? Va-t-il falloir reporter un bug pour ogr ou pour IGNMap ? Ou alors est-ce qu'un problème d'intégrité du fichier ?

D'abord il faut rejeter l'hypothèse de la corruption du fichier et refaire le test avec des données "test". Ensuite, pour savoir quel logiciel a un problème, il faut faire les conversions des coordonnées des sommets manuellement (Circée, ça va être le mieux je crois).


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#6 Wed 03 March 2010 11:16

Romain D.
Juste Inscrit !
Date d'inscription: 26 Feb 2010
Messages: 7

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Merci pour vos réponses !

C'est bien Ogr2ogr qui pose problème. je n'ai pas vérifié avec Circée, mais la superposition avec les Raster correspondantes le prouve bien (le décalage visuel est flagrant).

J'ai essayé de changer ma ligne de commande, juste pour voir, en utilisant les codes ESPG mais j'ai un problème de référentiel (fichier CSV manquant) donc je n'ai pas été plus loin...

Par contre, j'ai essayé de supprimer la mention +wktext dans la ligne de commande initiale, et j'obtiens un résultat plus que surprenant :
- tous les polygones sont décalés par rapport à IGNMap (ce qui ne m'étonne pas)
- le premier polygone de chaque fichier shp est positionné de la même façon qu'avec la commande contenant la mention +wktext

J'en arrive donc à la conclusion que cette mention +wktext est correctement prise en compte pour tous les polygones, sauf le premier de chaque fichier Shp.

Existe t-il une autre alternative pour convertir, à la volée, des fichiers Shp d'un système de coordonnées à un autre ?

Merci pour vos réponses.

Hors ligne

 

#7 Wed 03 March 2010 12:13

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

En libre, tout le monde va utiliser ogr.

La solution est d'aller reporter le bug chez OGR (http://trac.osgeo.org/gdal/wiki).

Sinon le shapefile, c'est ESRI...


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#8 Wed 03 March 2010 15:17

rouault
Participant assidu
Date d'inscription: 26 Apr 2009
Messages: 168

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Romain,

c'est plutôt surprenant. Utilises-tu une version de GDAL/OGR suffisamment récente ? Mais bon je n'ai pas souvenir de bug spécifique au traitement du premier polygone. Si tu confirmes le problème avec une version récente, surtout attache un jeu de données/fournis un lien permettant de reproduire le problème, avec la commande que tu utilises, le résultat qu'il te retourne et le résultat qui serait attendu.

Hors ligne

 

#9 Wed 03 March 2010 15:35

Romain D.
Juste Inscrit !
Date d'inscription: 26 Feb 2010
Messages: 7

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

J'utilise FWTools 2.4.7. J'ai essayé d'installé Ogr2ogr.exe (via gdalwin32-1.6) mais je n'arrive pas à le faire fonctionner ; j'ai le message suivant :

Code:

Failed to process SRS definition: +init=IGNF:LAMBE

Existe t-il une méthode pour vérifier la version d'Ogr2ogr que j'ai récupéré dans FWTools ?

Hors ligne

 

#10 Wed 03 March 2010 15:50

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Code:

ogr2ogr --version

Tu as alors le numéro de version...


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#11 Wed 03 March 2010 15:57

Romain D.
Juste Inscrit !
Date d'inscription: 26 Feb 2010
Messages: 7

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Merci. J'obtiens ca:

Code:

GDAL 1.7.0b2, FWTools 2.4.7, released 2010/01/19

Ca parait relativement récent...

Hors ligne

 

#12 Wed 03 March 2010 16:11

gilles_martinoty
Participant actif
Date d'inscription: 4 Mar 2008
Messages: 56

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Bonjour,

La version labellisée par l'IGN était Fwtools 2.2.8 (cf. http://lambert93.ign.fr/index.php?id=37 ).
Logiquement vous ne devriez pas rencontrer le même problème avec cette version (téléchargeable ici: http://home.gdal.org/fwtools/ ). Cela vous permettra d'avancer sur votre conversion, et d'avoir identifier qu'un problème aurait été introduit entre 2.2.8 et 2.4.7

Cordialement,
Gilles Martinoty

Hors ligne

 

#13 Wed 03 March 2010 16:55

Romain D.
Juste Inscrit !
Date d'inscription: 26 Feb 2010
Messages: 7

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Je viens d'effectuer la même manipulation avec la version 2.2.8 et le résultat est identique en tout point. Je vais rapporter le problème sur le bug tracker d'Ogr.

Hors ligne

 

#14 Wed 03 March 2010 17:14

gilles_martinoty
Participant actif
Date d'inscription: 4 Mar 2008
Messages: 56

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Je suggère que vous partagiez le fichier que vous reprojetez ici... peut-être avant de faire le bug report (ou de joindre le fichier au bug report).

GM

Hors ligne

 

#15 Wed 03 March 2010 21:56

rouault
Participant assidu
Date d'inscription: 26 Apr 2009
Messages: 168

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Bon, ce problème m'intriguant je me suis livré à quelques essais...

Soit le fichier CSV suivant, appelé test_LAMB93.csv (le 1er point du polygone correspond au point de référence cité dans http://lambert93.ign.fr/index.php?id=29) :

Code:

polygon_id,WKT
1,"POLYGON((619119.460 7102502.980,619119.460 7202502.980,629119.460 7202502.980,629119.460 7102502.980,619119.460 7102502.980))"
2,"POLYGON((619119.460 7102502.980,619119.460 7202502.980,629119.460 7202502.980,629119.460 7102502.980,619119.460 7102502.980))"
3,"POLYGON((619119.460 7102502.980,619119.460 7202502.980,629119.460 7202502.980,629119.460 7102502.980,619119.460 7102502.980))"

Maitenant, on convertit en IGNF:LAMBE :

Code:

ogr2ogr -s_srs  "+init=IGNF:LAMB93"  -t_srs  "+init=IGNF:LAMBE +wktext" test_LAMBE.shp test_LAMB93.csv -sql "select polygon_id from test_LAMB93"

ogrinfo -ro -al test_LAMBE.shp retourne :

Code:

OGRFeature(test_LAMBE):0
  polygon_id (String) = 1
  POLYGON ((565767.905480148037896 2669005.730271843727678,564931.662070809863508 2769043.039050404448062,574934.921759597607888 2769126.624899289570749,575772.031950509990565 2669089.409371028654277,565767.905480148037896 2669005.730271843727678))

OGRFeature(test_LAMBE):1
  polygon_id (String) = 2
  POLYGON ((565767.905480148037896 2669005.730271843727678,564931.662070809863508 2769043.039050404448062,574934.921759597607888 2769126.624899289570749,575772.031950509990565 2669089.409371028654277,565767.905480148037896 2669005.730271843727678))

OGRFeature(test_LAMBE):2
  polygon_id (String) = 3
  POLYGON ((565767.905480148037896 2669005.730271843727678,564931.662070809863508 2769043.039050404448062,574934.921759597607888 2769126.624899289570749,575772.031950509990565 2669089.409371028654277,565767.905480148037896 2669005.730271843727678))

Les 3 polygones sont donc identiques et leur 1er point correspond bien au résultat attendu cité par la page lambert93.ign.fr.

Donc, je ne reproduis pas le problème (avec gdal-svn-trunk et proj-4.7.0)

Hors ligne

 

#16 Thu 04 March 2010 09:15

Romain D.
Juste Inscrit !
Date d'inscription: 26 Feb 2010
Messages: 7

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Même procédure.
Je suis parti d'un fichier shp existant, défini tel que (ogrinfo -ro -al "C:\test\lamb93.shp" > C:\info.txt) :

Code:

INFO: Open of `C:\test\lamb93.shp'
using driver `ESRI Shapefile' successful.

Layer name: lamb93
Geometry: Polygon
Feature Count: 7
Extent: (656919.002000, 6996843.931000) - (669071.178000, 7006758.929000)
Layer SRS WKT:
(unknown)
polygon_id: String (80.0)
OGRFeature(lamb93):0
  polygon_id (String) = 1
  POLYGON ((659472.58600000001 7001951.307,659472.53500000003 7001951.2779999999,659405.875 7001922.4129999997,659379.16599999997 7001973.3619999997,659368.21299999999 7001965.3289999999,659381.603 7001936.2400000002,659380.50100000005 7001927.6639999999,659238.03599999996 7001845.1550000003,659139.39000000001 7001784.1550000003,659068.42000000004 7001746.7319999998,658941.41200000001 7001704.0520000001,658914.652 7001695.4620000003,658879.34199999995 7001676.7479999997,658873.89800000004 7001683.1009999998,658879.56999999995 7001703.8930000002,658890.65000000002 7001728.2970000003,658907.08600000001 7001749.0080000004,658915.45999999996 7001764.2800000003,658919.31999999995 7001801.3490000004,658926.82200000004 7001848.3530000001,658921.56999999995 7001877.5920000002,658914.81999999995 7001947.3839999996,658906.30799999996 7002023.9469999997,658977.72600000002 7002059.9879999999,659066.69799999997 7002100.9289999995,659280.87600000005 7002200.926,659300.61800000002 7002205.9069999997,659434.92700000003 7002272.9129999997,659457.00300000003 7002283.1519999998,659504.70499999996 7002305.1900000004,659519.52399999998 7002296.3600000003,659529.08999999997 7002290.5619999999,659539.55900000001 7002276.0070000002,659443.53099999996 7002234.4440000001,659523.16599999997 7002102.926,659531.41399999999 7002076.9790000003,659512.65399999998 7002052.1689999998,659516.36499999999 7002029.8090000004,659532.57200000004 7002010.2029999997,659534.79500000004 7002002.398,659540.13100000005 7001983.1229999997,659531.96799999999 7001978.7240000004,659512.87800000003 7001982.432,659487.03399999999 7001973.3739999998,659483.42200000002 7001965.7290000003,659483.38100000005 7001965.6490000002,659477.82200000004 7001953.5319999997,659472.58600000001 7001951.307))

OGRFeature(lamb93):1
  polygon_id (String) = 2
  POLYGON ((658662.11300000001 7001387.3099999996,658666.60699999996 7001241.6109999996,658670.12899999996 7001133.3720000004,658673.84100000001 7001013.6950000003,658679.26599999995 7000842.8300000001,658624.429 7000832.2850000001,658609.13199999998 7001359.5949999997,658662.11300000001 7001387.3099999996))

OGRFeature(lamb93):2
  polygon_id (String) = 3
  POLYGON ((659534.41799999995 7001381.7010000004,659529.74699999997 7001401.6109999996,659547.21600000001 7001408.4500000002,659562.04599999997 7001415.1919999998,659626.18400000001 7001430.4550000001,659639.70600000001 7001431.4900000002,659657.79599999997 7001431.3380000005,659778.14800000004 7001458.7209999999,659744.43500000006 7001357.6660000002,659740.35600000003 7001349.2240000004,659734.125 7001342.8600000003,659725.13899999997 7001336.8679999998,659570.60499999998 7001289.5029999996,659558.35199999996 7001286.0080000004,659534.41799999995 7001381.7010000004))

OGRFeature(lamb93):3
  polygon_id (String) = 4
  POLYGON ((660057.32900000003 7002058.7709999997,660061.68999999994 7002059.1140000001,660265.58299999998 7002075.6380000003,660212.47199999995 7001944.9280000003,660210.09499999997 7001944.7050000001,660210.10400000005 7001944.7300000004,660208.39000000001 7001944.5449999999,660085.17000000004 7001932.9960000003,660015.56599999999 7001925.1009999998,659993.69700000004 7002053.7290000003,660057.32900000003 7002058.7709999997))

OGRFeature(lamb93):4
  polygon_id (String) = 5
  POLYGON ((657042.99800000002 6997122.7070000004,657060.02800000005 6997009.5209999997,657068.68200000003 6996962.9610000001,657077.41899999999 6996926.1260000002,657090.23100000003 6996883.0800000001,657101.92599999998 6996843.9309999999,657074.87 6996867.8669999996,657025.40599999996 6996909.733,657010.52300000004 6996924.0609999998,657000.32499999995 6996936.7400000002,656979.15899999999 6996965.7740000002,656960.18000000005 6996982.6550000003,656937.33100000001 6997002.8870000001,656919.00199999998 6997029.2570000002,656993.05700000003 6997086.5159999998,657042.99800000002 6997122.7070000004))

OGRFeature(lamb93):5
  polygon_id (String) = 6
  POLYGON ((668952.26500000001 7006524.3490000004,668770.11899999995 7006686.9539999999,668794.19999999995 7006690.7589999996,668851.45999999996 7006704.7000000002,668879.26399999997 7006715.1210000003,668947.67200000002 7006747.1789999995,668993.33900000004 7006758.9289999995,669071.17799999996 7006576.5520000001,669006.18700000003 7006570.4519999996,668987.40099999995 7006556.7570000002,668958.87399999995 7006518.6260000002,668952.26500000001 7006524.3490000004))

OGRFeature(lamb93):6
  polygon_id (String) = 7
  POLYGON ((658480.37199999997 7003564.5420000004,658481.16399999999 7003566.0049999999,658481.87100000004 7003566.898,658546.473 7003633.9210000001,658547.72900000005 7003635.8399999999,658548.11699999997 7003636.8559999997,658548.46499999997 7003638.9819999998,658548.69700000004 7003639.2199999997,658557.63600000006 7003648.0,658612.88600000006 7003614.2120000003,658645.076 7003601.807,658662.85900000005 7003593.5920000002,658664.12199999997 7003592.8320000004,658665.80200000003 7003591.818,658673.53899999999 7003582.3279999997,658653.46900000004 7003551.4720000001,658641.38500000001 7003516.9910000004,658647.97999999998 7003483.4919999996,658662.88800000004 7003446.0350000001,658677.78599999996 7003406.1799999997,658784.96100000001 7003377.2220000001,658782.72100000002 7003342.5480000004,658815.48199999996 7003330.2489999998,658888.14199999999 7003310.6270000003,658933.90700000001 7003291.2319999998,658918.13800000004 7003269.0350000001,658894.41700000002 7003211.6339999996,658872.83799999999 7003165.3279999997,658860.34900000005 7003123.0650000004,658833.33999999997 7003152.6069999998,658844.06499999994 7003202.5520000001,658816.78899999999 7003226.4900000002,658777.46499999997 7003261.8629999999,658752.69400000002 7003285.3099999996,658748.10999999999 7003326.2280000001,658709.76199999999 7003355.1859999998,658674.505 7003370.1349999998,658635.08299999998 7003366.4589999998,658587.52599999995 7003361.8219999997,658538.20700000005 7003380.4469999997,658507.13 7003415.9709999999,658470.03000000003 7003443.6490000002,658457.02800000005 7003462.8890000004,658462.13399999996 7003470.9720000001,658481.72699999996 7003486.7300000004,658497.28200000001 7003510.8669999996,658497.02000000002 7003534.3470000001,658478.027 7003563.8219999997,658479.12600000005 7003565.0020000003,658479.85800000001 7003564.0369999995,658480.31099999999 7003564.483,658480.37199999997 7003564.5420000004))

Je le converti en Lambert 2E via ogr2ogr :

Code:

C:\Program Files\FWTools2.4.7\bin>ogr2ogr -t_srs "+init=IGNF:LAMBE +wktext" -s_s
rs "+init=IGNF:LAMB93" "C:\test\Lamb2E.shp" "C:\test\lamb93.shp" > C:\info.txt
pj_open_lib(IGNF): call fopen(C:\PROJSHARE\IGNF) - succeeded
pj_open_lib(IGNF): call fopen(C:\PROJSHARE\IGNF) - succeeded
pj_open_lib(ntf_r93.gsb): call fopen(C:\PROJSHARE\ntf_r93.gsb) - succeeded
NTv2 FRANCE   156x111: LL=(-5.5,41) UR=(10,52)
pj_open_lib(null): call fopen(C:\PROJSHARE\null) - failed
NTv2 - loading grid FRANCE
pj_open_lib(ntf_r93.gsb): call fopen(C:\PROJSHARE\ntf_r93.gsb) - succeeded
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE
pj_apply_gridshift(): used FRANCE

De la même façon, je converti mon fichier lamb93.shp avec IGNMap (depuis Lambert 93 vers Lambert 2E).
Voici les résultats obtenus :
- Avec OGR2OGR (ogrinfo -ro -al "C:\test\OGR2OGR\lamb2E.shp" > C:\info.txt) :

Code:

INFO: Open of `C:\test\OGR2OGR\Lamb2E.shp'
      using driver `ESRI Shapefile' successful.

Layer name: Lamb2E
Geometry: Polygon
Feature Count: 7
Extent: (604469.050011, 2563616.589729) - (616546.760162, 2573636.660407)
Layer SRS WKT:
PROJCS["Lambert_Conformal_Conic",
    GEOGCS["GCS_unnamed ellipse",
        DATUM["unknown",
            SPHEROID["Unknown",6378249.2,293.466021]],
        PRIMEM["Unknown",2.337229167],
        UNIT["Degree",0.017453292519943295]],
    PROJECTION["Lambert_Conformal_Conic_1SP"],
    PARAMETER["latitude_of_origin",46.8],
    PARAMETER["central_meridian",0],
    PARAMETER["scale_factor",0.99987742],
    PARAMETER["false_easting",600000],
    PARAMETER["false_northing",2200000],
    UNIT["Meter",1],
    PARAMETER["standard_parallel_1",46.8]]
polygon_id: String (80.0)
OGRFeature(Lamb2E):0
  polygon_id (String) = 1
  POLYGON ((606931.37699956156 2568739.5780197983,606931.32621588313 2568739.5485769603,606864.87299118633 2568710.1092057666,606837.7214842774 2568760.8588073459,606826.83010941581 2568752.7298146868,606840.47175686143 2568723.7390349368,606839.44123554206 2568715.14955761,606697.59309763392 2568631.4027934354,606599.40672813135 2568569.5438411804,606528.71308810438 2568531.506057282,606401.9955141081 2568487.7377956309,606375.29332220089 2568478.9187033898,606340.12161171634 2568459.8987855618,606334.62130039302 2568466.2091642921,606340.12162550597 2568487.0590536464,606351.00250290136 2568511.5681630629,606367.27329079434 2568532.4274626588,606375.5234531709 2568547.777341357,606379.0740221506 2568584.8970081946,606386.18505962822 2568631.9871636895,606380.68453235808 2568661.1964087836,606373.3444190392 2568730.9660051181,606364.18446121109 2568807.4951201677,606435.33794455358 2568844.1539713619,606524.01367188036 2568885.8627441698,606737.46632878599 2568987.7086961726,606757.17706844304 2568992.8580440436,606890.99506668665 2569061.0256338459,606912.99687018141 2569071.4551815875,606960.53927155351 2569093.9048772547,606975.44043177157 2569085.1950709019,606985.06029203755 2569079.4746105131,606995.65722978627 2569065.0004353807,606899.92697065417 2569022.6100329338,606980.70997843682 2568891.6966095548,606989.18046205654 2568865.8061679383,606970.61888856883 2568840.8263205383,606974.51979140902 2568818.4865141236,606990.90026046452 2568799.0070725624,606993.19004640623 2568791.2169166375,606998.69089651713 2568771.9772819956,606990.56048145588 2568767.5075206463,606971.42906823731 2568771.05691911,606945.64731143136 2568761.7772838427,606942.09761895949 2568754.0981714828,606942.05726924748 2568754.0177876046,606936.59711301653 2568741.848114762,606931.37699956156 2568739.5780197983))

OGRFeature(Lamb2E):1
  polygon_id (String) = 2
  POLYGON ((606176.35998194863 2568175.3883792781,606182.08087775123 2568029.6541968933,606186.51442042913 2567921.3905940847,606191.23420215957 2567801.6848478713,606198.0980911433 2567630.7798430454,606143.32342891919 2567619.7679404849,606123.58655282389 2568147.2135241302,606176.35998194863 2568175.3883792781))

OGRFeature(Lamb2E):2
  polygon_id (String) = 3
  POLYGON ((607049.13032433135 2568177.1195114506,607044.28971448343 2568197.0001522917,607061.70959797397 2568203.9896315844,607076.49003165739 2568210.8598467172,607140.53047201713 2568226.6704106354,607154.05025362468 2568227.8197599398,607172.1502034507 2568227.8199702194,607292.32970389549 2568256.2298262282,607259.45005683764 2568154.8404731057,607255.44006855215 2568146.3599115475,607249.25957991777 2568139.9402729981,607240.31964323425 2568133.8696278036,607086.10972350952 2568085.1800078703,607073.88022908929 2568081.5801094021,607049.13032433135 2568177.1195114506))

OGRFeature(Lamb2E):3
  polygon_id (String) = 4
  POLYGON ((607566.60016032704 2568858.9299204787,607570.96036621602 2568859.309803078,607774.81213881809 2568877.5584595883,607722.77452817513 2568746.3360903007,607720.39826392487 2568746.0929686311,607720.40705807181 2568746.1180568798,607718.69379204384 2568745.9185355259,607595.51183915883 2568733.3264699075,607525.94085792429 2568724.8415866191,607502.98006017611 2568853.3497438123,607566.60016032704 2568858.9299204787))

OGRFeature(Lamb2E):4
  polygon_id (String) = 5
  POLYGON ((604592.32021518634 2563895.0102211204,604610.30996837199 2563781.9104871685,604619.35956176312 2563735.3998571066,604628.41043453815 2563698.6198378988,604641.59047986032 2563655.6600028765,604653.62022619951 2563616.5897287931,604626.35000898899 2563640.3099409603,604576.51029848168 2563681.780484573,604561.49969860655 2563695.9903734289,604551.19021014124 2563708.5898882942,604529.76995871484 2563737.4602911896,604510.63992982742 2563754.1899748431,604487.6097173309 2563774.2401590752,604469.05001142377 2563800.4696657532,604542.65951966192 2563858.3803370637,604592.32021518634 2563895.0102211204))

OGRFeature(Lamb2E):5
  polygon_id (String) = 6
  POLYGON ((616428.22974755429 2573401.6201030021,616244.62961096119 2573562.7699909122,616268.6900450791 2573566.7796962098,616325.85998569883 2573581.2098319489,616353.58954224305 2573591.8701235307,616421.76039822027 2573624.5199949406,616467.35025872011 2573636.6604069942,616546.76016224793 2573454.8502657879,616481.78959861794 2573448.199808734,616463.10986109637 2573434.3398821931,616434.89002163068 2573395.9499879959,616428.22974755429 2573401.6201030021))

OGRFeature(Lamb2E):6
  polygon_id (String) = 7
  POLYGON ((605976.23030238983 2570352.1799500892,605977.01038351993 2570353.6503460393,605977.71021533012 2570354.5497419462,606041.77973455098 2570422.1498833755,606043.02020450332 2570424.080411749,606043.399849726 2570425.1001843908,606043.73014525964 2570427.230174718,606043.96025564452 2570427.4702459984,606052.82972823968 2570436.3298579371,606108.39017957996 2570402.9899520129,606140.69985557324 2570390.8496601502,606158.5604182682 2570382.7802156475,606159.83041104535 2570382.0304652811,606161.51973843947 2570381.0300974678,606169.34021258424 2570371.6004717848,606149.51998453261 2570340.5601590262,606137.72004844807 2570305.9602431878,606144.59979478747 2570272.5000157831,606159.82978978811 2570235.1497723307,606175.06993800984 2570195.4002469713,606282.53964342386 2570167.3297677315,606280.59004154627 2570132.619599151,606313.47010457842 2570120.5901760845,606386.32981905411 2570101.5698935864,606432.27975576289 2570082.5503759086,606416.68979895522 2570060.2095760573,606393.43996316148 2570002.5802677479,606372.23988621763 2569956.0695247753,606360.10017353727 2569913.6803027135,606332.82991503936 2569943.0097447913,606343.1402086314 2569993.0699570766,606315.64993090893 2570016.7903534793,606276.00976515433 2570051.8500651927,606251.02981500514 2570075.1003015046,606246.09966475936 2570116.0001600143,606207.48989323433 2570144.6498860149,606172.09036091948 2570159.3096306794,606132.68039674545 2570155.300021193,606085.13961768535 2570150.2604692988,606035.64045716426 2570168.4797117626,606004.24997541355 2570203.7599208783,605966.89956515655 2570231.1395237665,605953.72961495118 2570250.27971467,605958.77011348167 2570258.4097234253,605978.24002859893 2570274.3404845847,605993.59957850352 2570298.6204482224,605993.14008304616 2570322.1099718283,605973.89023267629 2570351.4398557576,605974.97983955196 2570352.6296939603,605975.72030143684 2570351.6703722025,605976.16976915125 2570352.1204072656,605976.23030238983 2570352.1799500892))

- Avec IGNMap (ogrinfo -ro -al "C:\test\IGNMAP\lamb2E.shp" > C:\info.txt) :

Code:

INFO: Open of `C:\test\IGNMAP\lamb2E.shp'
      using driver `ESRI Shapefile' successful.

Layer name: lamb2E
Geometry: Polygon
Feature Count: 7
Extent: (604469.050368, 2563616.588596) - (616546.760468, 2573636.660765)
Layer SRS WKT:
PROJCS["NTF_Lambert_II_étendu",
    GEOGCS["GCS_NTF",
        DATUM["NTF",
            SPHEROID["Clarke_1880_IGN",6378249.2,293.46602]],
        PRIMEM["Greenwich",0.0],
        UNIT["Degree",0.0174532925199433]],
    PROJECTION["Lambert_Conformal_Conic_2SP"],
    PARAMETER["False_Easting",600000.0],
    PARAMETER["False_Northing",2200000.0],
    PARAMETER["Central_Meridian",2.3372291667],
    PARAMETER["Standard_Parallel_1",45.8989188889],
    PARAMETER["Standard_Parallel_2",47.6960144444],
    PARAMETER["Scale_Factor",1.0],
    PARAMETER["Latitude_Of_Origin",46.8],
    UNIT["Meter",1.0]]
polygon_id: String (80.0)
OGRFeature(lamb2E):0
  polygon_id (String) = 1
  POLYGON ((606982.48096479173 2568746.4894764693,606982.43018414208 2568746.4600326568,606915.98089617945 2568717.0194639592,606888.83080657618 2568767.7691181749,606877.94008700375 2568759.6399006927,606891.58103319944 2568730.6490639038,606890.55059775326 2568722.0594976731,606748.71093299496 2568638.30998307,606650.53044584789 2568576.449081487,606579.84102325875 2568538.4099458903,606453.1309354793 2568494.6394702094,606426.43032029783 2568485.8199139321,606391.26071085944 2568466.7993173506,606385.7606981023 2568473.1096738512,606391.260636803 2568493.9598310795,606402.1408041016 2568518.4693186302,606418.41058142576 2568539.3290404128,606426.66021610959 2568554.6791760055,606430.21045976842 2568591.7992282966,606437.32093367085 2568638.889909667,606431.82063102839 2568668.099339284,606424.480718081 2568737.8694596943,606415.32104377658 2568814.3991346685,606486.47029237624 2568851.0593210869,606575.14075737388 2568892.7697167378,606788.58075384959 2568994.6195635032,606808.29033832101 2568999.7692322405,606942.10039518576 2569067.9392816024,606964.10089598247 2569078.3692256613,607011.64048326446 2569100.8197757201,607026.54080887174 2569092.1101025119,607036.16013057344 2569086.3897273578,607046.75649947196 2569071.9155766387,606951.03189943917 2569029.5234753024,607031.81063139206 2568898.6100645587,607040.28070266533 2568872.7195215179,607021.7202779192 2568847.7391991103,607025.62102211884 2568825.399257075,607042.00060167839 2568805.9198810318,607044.29027843545 2568798.1296911184,607049.7908677659 2568778.8899704609,607041.66093669448 2568774.4200557685,607022.53062020254 2568777.969213332,606996.75038364006 2568768.6891331887,606993.20091978286 2568761.0099047283,606993.16057264886 2568760.9295195863,606987.70076919219 2568748.7596650003,606982.48096479173 2568746.4894764693))

OGRFeature(lamb2E):1
  polygon_id (String) = 2
  POLYGON ((606176.3606242016 2568175.3877551639,606182.08152401168 2568029.653547205,606186.51506969891 2567921.3899250776,606191.23485481436 2567801.6841571378,606198.09874870395 2567630.7791206986,606143.32409028488 2567619.7672095457,606123.58719917294 2568147.2128890501,606176.3606242016 2568175.3877551639))

OGRFeature(lamb2E):2
  polygon_id (String) = 3
  POLYGON ((607049.1309137448 2568177.118991022,607044.29030364123 2568196.9996346114,607061.71018590825 2568203.9891172443,607076.49061852903 2568210.8593353704,607140.53105467465 2568226.6699099168,607154.05083545274 2568227.8192611029,607172.15078421193 2568227.8194736503,607292.33027683757 2568256.2293495191,607259.45063441258 2568154.8399753859,607255.4406465902 2568146.3594118953,607249.26015849353 2568139.9397714883,607240.32022250106 2568133.8691241266,607086.11031324498 2568085.1794764251,607073.88081965258 2568081.5795758059,607049.1309137448 2568177.118991022))

OGRFeature(lamb2E):3
  polygon_id (String) = 4
  POLYGON ((607566.60070245794 2568858.929571786,607570.96090809163 2568859.3094549822,607774.8126688234 2568877.5581397098,607722.77506414964 2568746.3357447209,607720.39880003897 2568746.092622715,607720.40759418381 2568746.1177109694,607718.69432825653 2568745.9181893654,607595.51238263154 2568733.3261062857,607525.94140554883 2568724.8412130028,607502.98060603242 2568853.3493864285,607566.60070245794 2568858.929571786))

OGRFeature(lamb2E):4
  polygon_id (String) = 5
  POLYGON ((604592.32114762254 2563895.0091012921,604610.31090421556 2563781.9093612432,604619.36049883312 2563735.3987288829,604628.411372373 2563698.618708143,604641.59141830844 2563655.6588717438,604653.62116519688 2563616.5885963934,604626.3509497859 2563640.30880595,604576.51124264032 2563681.7793446835,604561.50064369058 2563695.9892322309,604551.19114248862 2563708.588780703,604529.77064395195 2563737.4598244866,604510.64039534179 2563754.1900782883,604487.61007318471 2563774.2405466847,604469.05036826583 2563800.4700498134,604542.66034941119 2563858.3794898223,604592.32114762254 2563895.0091012921))

OGRFeature(lamb2E):5
  polygon_id (String) = 6
  POLYGON ((616428.23005452682 2573401.6204617145,616244.62992206821 2573562.7703425474,616268.69035581907 2573566.7800485101,616325.86029560771 2573581.2101858072,616353.58985177835 2573591.8704781067,616421.76070689235 2573624.5203512441,616467.35056674597 2573636.6607645974,616546.7604676832 2573454.8506279839,616481.78990504495 2573448.2001688313,616463.11016772815 2573434.340241787,616434.89032845921 2573395.9503469663,616428.23005452682 2573401.6204617145))

OGRFeature(lamb2E):6
  polygon_id (String) = 7
  POLYGON ((605976.23089939007 2570352.179634938,605977.01098044368 2570353.6500311363,605977.71081219509 2570354.5494272197,606041.78032635397 2570422.1495825807,606043.02079619397 2570424.0801112922,606043.40044137393 2570425.0998840937,606043.73073684191 2570427.229874705,606043.96084720886 2570427.4699460361,606052.83031911834 2570436.32955983,606108.39076813764 2570402.9896547683,606140.70044262067 2570390.8493643105,606158.56100450875 2570382.7799204253,606159.83099723281 2570382.0301700821,606161.52032455674 2570381.0298022991,606169.34079847822 2570371.6001761733,606149.52057220519 2570340.559857836,606137.72063754278 2570305.9599366728,606144.6003842511 2570272.4997057375,606159.83037924801 2570235.1494590016,606175.07052752096 2570195.3999300422,606282.5402275977 2570167.3294572299,606280.59062660823 2570132.6192840869,606313.47068808298 2570120.5898625907,606386.33039893955 2570101.5695846127,606432.28033352457 2570082.5500689428,606416.69037807977 2570060.2092647562,606393.44054487662 2570002.5799468216,606372.24047017342 2569956.0691957669,606360.10075914569 2569913.6799669787,606332.83050150145 2569943.0094102649,606343.14079336915 2569993.0696300659,606315.65051664226 2570016.7900269097,606276.01035230176 2570051.8497393792,606251.03040301648 2570075.0999763217,606246.10025211493 2570115.9998396039,606207.49048209121 2570144.6495656511,606172.09095141396 2570159.3093089033,606132.68098952982 2570155.2996952832,606085.14021323959 2570150.2601383952,606035.64105506567 2570168.4793787068,606004.25057425466 2570203.7595895166,605966.90016545192 2570231.1391925644,605953.73021553888 2570250.2793847397,605958.77071360033 2570258.4093949692,605978.24062726565 2570274.340159867,605993.60017575801 2570298.6201279163,605993.14067979075 2570322.1096544191,605973.89082982368 2570351.4395403089,605974.98043661145 2570352.6293787537,605975.72089847806 2570351.6700569429,605976.1703661565 2570352.1200920986,605976.23089939007 2570352.179634938))

On observe des différences pour tous les polygones, mais qui restent minimes, sauf pour le premier où l'écart entre les deux reprojections est beaucoup plus important !

Merci Rouault de m'avoir montré une méthode fiable pour vous expliquer que mon problème :-)

Hors ligne

 

#17 Thu 04 March 2010 21:36

rouault
Participant assidu
Date d'inscription: 26 Apr 2009
Messages: 168

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Je soupçonne un problème spécifique de ton côté. J'ai essayé avec FWTools 2.4.7 et j'obtiens des résultats différents des tiens sur le 1er polygone, mais qui conformes à ceux que te donne IGNmap. Les résultats que j'ai avec FWTools 2.4.7 sont de plus identiques à ceux que j'obtiens avec gdal-svn-trunk / proj 4.7.0 sous Linux.

Dans tes traces je vois que tu utilises des fichiers grille dans le répertoire C:\PROJSHARE. Hypothèse : tu as téléchargé une version corrompue des grilles et/ou utiliser une des versions de fwtools qui présentait les grilles corrompues. Le problème est résolu dans fwtools 2.4.6. Cf http://trac.osgeo.org/proj/ticket/52#comment:6 et http://lists.maptools.org/pipermail/pro … 04888.html

Je t'invite à défaire la variable d'environnement (PROJ_LIB a priori) qui fait que proj va chercher dans c:\projshare et a symplement taper "setfw" pour utiliser la grille qui se trouve dans c:\Program Files\FWTools2.4.7\proj_lib

Hors ligne

 

#18 Fri 05 March 2010 09:23

gilles_martinoty
Participant actif
Date d'inscription: 4 Mar 2008
Messages: 56

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

Bonjour,

Le problème est indiqué ici:

"pj_open_lib(null): call fopen(C:\PROJSHARE\null) - failed"

La solution est documentée ici, dans la rubrique "vérification de la bonne installation" :
http://lambert93.ign.fr/index.php?id=28#c68

La conclusion est que pour une raison inconnue, le fichier null n'est pas installé, et donc la conversion est erronée.
A noter que les versions de FWTools installent pourtant toutes ce fichier.
Une dernière vérification pour se convaincre:

C:\Program Files\FWTools2.2.9>cs2cs +init="IGNF:LAMB93" +to +init="IGNF:LAMBE"
659472.586 7001951.307
606982.48       2568746.49 -0.00
est bien le résultat fourni par IGNMap.

Si maintenant je supprime le fichier "null":
C:\Program Files\FWTools2.2.9>cs2cs +init="IGNF:LAMB93" +to +init="IGNF:LAMBE"
659472.586 7001951.307
606931.38       2568739.58 -0.00
est bien le résultat erroné que vous avez obtenu.

En conclusion, il n'y a donc pas de problème dans Gdal/OGR (ce qui est rassurant car un bug pareil aurait été détecté à la labellisation).

Cordialement,
Gilles Martinoty

Hors ligne

 

#19 Mon 08 March 2010 22:21

Romain D.
Juste Inscrit !
Date d'inscription: 26 Feb 2010
Messages: 7

Re: Ogr2Ogr : conversion lambert 2E vers lambert 93 aléatoire

En un mot : merci !
Je n'ai pu faire le test qu'aujourd'hui, et effectivement ca venait bien du fichier null manquant...
Mille excuses, et un grand merci à vous smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB