[Qgis-developer] delete selected features slow (because of featurecount/events)??
Richard Duivenvoorde
rdmailings at duif.net
Mon Nov 14 07:55:02 PST 2016
Hi Dev's,
having a small dataset of 300 features (from an online service).
I want to quickly remove most/all of those features, request a new set
an put them in the same vectorlayer (in a python plugin).
All ok, untill you activate the 'show feature count' in the legend.
If you show the featurecount, it looks like the features are deleted one
by one: you can see the featurecount go down to zero... ( but I also
have dataset with a lot more features :-( ) and it takes several (ten's)
seconds.
Easy testable:
- load some data, tick the 'show feature count' tickbox in the legend.
- make the layer editable and select all features
- make sure the layer is current in the legend
do the following in the python console:
l=iface.mapCanvas().currentLayer()
l.deleteSelectedFeatures()
you can see the 'feature count' go down one by one (slowly...)
while... if you do it outside of python, using the little red
delete-basket in the edit-toolbar. All features are deleted in a blink!
Also if you show the featurecount...
I tried some different ways, but could not find a quick way?
Do I miss something/a quicker way?
I thought that it maybe had something to do with filling up the
'editbuffer', so tried with and without the 'edit' construct [0]
But in this case I just do not want an edit-buffer anyway..
Regards,
Richard Duivenvoorde
[0]
http://www.opengis.ch/2015/08/12/with-edit-layer/#avoid-using-dataprovider-methods
More information about the Qgis-developer
mailing list