当前位置: 首页>>代码示例>>Python>>正文


Python QgsFeature.fieldNameIndex方法代码示例

本文整理汇总了Python中qgis.core.QgsFeature.fieldNameIndex方法的典型用法代码示例。如果您正苦于以下问题:Python QgsFeature.fieldNameIndex方法的具体用法?Python QgsFeature.fieldNameIndex怎么用?Python QgsFeature.fieldNameIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qgis.core.QgsFeature的用法示例。


在下文中一共展示了QgsFeature.fieldNameIndex方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: save

# 需要导入模块: from qgis.core import QgsFeature [as 别名]
# 或者: from qgis.core.QgsFeature import fieldNameIndex [as 别名]
    def save(self):
        QApplication.setOverrideCursor(Qt.WaitCursor)

        prv = self.lyr.dataProvider()
        attrs = prv.fields().toList()
        self.lyr.startEditing()

        fls = []
        for i in xrange(len(self.clusters)):
            fls.append('clust_' + str(i))

        nattrs = []
        for fl in fls:
            if self.lyr.fieldNameIndex(fl) == -1:
                nattrs.append(QgsField(fl, 10))

        if len(nattrs)>0:
            self.lyr.dataProvider().addAttributes(nattrs)
            self.lyr.updateFields()

        i = 0
        for cluster in self.clusters:
            fln = fls[i]
            # for fid in cluster:
            feats = prv.getFeatures()
            feat = QgsFeature()
            while feats.nextFeature(feat):
                if feat.id() in cluster:
                    self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex(fln), 'True')
                else:
                    self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex(fln), 'False')
            i += 1

        self.lyr.commitChanges()

        QApplication.restoreOverrideCursor()
开发者ID:IZSVenezie,项目名称:VetEpiGIS-Stat,代码行数:38,代码来源:scan.py

示例2: save

# 需要导入模块: from qgis.core import QgsFeature [as 别名]
# 或者: from qgis.core.QgsFeature import fieldNameIndex [as 别名]
    def save(self):
        QApplication.setOverrideCursor(Qt.WaitCursor)

        prv = self.lyr.dataProvider()
        attrs = prv.fields().toList()
        self.lyr.startEditing()

        fls = ['Li', 'E_Li', 'Var_Li', 'Z_Li', 'p_value']
        nattrs = []
        for fl in fls:
            if self.lyr.fieldNameIndex(fl) == -1:
                nattrs.append(QgsField(fl, 6))

        fls = ['neighbours', 'influence']
        for fl in fls:
            if self.lyr.fieldNameIndex(fl) == -1:
                nattrs.append(QgsField(fl, 10))

        if len(nattrs)>0:
            self.lyr.dataProvider().addAttributes(nattrs)
            self.lyr.updateFields()

        feats = prv.getFeatures()
        feat = QgsFeature()
        i = 0
        while feats.nextFeature(feat):
            self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex('Li'),
                str(self.model.itemData(self.model.index(i, 0))[0]))
            self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex('E_Li'),
                str(self.model.itemData(self.model.index(i, 1))[0]))
            self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex('Var_Li'),
                str(self.model.itemData(self.model.index(i, 2))[0]))
            self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex('Z_Li'),
                str(self.model.itemData(self.model.index(i, 3))[0]))
            self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex('p_value'),
                str(self.model.itemData(self.model.index(i, 4))[0]))
            self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex('neighbours'),
                str(self.model.itemData(self.model.index(i, 5))[0]))
            self.lyr.changeAttributeValue(feat.id(), feat.fieldNameIndex('influence'),
                str(self.model.itemData(self.model.index(i, 6))[0]))
            i += 1


        self.lyr.commitChanges()

        QApplication.restoreOverrideCursor()
开发者ID:IZSVenezie,项目名称:VetEpiGIS-Stat,代码行数:48,代码来源:localt.py

示例3: outattrPrep

# 需要导入模块: from qgis.core import QgsFeature [as 别名]
# 或者: from qgis.core.QgsFeature import fieldNameIndex [as 别名]
    def outattrPrep(self, dlg, lyr):
        feat = QgsFeature()

        species = ''
        production = ''
        most = QDateTime.currentDateTimeUtc()

        rn = dlg.tableWidget.rowCount()
        for i in range(rn):
            if i==0:
                species = dlg.tableWidget.item(i, 0).text()
                production = dlg.tableWidget.item(i, 1).text()
            else:
                species = species + ' | ' + dlg.tableWidget.item(i, 0).text()
                production = production + ' | ' + dlg.tableWidget.item(i, 1).text()

        flds = lyr.dataProvider().fields()
        feat.setFields(flds, True)
        feat.setAttribute(feat.fieldNameIndex('localid'), dlg.lineEdit_3.text())
        feat.setAttribute(feat.fieldNameIndex('code'), dlg.lineEdit_5.text())
        feat.setAttribute(feat.fieldNameIndex('largescale'), dlg.comboBox_4.currentText())
        feat.setAttribute(feat.fieldNameIndex('disease'), dlg.comboBox_2.currentText())
        feat.setAttribute(feat.fieldNameIndex('animalno'), dlg.lineEdit_6.text())
        feat.setAttribute(feat.fieldNameIndex('species'), species)
        feat.setAttribute(feat.fieldNameIndex('production'), production)
        feat.setAttribute(feat.fieldNameIndex('year'), dlg.lineEdit_4.text())
        feat.setAttribute(feat.fieldNameIndex('status'), dlg.comboBox_3.currentText())
        feat.setAttribute(feat.fieldNameIndex('suspect'), self.dateCheck(dlg.dateEdit.date()))
        feat.setAttribute(feat.fieldNameIndex('confirmation'), self.dateCheck(dlg.dateEdit_2.date()))
        feat.setAttribute(feat.fieldNameIndex('expiration'), self.dateCheck(dlg.dateEdit_3.date()))
        feat.setAttribute(feat.fieldNameIndex('notes'), dlg.textEdit.toPlainText())
        feat.setAttribute(feat.fieldNameIndex('hrid'), self.hashIDer(most))
        feat.setAttribute(feat.fieldNameIndex('timestamp'), most.toString('dd/MM/yyyy hh:mm:ss'))
        return feat
开发者ID:IZSVenezie,项目名称:VetEpiGIS-Tool,代码行数:36,代码来源:qvfuncs.py


注:本文中的qgis.core.QgsFeature.fieldNameIndex方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。