2 votos

Script python independiente - Qgis - QgsVectorLayer apunta a clase de característica incorrecta en gpkg

El archivo GPKG contiene varias clases de características. Puedo crear una capa a una featureclass específica utilizando QgsVectorLayer pero siempre apunta a la primera FC en el archivo gpkg.

Este es un script python independiente, no la consola bajo la GUI.

output_gpkg = r'W:\srm\wml\Workarea\mamcgirr\Q_universal_overlap_tool\work\qscript_outputs\one_status_common_datasets_debug_version_dqu_shape_2.gpkg |layername = Legal_OGMA'

fc_input_layer = QgsVectorLayer(output_gpkg, 'test', 'ogr')

if not fc_input_layer.isValid():
    print("layer invalid.")
else:
    print("layer valid.")

for field in fc_input_layer.fields():
    print(field.name(), field.typeName())

2voto

Andy Brandi Puntos 650

Elimine espacio en su output_gpkg Puedes probar a escribir el nombre de otra capa y verás como la primera también se carga. por ejemplo :

output_gpkg = r'W:\srm\wml\Workarea\mamcgirr\Q_universal_overlap_tool\work\qscript_outputs\one_status_common_datasets_debug_version_dqu_shape_2.gpkg |layername = INVENT'

para cargar la capa correcta debes eliminar todos los espacios dejándolo así:

output_gpkg = r'W:\srm\wml\Workarea\mamcgirr\Q_universal_overlap_tool\work\qscript_outputs\one_status_common_datasets_debug_version_dqu_shape_2.gpkg|layername=Legal_OGMA'

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