Removing data from a vector layer
In this recipe, we'll completely remove a feature, including its geometry and attributes, from a layer.
Getting ready
You will need the New York City museums shapefile used in other recipes, which you can download as a ZIP file from the following URL:
https://github.com/GeospatialPython/Learn/raw/master/NYC_MUSEUMS_GEO.zip
Extract this shapefile to /qgis_data/nyc
.
How to do it....
All we need to do is load the layer and then delete the desired features by ID using the layer's data provider:
Start QGIS.
From the Plugins menu, select Python Console.
First, we load and validate the layer:
vectorLyr = QgsVectorLayer('/qgis_data/nyc/NYC_MUSEUMS_GEO.shp', 'Museums' , "ogr") vectorLyr.isValid()
Next, we specify a Python list containing feature IDs. In this case, we have two:
vectorLyr.dataProvider().deleteFeatures([22, 95])
How it works...
This operation couldn't be simpler and better designed...