7 votos

Acceso a ESRI .GDB en PyQGIS

Puedo acceder a los datos de ESRI .GDB utilizando OGR de OSGeo. El siguiente código da nombres de clases de características incrustadas en .GDB...

from osgeo import ogr

driver = ogr.GetDriverByName("FileGDB")
data = driver.Open(r"D:\pycharm_development\turkiye_db.gdb", 0)

feature_class_list = []

for i in data:
    foo = i.GetName()
    feature_class_list.append(foo)
    feature_class_list.sort()

print feature_class_list

Pero lamentablemente no puedo acceder a los datos ESRI .GDB en el entorno PyQGIS. PyQGIS funciona correctamente en mi PC y los archivos .SHP se pueden cargar con éxito...

¿Es cierto el enfoque de QgsVectorLayer() o se debe utilizar la clase QgsDataSourceURI() para manejar eso?

P.D. He instalado desde el instalador de OSGeo4W de 64 bits. Estoy usando PyCharm IDE.

6voto

Kapil Sharma Puntos 123

El enfoque de QgsVectorLayer() es verdadero. Aquí está el código que puede leer los nombres de campo de una clase de característica específica en ESRI .GDB:

from qgis.core import *

QgsApplication.setPrefixPath("D:/OSGeo4W64/apps/qgis", True)
QgsApplication.initQgis() 

layer = QgsVectorLayer("D:/pycharm/turkiye_db.gdb|layername=tr_il", "provinces", "ogr")

fields = layer.pendingFields()

for i in range(fields.count()):
    field = fields[i]
    print "Name:%s" % (field.name())

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