| Error | Solution | |-------|----------| | Geometry has no Z values | Use geometry.convertTo3D("height_attribute") | | U3D export failed | Install meshlab or assimp via OSGeo4W or Homebrew | | PDF opens as blank | Use Adobe Acrobat Reader; Chrome PDF viewer does not support 3D | | Missing movie15.sty | Install texlive-movie15 or use media9 package |

: Detailed exploration of the QGIS classes and how to navigate the 3.0 API framework.

was open to page 242—a chapter on custom map tools that he had highlighted until the PDF looked like a neon crime scene.

The book is structured to lead you from using the console to building full applications.

: Specific sections dedicated to converting your older Python 2 (QGIS 2.x) code to work with Python 3 and QGIS 3. Example Task: Styling a Vector Layer