1 votos

¿Cómo exportar una capa con metadatos en QGIS?

He configurado algunos metadatos para mi capa que me gustaría exportar. Exporto la capa usando lo siguiente:

_writer = QgsVectorFileWriter.writeAsVectorFormat(layer,"path/layer.shp",'utf-8',driverName='ESRI Shapefile')

Sin embargo, la capa guardada no contiene los metadatos. ¿Cómo puedo exportar la capa y mantener los metadatos?

1 votos

Intenta exportar como un geopackage

0 votos

Gracias, veo cómo podría funcionar, pero necesito exportar como shapefiles para compartir datos.

1 votos

¿Puedes aclarar qué quieres decir con "metadatos"? ¿La pestaña de información? ¿La pestaña de metadatos? Es posible guardar el archivo QMD con PyQGIS.

1voto

BWW Puntos 302

No existen funciones incorporadas para lograr lo que deseas. Obtén la referencia al objeto QgsLayerMetadata de esta respuesta ¿Cómo obtener la información de la capa QGIS guardada en formato JSON? y como se indica en el comentario, escribe tus propios metadatos como JSON en un archivo separado.

Alternativamente, puedes escribir la definición de la capa con algo similar a lo siguiente. Contendrá varias informaciones, incluidos los metadatos, en un archivo XML

layer = iface.activeLayer()
# mylayer.qlr está codificado aquí de forma estática pero podría determinarse a partir de "layer.dataProvider().dataSourceUri()"
# ya sea que sea un nombre de archivo o el nombre de la capa "layer.name()" o el id de la capa "layer.id()"
with open('mylayer.qlr', 'w') as f:
    f.write(QgsLayerDefinition.exportLayerDefinitionLayers([layer], QgsReadWriteContext()).toString())

0 votos

Ah, qué lástima... Lo hice, pero no es tan genial como tener los metadatos incrustados en el archivo de forma... Gracias por tu respuesta

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