Hello list

How can I add a new field to an existing layer and insert some new
values in it? In the following example, pointLayer refers to an
existing layer, previously created using the memory provider. This
code is creating the new field, but I cannot insert the values in it.
Although it runs without any error, when I look at the layer's
attribute table, the new field is there, but every feature has it as
NULL. By the way, I think this kind of operation would be a nice thing
to go into the pyqgis cookbook
Thanks for your help.
I am trying:

#python code:
provider = pointLayer.dataProvider()
newField = QgsField("channel", QVariant.Double)
provider.addAttributes([newField])
newFieldIndex = provider.fieldNameIndex(newField.name())
#more code
allAttrs = provider.attributeIndexes()
provider.select(allAttrs)
feat = QgsFeature()
while provider.nextFeature(feat):
    # more code, calculating the value of the 'channelValue' variable
    feat.addAttribute(newFieldIndex, channelValue)


-- 
___________________________ ___ __
Ricardo Garcia Silva
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to