5 votos

¿Cómo procesar por lotes "Guardar capa como" en QGIS?

Quiero guardar muchas (unas 100) capas QGIS a la vez. Hay alguna forma automática de guardar por lotes el proceso "guardar como"?

4voto

tovare Puntos 111
from qgis.core import *

suffix = "_foo"
pathToFile = "/path/to/wherever/"

layers = iface.legendInterface().layers()
for layer in layers:
    newName = layer.name() + suffix + ".shp"
    ret = QgsVectorFileWriter.writeAsVectorFormat(layer, pathToFile + newName, "utf-8", None, "ESRI Shapefile")
    if ret == QgsVectorFileWriter.NoError:
        print newName + " saved to " + pathToFile + "!"

Para la capa rasterizada, utilice QgsRasterFileWriter

€: Encontrará un ejemplo más detallado en Libro de cocina .

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