条件语句PyQGIS

2021-02-14 22:22

我正在寻找一个简单的示例来在PyQGIS控制台中创建一个条件语句。今天我编写了一个简单的脚本来向向量层添加一个字段[CAT]。这个脚本可以在下面找到。我想在这个

解答动态

  • 通常的方式是:
    带编辑(图层):用于中的特征图层.getFeatures():如果feature['suce']>;10000:feature['CAT']='big city'elif。。。否则。。。layer.updateFeature层(feature)

    • 这里是使用changeAttributeValues()的完整示例:
      layer=iface.activeLayer()#要使用的图层sucefield='suce'#查找的fieldname fieldcatfield='CAT'#新字段的fieldname with edit(图层):#启动图层的编辑模式layer.dataProvider层().addAttributes([QgsField(catfield, QVariant.字符串)])#将新字段添加到图层layer.updateFields层()#更新字段,所以我们可以找到fieldindex=图层字段().indexFromName(catfield)#为中的功能获取此新字段的索引图层.getFeatures():#iterate over layer category=''#重置类别(实际上并不需要)如果功能[sucefield]lt;10000和功能[sucefield]>;100:category='metropolis'else:category='all city'attrs={fieldindex:category}#定义新字段(CAT)的新属性(category)layer.dataProvider层().ChangeAttributeValue({特征id():attrs})#将此定义添加到当前功能

      • End

      免责声明:

      本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。