Pages: 1
- Sujet précédent - DXF PCI vers SHP - GDAL - séparer selon type geom - geometrycollection - Sujet suivant
#1 Tue 06 December 2011 11:31
DXF PCI vers SHP - GDAL - séparer selon type geom - geometrycollection
Bonjour,
J'ai un fichier dxf comportant plusieurs types géométriques.
Lorsque je l'affiche dans QGIS, il m'affiche des polygones.
Je cherche à le séparer en plusieurs fichiers shapefile: un par type géométrique. Pourtant, je n'arrive pas à extraire les objets polygone
Voici les étapes:
Dans un premier temps, je liste les types géom. présents dans le fichier:
Code:
ogrinfo -ro 044000AA01.DXF -sql "select distinct ogr_geometry from entities" INFO: Open of `044000AA01.DXF' using driver `DXF' successful. Layer name: entities Geometry: Unknown (any) Feature Count: 3 Layer SRS WKT: (unknown) ogr_geometry: String (0.0) OGRFeature(entities):0 ogr_geometry (String) = LINESTRING OGRFeature(entities):1 ogr_geometry (String) = POINT OGRFeature(entities):2 ogr_geometry (String) = GEOMETRYCOLLECTION
Pour extraire les points et les lignes, j'ai fait:
Code:
ogr2ogr -f "esri shapefile" 044000AA01_P.shp 044000AA01.DXF -sql "SELECT * FROM entities WHERE OGR_GEOMETRY = 'POINT'" ogr2ogr -f "esri shapefile" 044000AA01_L.shp 044000AA01.DXF -sql "SELECT * FROM entities WHERE OGR_GEOMETRY = 'LINESTRING'"
Par contre,
Code:
ogr2ogr -f "esri shapefile" 044000AA01_POL.shp 044000AA01.DXF -sql "SELECT * FROM entities WHERE OGR_GEOMETRY = 'POLYGON'"
ne me donne rien.
Les polygones sont-ils intégrés au type GEOMETRYCOLLECTION. Dans ce cas, comment les récupérer via OGR2OGR?
Ou bien le logiciel QGIS dessine-t-il les lignes automatiquement sous la forme de polygones?
-> dans ce cas, comment forcer la création de polygones à partir des lignes fermées via OGR2OGR?
Merci d'avance pour vos lumières!
Dernière modification par baobazz (Tue 06 December 2011 11:32)
geodata au cerema et petits billets en géomatique
Hors ligne
#2 Tue 06 December 2011 11:37
Re: DXF PCI vers SHP - GDAL - séparer selon type geom - geometrycollection
Bonjour,
Ou bien le logiciel QGIS dessine-t-il les lignes automatiquement sous la forme de polygones?
-> dans ce cas, comment forcer la création de polygones à partir des lignes fermées via OGR2OGR?
Si le dernier sommet de la lignes est le même que le premier, alors la ligne peut donner l'impression d'être fermé et d'être dessiné comme un polygone.
Je ne sais pas si ogr permet de générer un polygone à partir d'une ligne mais QGIS le peux (Menu Vecteur > ...)
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Tue 06 December 2011 11:38
Re: DXF PCI vers SHP - GDAL - séparer selon type geom - geometrycollection
Rebonjour,
Le type géométrique POYLGON n'est pas géré par contre si la ligne est fermé ogr créer un polygone, mon message précédent est donc inutile
Source : http://gdal.gloobe.org/ogr/formats/dxf. … ormats-dxf
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#4 Tue 06 December 2011 12:27
Re: DXF PCI vers SHP - GDAL - séparer selon type geom - geometrycollection
avec GDAL 1.8, ça marche...
Code:
C:\GDAL-1.8\ogrinfo" -ro 044000AA01.DXF -sql "select distinct ogr_geometry from en tities" INFO: Open of `044000AA01.DXF' using driver `DXF' successful. Layer name: entities Geometry: Unknown (any) Feature Count: 4 Layer SRS WKT: (unknown) ogr_geometry: String (0.0) OGRFeature(entities):0 ogr_geometry (String) = POLYGON OGRFeature(entities):1 ogr_geometry (String) = POINT OGRFeature(entities):2 ogr_geometry (String) = LINESTRING OGRFeature(entities):3 ogr_geometry (String) = GEOMETRYCOLLECTION
C'est donc un bug corrigé de la version 1.7 à 1.8
geodata au cerema et petits billets en géomatique
Hors ligne
#5 Mon 16 September 2013 14:29
Pages: 1
- Sujet précédent - DXF PCI vers SHP - GDAL - séparer selon type geom - geometrycollection - Sujet suivant