मॉडलर क्षेत्र कैलकुलेटर में स्थितियां


9

यदि कोई कॉलम "स्रोत" है, तो मैं एक वेक्टर फ़ाइल की जांच करना चाहता हूं।

यदि हाँ, तो कुछ नहीं करना है। यदि कोई कॉलम "स्रोत" नहीं है, तो इसे '0' के साथ बनाया और भरा जाना चाहिए।

क्या मॉडलर के माध्यम से ऐसा करना संभव है?

जवाबों:


10
  1. इससे एक नई स्क्रिप्ट बनाएं:

    Processing Toolbox > Scripts > Tools > Create new script
    
  2. निम्नलिखित जैसे कुछ का उपयोग करें:

    ##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. अपनी C:/Users/You/.qgis2/processing/scripts/निर्देशिका में स्क्रिप्ट सहेजें । तब आपको अपने मॉडलर में इस स्क्रिप्ट को कॉल करने में सक्षम होना चाहिए।


1
@Pimpel - सबसे ज्यादा स्वागत है, खुशी हुई कि इसने मदद की =)
जोसेफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.