#1 Mon 22 February 2010 09:34
- mygeomatic
- Participant occasionnel
- Date d'inscription: 14 Oct 2009
- Messages: 24
- Site web
Reprojection de DXF avec OGR
Bonjour,
J'ai découvert assez récemment l'intégration du driver DXF à la bibliothèque OGR. Je l'ai testé pour les conversions en SHP et inversement et ça marche. Par contre je n'ai pas réussi à réaliser de reprojection :
Code:
ogr2ogr -f "DXF" -s_srs EPSG:27572 -t_srs EPSG:27562 "C:\Documents and Settings\C_Millet\Bureau\Test\test_L2C.DXF" "C:\Documents and Settings\C_Millet\Bureau\Test\test.dxf"
me renvoi l'erreur suivante
Code:
ERROR 4: Failed to open 'C:\Documents and Settings\C_Millet\Bureau\Test\test_L2C .DXF' for writing. DXF driver failed to create C:\Documents and Settings\C_Millet\Bureau\Test\test_ L2C.DXF
Si quelqu'un a eu le temps de tester ce driver je serai curieux d'avoir son retour. Je serai aussi curieux de savoir comment générer des calques mais je pourrai faire un autre sujet pour ça.
bonne journée,
Charles
Dernière modification par mygeomatic (Mon 22 February 2010 13:42)
Hors ligne
#2 Mon 22 February 2010 14:07
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: Reprojection de DXF avec OGR
Bonjour
L'erreur vient peut-être du fait que le fichier après projection se met en 1er.
Par exemple dans votre cas:
ogr2ogr -f "DXF" -s_srs EPSG:27572 -t_srs EPSG:27562 C:\Documents and Settings\C_Millet\Bureau\Test\FICHIER_EN_SORTIE.DXF C:\Documents and Settings\C_Millet\Bureau\Test\FICHIER_EN_ENTREE.dxf
Hors ligne
#3 Mon 22 February 2010 14:51
- mygeomatic
- Participant occasionnel
- Date d'inscription: 14 Oct 2009
- Messages: 24
- Site web
Re: Reprojection de DXF avec OGR
Bonjour,
Merci pour cette réponse.
Le fichier que je précise en premier est bien celui que est sensé être créé après reprojection. Ça m'a quand même motivé à réessayer et je n'ai pas eu le même message d'erreur. Le nouveau est beaucoup plus intéressant puisqu'il parle d'un problème avec la géométrie d'un objet de type 'Geometry Collection". Le fichier créé reste vide même avec un "-skipfailures"
Code:
C:\Program Files\FWTools2.4.7>ogr2ogr -f "DXF" -s_srs EPSG:27572 -t_srs EPSG27562 "C:\Documents and Settings\C_Millet\Bureau\OUTPUT_FILE.DXF" "C:\Documents and Settings\ C_Millet\Bureau\INPUT_FILE.DXF" ERROR 1: No known way to write feature with geometry 'Geometry Collection'. ERROR 1: Terminating translation prematurely after failed translation of layer entities (use -skipfailures to skip errors) C:\Program Files\FWTools2.4.7>ogr2ogr -skipfailures -f "DXF" -s_srs EPSG:27572 -t_srs EPSG:27562 "C:\Documents and Settings\C_Millet\Bureau\OUTPUT_FILE.DXF" "C:\Documents and Settings\C_Millet\Bureau\INPUT_FILE.DXF" ERROR 1: No known way to write feature with geometry 'Geometry Collection'.
"Geometry Collection" doit faire référence aux Blocks je pense, il y a peut-être une impossibilité de reprojeter les Bocks ce qui peut ce comprendre. Je faisait déjà de la reprojection de DXF sous AutoCAD grâce à un tutoriel que j'ai trouvé sur le forum, mais je ne m'étais pas demandé ce que devenaient les Blocks. La logique d'un Block voudrait qu'il s'agisse d'un objet au dimension "fixe" et donc qui ne soit pas soumis à une reprojection à priori.
Je vais refaire des tests en explosant les Blocks pour voir.
Dernière modification par mygeomatic (Mon 22 February 2010 15:33)
Hors ligne
#4 Mon 22 February 2010 14:54
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: Reprojection de DXF avec OGR
Personnellement je ne maîtrise pas le DXF; par contre j'ai vu ce sujet où l'on parle de "skipfailure":
http://georezo.net/forum/viewtopic.php?id=54675
Hors ligne
#5 Mon 22 February 2010 16:00
- mygeomatic
- Participant occasionnel
- Date d'inscription: 14 Oct 2009
- Messages: 24
- Site web
Re: Reprojection de DXF avec OGR
Bien, j'ai fait le test de la reprojection après avoir détruit tous les Blocks. Ça fonctionne mais je perds les calques. Je mets quand même la ligne de commande qui fonctionne, il faut bien penser à "exploser" les Blocks pour que ça marche :
Code:
ogr2ogr -f "DXF" -s_srs EPSG:27562 -t_srs EPSG:27572 "C:\Documents\Bureau\OUTPUT_NO_BLOCKS_L2E.DXF" "C:\Documents\Bureau\OUTPUT_NO_BLOCKS_L2C.DXF"
Si quelqu'un a une solution pour reprojeter le DXF en gardant les Blocks et les calques je suis preneur.
Bonne journée,
Charles
Hors ligne
#6 Mon 22 February 2010 22:54
- rouault
- Participant assidu
- Date d'inscription: 26 Apr 2009
- Messages: 168
Re: Reprojection de DXF avec OGR
Ca peut valoir la peine de le signaler sur le Trac de GDAL : http://trac.osgeo.org/gdal/newticket
Avec idéalement un extrait du fichier DXF source qui met en évidence le problème
Hors ligne