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...
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime