5 votos

De importación .dxf con pyqgis

Hice un plugin para analizar rápidamente los archivos dxf para el trabajo. Funciona bien en la mayoría de los .los archivos dxf, pero por alguna razón no funciona en absoluto. Los que no funcionan correctamente se importan como una "imagen" de algún tipo. Contienen los valores de atributo, pero no plantea ningún líneas.

Sin embargo, cuando la importación de los archivos con el "añadir capa vectorial" de la herramienta de las líneas se muestran! Me hizo descubrir que el .dxf que no funcionan también contienen datos de punto, mientras que los archivos que sólo contienen los datos de la línea.

Puedo utilizar el código siguiente para importar .los archivos dxf. Solo estoy interesado en los datos de la línea de la .los archivos dxf. Es posible que hay algo mal con el código?

dxf_path = self.dlg.lineEdit_dxf.text()
dxf_info = "|layername = entities|geometryType=LineString"
dxf_output_filename = os.path.splitext(os.path.basename(dxf_path))[0]
dxf_vl = QgsVectorLayer(dxf_path + dxf_info, dxf_output_filename + ".dxf", 'ogr')
if dxf_vl.isValid() == True:
        QgsMapLayerRegistry.instance().addMapLayer(dxf_vl)

5voto

Elliott Maynard Puntos 11

Cuando la construcción de la capa de URI, quitar los espacios en blanco y el uso de geometrytype parámetro (todo en minúsculas) en lugar de geometryType. Ver el PyQGIS libro de cocina de referencia.

La parte correspondiente en el código sería este:

dxf_info = "|layername=entities|geometrytype=LineString"

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X