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://github.com/GeospatialPython/Learn/raw/master/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("/qgis_data/census/GIS_CensusTract_poly.shp", "Census", "ogr")
- Next, we toggle scale-based visibility:
lyr.toggleScaleBasedVisibility...