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 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: 362

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: 362

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: 166

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

 

Pied de page des forums

Powered by FluxBB