Ich möchte eine Vektordatei überprüfen, wenn eine Spalte "Quelle" vorhanden ist.
Wenn ja, nichts zu tun. Wenn keine Spalte "Quelle" vorhanden ist, sollte diese erstellt und mit '0' gefüllt werden.
Ist dies über den Modellierer möglich?
Ich möchte eine Vektordatei überprüfen, wenn eine Spalte "Quelle" vorhanden ist.
Wenn ja, nichts zu tun. Wenn keine Spalte "Quelle" vorhanden ist, sollte diese erstellt und mit '0' gefüllt werden.
Ist dies über den Modellierer möglich?
Erstellen Sie ein neues Skript aus:
Processing Toolbox > Scripts > Tools > Create new script
Verwenden Sie etwa Folgendes:
##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()
Speichern Sie das Skript in Ihrem C:/Users/You/.qgis2/processing/scripts/
Verzeichnis. Dann sollten Sie dieses Skript in Ihrem Modellierer aufrufen können.