Quiero verificar un archivo vectorial si hay una columna "Fuente".
Si es así, nada que hacer. Si no hay una columna "Fuente", debe crearse y rellenarse con '0'.
¿Es esto posible hacerlo a través del modelador?
Quiero verificar un archivo vectorial si hay una columna "Fuente".
Si es así, nada que hacer. Si no hay una columna "Fuente", debe crearse y rellenarse con '0'.
¿Es esto posible hacerlo a través del modelador?
Crea un nuevo script desde:
Processing Toolbox > Scripts > Tools > Create new script
Use algo como lo siguiente:
##Example=name
##Layer=vector
from qgis.core import QgsField
from PyQt4.QtCore import QVariant
layer = processing.getObject(Layer)
idx = layer.fieldNameIndex('Source')
if idx != -1:
pass
else:
layer.startEditing()
layer.dataProvider().addAttributes( [ QgsField("Source", QVariant.Int) ] )
layer.updateFields()
for feat in layer.getFeatures():
layer.changeAttributeValue(feat.id(), layer.fieldNameIndex('Source'), '0')
layer.commitChanges()
Guarde el script en su C:/Users/You/.qgis2/processing/scripts/
directorio. Entonces deberías poder llamar a este script en tu modelador.