It is an essential resource for the QGIS ecosystem. The only reason it isn't a 10/10 is that the QGIS API evolves so fast that no book can stay perfectly current forever. You will still need to consult the official online API documentation for the very newest features, but this book provides the foundation you need to understand that documentation.
PyQGIS allows you to set Qgs3DMapSettings to reduce geometry based on distance:
settings.setLodDistance(500) # meters
settings.setMaximumScreenError(1.0)
settings = Qgs3DMapSettings() settings.setCrs(QgsProject.instance().crs()) settings.setTerrainVerticalScale(1.0) settings.setTerrainGenerator(None) # No terrain, just features pyqgis programmer 39s guide 3 pdf work
The official source is the PyQGIS Developer Cookbook (for QGIS 3):
light = QgsPointLightSettings() light.setPosition(1000, 1000, 500) settings.setLights([light]) It is an essential resource for the QGIS ecosystem
Scenario: A Python script runs nightly, pulls new raster data from a PostGIS database, updates a QGIS project, and emails a PDF report.
Script skeleton:
Scenario: You need a PDF where clicking a feature on a legend or table opens a bookmarked page.
Workflow: PyQGIS cannot create hyperlinks natively in PDF export. Instead, export each page separately, then use reportlab or pypdf to add clickable links based on page coordinates extracted from the layout. PyQGIS allows you to set Qgs3DMapSettings to reduce
To follow this guide, ensure you have: