9 votos

Las condiciones en el modelador de la calculadora de campo

Quiero ver un archivo vectorial si hay una columna "Origen".

Si sí, nada que ver. Si no hay ninguna columna "Origen" debe ser creado y se llenó de '0'.

Es posible hacerlo a través de la modeler?

10voto

Mue Puntos 2469
  1. Crear una nueva secuencia de comandos:

    Processing Toolbox > Scripts > Tools > Create new script
    
  2. Usar algo como la 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()
    
  3. Guardar la secuencia de comandos en su C:/Users/You/.qgis2/processing/scripts/ directorio. Entonces usted debe ser capaz de llamar a este script en su modeler.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X