機能の1つの属性を更新したいと思います。ただし、機能オブジェクトを使用して更新する必要はありません。データプロバイダーを使用して更新する必要があります。
layers = QgsMapLayerRegistry.instance().mapLayersByName('my_line')
layer = layers[0]
dp = layer.dataProvider()
it = dp.getFeatures()
for i in range(0, dp.featureCount()):
feat = it.next()
attrs = { 2 : 30 }
layer.dataProvider().changeAttributeValues({ feat.id() : attrs })
QgsFeature
オブジェクトを使用して属性の値を変更できますか?
さらに、反復子オブジェクトを使用してループすることは可能ですか?
my_index = layer.fieldNameIndex("my_field_name")
インデックスを取得するために使用します。