Condições na calculadora de campo do modelador


9

Quero verificar um arquivo vetorial se houver uma coluna "Origem".

Se sim, nada a fazer. Se não houver coluna "Origem", ela deverá ser criada e preenchida com '0'.

Isso é possível através do modelador?

Respostas:


10
  1. Crie um novo script a partir de:

    Processing Toolbox > Scripts > Tools > Create new script
    
  2. Use algo como o seguinte:

    ##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()
    
  3. Salve o script no seu C:/Users/You/.qgis2/processing/scripts/diretório. Então, você poderá chamar esse script no seu modelador.


11
@Pimpel - Mais de boas-vindas, feliz por ter ajudado =)
Joseph
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.