Thank you Vinayan. Based on your code, I was able to make it work like this:
new_attributes = layer.pendingFields() for j in new_attributes: if provider.defaultValue(j).isNull(): new_attributes[j] = feature.attributeMap()[j] else: new_attributes[j] = provider.defaultValue(j) And I will try to use On Fly Reprojection too. Thanks again, Alexandre Neto On Wed, Feb 6, 2013 at 2:42 AM, vinayan <vinayan...@gmail.com> wrote: > Hi Alexandre, > > I recently used provider default values in a plugin like this.. > > provider = layer.dataProvider() > f = QgsFeature() > > #On the Fly reprojection. > if layerCRSSrsid != projectCRSSrsid: > geom.transform(QgsCoordinateTransform(projectCRSSrsid, > layerCRSSrsid)) > > f.setGeometry(geom) > > # add attribute fields to feature > fields = layer.pendingFields() > > # vector api change update > if QGis.QGIS_VERSION_INT >= 10900: > f.initAttributes(fields.count()) > for i in range(fields.count()): > f.setAttribute(i,provider.defaultValue(i)) > else: > for i in fields: > f.addAttribute(i, provider.defaultValue(i)) > > > > -- > View this message in context: > http://osgeo-org.1560.n6.nabble.com/How-to-get-Provider-default-values-for-each-attribute-using-Python-tp5032168p5032343.html > Sent from the Quantum GIS - Developer mailing list archive at Nabble.com. > _______________________________________________ > Qgis-developer mailing list > Qgis-developer@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/qgis-developer >
_______________________________________________ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer