Modelci alan hesaplayıcısındaki koşullar


9

Bir sütun "Kaynak" varsa bir vektör dosyasını kontrol etmek istiyorum.

Evet ise, yapacak bir şey yok. "Kaynak" sütunu yoksa "0" ile oluşturulmalı ve doldurulmalıdır.

Modelleyici ile bunu yapmak mümkün müdür?

Yanıtlar:


10
  1. Şu kaynaktan yeni bir komut dosyası oluşturun:

    Processing Toolbox > Scripts > Tools > Create new script
    
  2. Aşağıdaki gibi bir şey kullanın:

    ##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. Komut dosyasını C:/Users/You/.qgis2/processing/scripts/dizininize kaydedin . O zaman bu komut dosyasını modelleyicinizde çağırabilirsiniz.


1
@Pimpel - En hoş geldiniz, yardım ettiğine sevindim =)
Joseph
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.