
QGIS Python Programming Cookbook, Second Edition
By :

In addition to the spatial queries outlined in the previous recipe, we can also subset a layer by its attributes. This type of query resembles a more traditional relational database query and, in fact, uses SQL statements. In this recipe, we will filter a point shapefile-based layer by an attribute.
We'll use the same New York City Museums layer used in the previous recipes in this chapter. You can download the layer from https://github.com/GeospatialPython/Learn/raw/master/NYC_MUSEUMS_GEO.zip.
Unzip that file and place the shapefile's contents in a directory named nyc
within your qgis_data
directory, within your root or home directory.
In this recipe, we'll filter the layer by an attribute, select the filtered features, and zoom to them, as follows:
First, we load the point layer:
lyrPts = QgsVectorLayer("/qgis_data/nyc/NYC_MUSEUMS_GEO.shp", "Museums", "ogr")
Next, we add the layer...