Gostaria de atualizar um atributo de um recurso. No entanto, não sei atualizá-lo usando o objeto de recurso. Eu tenho que usar o provedor de dados para atualizá-lo.
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 })
Posso alterar o valor de um atributo usando o QgsFeature
objeto?
Além disso, é possível fazer um loop usando um objeto iterador?
my_index = layer.fieldNameIndex("my_field_name")
para obter o índice.