gpt4 book ai didi

python - 如何使用 QGIS/Python 更改具有特定值的 Shapefile 中的属性

转载 作者:太空狗 更新时间:2023-10-30 02:53:50 25 4
gpt4 key购买 nike

我想使用 QGIS 中的 Python Console 将 Shapefile 中的所有属性更改为某个值。我有一个名为“ANB”的字段,我想更改例如“3”中的值“2”。

我知道如何访问图层并选择我想要的值:

layer=QgsVectorLayer("C:.../Briefkasten.shp","briefkasten","ogr")

selection=layer.getFeatures(QgsFeatureRequest().setFilterExpression(u' "ANB"=2'))

但我不知道如何进行。

有人可以帮助我吗?非常感谢!

问候罗伯特

最佳答案

在 Tom 的帮助下我找出了正确的代码(德语评论,抱歉)

#####Vektorlayer (Shape) in QGIS laden:

layer=QgsVectorLayer("C:/Users/robert 2/Documents/QGIS_Python/Briefkasten.shp","briefkasten","ogr")
QgsMapLayerRegistry.instance().addMapLayers([layer])


#####Attribut aus Shape abfragen

layer=QgsVectorLayer("C:/Users/.../QGIS_Python/Briefkasten.shp","briefkasten","ogr")
features=layer.getFeatures()
f=features.next()
f.attributes()

##Index von bestimmten Spaltennamen finden um den später ansprechen zu können (ANB beinhaltet dann Index als Zahl)
ANB=f.fields().indexFromName('ANB')

## nur ein bestimmtes Attribut aus einer Spalte auswählen und anzeigen lassen
selection=layer.getFeatures(QgsFeatureRequest().setFilterExpression(u' "ANB"=2'))

## selektierte Werte updaten:

layer.startEditing()
for feat in selection:
layer.changeAttributeValue(feat.id(), ANB, 3)

layer.commitChanges()

关于python - 如何使用 QGIS/Python 更改具有特定值的 Shapefile 中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48121126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com