Je veux vérifier un fichier vectoriel s'il y a une colonne "Source".
Si oui, rien à faire. S'il n'y a pas de colonne "Source", elle doit être créée et remplie avec "0".
Est-ce possible de le faire via le modeleur?
Je veux vérifier un fichier vectoriel s'il y a une colonne "Source".
Si oui, rien à faire. S'il n'y a pas de colonne "Source", elle doit être créée et remplie avec "0".
Est-ce possible de le faire via le modeleur?
Créez un nouveau script à partir de:
Processing Toolbox > Scripts > Tools > Create new script
Utilisez quelque chose comme ceci:
##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()
Enregistrez le script dans votre C:/Users/You/.qgis2/processing/scripts/
répertoire. Vous devriez alors pouvoir appeler ce script dans votre modeleur.