What this book covers
Chapter 1, A Refreshing Look at QGIS, reviews the installation and basic functionality of QGIS, which will be the assumed knowledge for the remainder of the book.
Chapter 2, Creating Spatial Databases, covers how to create and edit spatial databases using QGIS. While QGIS supports many spatial databases, SpatiaLite will be used in this chapter. First, core database concepts will be covered, followed by the creation of a spatial database. Next, importing, exporting, and editing data will be covered. The chapter will conclude with queries and view creation.
Chapter 3, Styling Raster and Vector Data, covers styling raster and vector data for display. First, color selection and color ramp management are covered. Next, single-band and multi-band raster data are styled using custom color ramps and blending modes. Next, complex vector styles and vector layer rendering are covered. Rounding out the chapter is the use of diagrams to display thematic map data.
Chapter 4, Preparing Vector Data for Processing, covers techniques useful for turning raw vector data into a more usable form. The chapter will start with data massaging and modification techniques such as merging, creating indices, checking for geometry errors, and basic geoprocessing tools. Next, advanced field calculations will be covered, followed by complex spatial and aspatial queries. The chapter will end by defining new or editing existing coordinate reference systems.
Chapter 5, Preparing Raster Data for Processing, covers the preparation of raster data for further processing using the GDAL menu tools and the Processing Toolbox algorithms. Specifically, these include reclassification, resampling, rescaling, mosaics, generating pyramids, and interpolation. The chapter will conclude by converting raster to vector.
Chapter 6, Advanced Data Creation and Editing, provides advanced ways to create vector data. As there is a great deal of data in tabular format, this chapter will cover mapping coordinates and addresses from tables. Next, georeferencing of imagery into a target coordinate reference system will be covered. The final portion of the chapter will cover testing topological relationships in vector data and correcting any errors via topological editing.
Chapter 7, Advanced Data Visualization, provides advanced ways to display your analysis results. QGIS has a greatly expanded repertoire of layer styling and display options. In this chapter, you will learn how to use Live Layer Effects, utilize the inverted polygon renderer, create an Atlas in the Print Composer, and use the QGIS2ThreeJS plugin to create a 3D view of your data.
Chapter 8, The Processing Toolbox, begins with an explanation and exploration of the QGIS Processing Toolbox. Various algorithms and tools, available in the toolbox, will be used to complete common spatial analyses and geoprocessing tasks for both raster and vector formats. To illustrate how these processing tools might be applied to real-world questions, two hypothetical scenarios are illustrated by relying heavily on GRASS and SAGA tools.
Chapter 9, Automating Workflows with the Graphical Modeler, covers the purpose and use of the graphical modeler to automate analysis workflows. In the chapter, you will develop an automated tool/model that can be added to the Processing Toolbox.
Chapter 10, Creating QGIS Plugins with PyQGIS and Problem Solving, covers the foundational information required to create a Python plugin for QGIS. Information about the API and PyQGIS help will be covered first, followed by an introduction to the iface
and QGis
classes. Next, the steps required to create and structure a plugin will be covered. The chapter will wrap up after providing you with information on creating graphical user interfaces and setting up debugging environments to debug code easily.
Chapter 11, PyQGIS Scripting, provides topics for integrating Python analysis scripts with QGIS outside of the Processing Toolbox. Layer loading and management are first covered, followed by an exploration of the vector data structure. Next, the programmatic launching of other tools and external programs are covered. Lastly, the QGIS map canvas is covered with respect to how a script can interact with the map canvas and layers within.