Chcę sprawdzić plik wektorowy, jeśli jest kolumna „Źródło”.
Jeśli tak, nic nie można zrobić. Jeśli nie ma kolumny „Źródło”, należy ją utworzyć i wypełnić „0”.
Czy można to zrobić za pomocą modelera?
Chcę sprawdzić plik wektorowy, jeśli jest kolumna „Źródło”.
Jeśli tak, nic nie można zrobić. Jeśli nie ma kolumny „Źródło”, należy ją utworzyć i wypełnić „0”.
Czy można to zrobić za pomocą modelera?
Utwórz nowy skrypt z:
Processing Toolbox > Scripts > Tools > Create new script
Użyj czegoś takiego:
##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()
Zapisz skrypt w swoim C:/Users/You/.qgis2/processing/scripts/
katalogu. Powinieneś być w stanie wywołać ten skrypt w swoim modelarzu.