Setting scale-based visibility for a layer
Sometimes, a GIS layer only makes sense when it is displayed at a certain scale, for example, a complex road network. PyQGIS supports scale-based visibility to programmatically set the scale range, in which a layer is displayed. In this recipe, we'll investigate scale-dependent layers.
Getting ready
You will need the sample census tract shapefile available as a ZIP file from https://geospatialpython.googlecode.com/files/GIS_CensusTract.zip.
Extract the zipped layer to a directory named census
in your qgis_data
directory.
How to do it...
We will load the vector layer, toggle scale-based visibility, set the visibility range, and then add the layer to the map. To do this, perform the following steps:
First, we load the layer:
lyr = QgsVectorLayer("/Users/joellawhead/qgis_data/census/GIS_CensusTract_poly.shp", "Census", "ogr")
Next, we toggle scale-based visibility:
lyr.toggleScaleBasedVisibility(True)
Then, we set the minimum and maximum map scales at which...