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://geospatialpython.googlecode.com/svn/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 to the map in order to visualize the points:
QgsMapLayerRegistry...