O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

QGIS: Becoming a GIS Power User

Book Description

Master data management, visualization, and spatial analysis techniques in QGIS and become a GIS power user

About This Book

  • Learn how to work with various types of data and create beautiful maps using this easy-to-follow guide
  • Give a touch of professionalism to your maps, both for functionality and look and feel, with the help of this practical guide
  • This progressive, hands-on guide builds on a geo-spatial data and adds more reactive maps using geometry tools.

Who This Book Is For

If you are a user, developer, or consultant and want to know how to use QGIS to achieve the results you are used to from other types of GIS, then this learning path is for you. You are expected to be comfortable with core GIS concepts. This Learning Path will make you an expert with QGIS by showing you how to develop more complex, layered map applications. It will launch you to the next level of GIS users.

What You Will Learn

  • Create your first map by styling both vector and raster layers from different data sources
  • Use parameters such as precipitation, relative humidity, and temperature to predict the vulnerability of fields and crops to mildew
  • Re-project vector and raster data and see how to convert between different style formats
  • Use a mix of web services to provide a collaborative data system
  • Use raster analysis and a model automation tool to model the physical conditions for hydrological analysis
  • Get the most out of the cartographic tools to in QGIS to reveal the advanced tips and tricks of cartography

In Detail

The first module Learning QGIS, Third edition covers the installation and configuration of QGIS. You'll become a master in data creation and editing, and creating great maps. By the end of this module, you'll be able to extend QGIS with Python, getting in-depth with developing custom tools for the Processing Toolbox.

The second module QGIS Blueprints gives you an overview of the application types and the technical aspects along with few examples from the digital humanities. After estimating unknown values using interpolation methods and demonstrating visualization and analytical techniques, the module ends by creating an editable and data-rich map for the discovery of community information.

The third module QGIS 2 Cookbook covers data input and output with special instructions for trickier formats. Later, we dive into exploring data, data management, and preprocessing steps to cut your data to just the important areas. At the end of this module, you will dive into the methods for analyzing routes and networks, and learn how to take QGIS beyond the out-of-the-box features with plug-ins, customization, and add-on tools.

This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:

  • Learning QGIS, Third Edition by Anita Graser
  • QGIS Blueprints by Ben Mearns
  • QGIS 2 Cookbook by Alex Mandel, Víctor Olaya Ferrero, Anita Graser, Alexander Bruy

Style and approach

This Learning Path will get you up and running with QGIS. We start off with an introduction to QGIS and create maps and plugins. Then, we will guide you through Blueprints for geographic web applications, each of which will teach you a different feature by boiling down a complex workflow into steps you can follow. Finally, you'll turn your attention to becoming a QGIS power user and master data management, visualization, and spatial analysis techniques of QGIS.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. QGIS: Becoming a GIS Power User
    1. Table of Contents
    2. QGIS: Becoming a GIS Power User
    3. QGIS: Becoming a GIS Power User
    4. Credits
    5. Preface
      1. What this learning path covers
      2. What you need for this learning path
      3. Who this learning path is for
      4. Reader feedback
      5. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    6. 1. Module 1
      1. 1. Getting Started with QGIS
        1. Installing QGIS
          1. Installing QGIS on Windows
          2. Installing on Ubuntu
        2. Running QGIS for the first time
        3. Introducing the QGIS user interface
        4. Finding help and reporting issues
        5. Summary
      2. 2. Viewing Spatial Data
        1. Loading vector data from files
        2. Dealing with coordinate reference systems
        3. Loading raster files
          1. Georeferencing raster maps
        4. Loading data from databases
        5. Loading data from OGC web services
        6. Styling raster layers
        7. Styling vector layers
          1. Creating point styles – an example of an airport style
          2. Creating line styles – an example of river or road styles
          3. Creating polygon styles – an example of a landmass style
        8. Loading background maps
        9. Dealing with project files
        10. Summary
      3. 3. Data Creation and Editing
        1. Creating new vector layers
        2. Working with feature selection tools
          1. Selecting features with the mouse
          2. Selecting features with expressions
          3. Selecting features using spatial queries
        3. Editing vector geometries
          1. Using basic digitizing tools
          2. Using advanced digitizing tools
          3. Using snapping to enable topologically correct editing
        4. Using measuring tools
        5. Editing attributes
          1. Editing attributes in the attribute table
          2. Editing attributes in the feature form
            1. Creating a feature form using autogenerate
            2. Designing a feature form using drag and drop designer
            3. Designing a feature form using a .ui file
          3. Calculating new attribute values
        6. Reprojecting and converting vector and raster data
        7. Joining tabular data
          1. Setting up a join in Layer Properties
          2. Checking join results in the attribute table
        8. Using temporary scratch layers
        9. Checking for topological errors and fixing them
          1. Finding errors with the Topology Checker
          2. Fixing invalid geometry errors
        10. Adding data to spatial databases
        11. Summary
      4. 4. Spatial Analysis
        1. Analyzing raster data
          1. Clipping rasters
          2. Analyzing elevation/terrain data
          3. Using the raster calculator
        2. Combining raster and vector data
          1. Converting between rasters and vectors
          2. Accessing raster and vector layer statistics
          3. Computing zonal statistics
          4. Creating a heatmap from points
        3. Vector and raster analysis with Processing
          1. Finding nearest neighbors
          2. Converting between points, lines, and polygons
          3. Identifying features in the proximity of other features
          4. Sampling a raster at point locations
          5. Mapping density with hexagonal grids
          6. Calculating area shares within a region
          7. Batch-processing multiple datasets
          8. Automated geoprocessing with the graphical modeler
          9. Documenting and sharing models
        4. Leveraging the power of spatial databases
          1. Selecting by location in SpatiaLite
          2. Aggregating data in SpatiaLite
        5. Summary
      5. 5. Creating Great Maps
        1. Advanced vector styling
          1. Creating a graduated style
          2. Creating and using color ramps
          3. Using categorized styles for nominal data
          4. Creating a rule-based style for road layers
          5. Creating data-defined symbology
          6. Creating a dynamic heatmap style
          7. Creating a 2.5D style
          8. Adding live layer effects
          9. Working with different styles
        2. Labeling
          1. Customizing label text styles
          2. Controlling label formatting
          3. Configuring label buffers, background, and shadows
          4. Controlling label placement
            1. Configuring point labels
            2. Configuring line labels
            3. Configuring polygon labels
          5. Placing labels manually
          6. Controlling label rendering
        3. Designing print maps
          1. Creating a basic map
            1. Adding a scalebar
            2. Adding a North arrow image
          2. Adding a legend
          3. Adding explanatory text to the map
          4. Adding map grids and frames
          5. Creating overview maps
          6. Adding more details with attribute tables and HTML frames
          7. Creating a map series using the Atlas feature
        4. Presenting your maps online
          1. Exporting a web map
          2. Creating map tiles
          3. Exporting a 3D web map
        5. Summary
      6. 6. Extending QGIS with Python
        1. Adding functionality using actions
          1. Configuring your first Python action
          2. Opening files using actions
          3. Opening a web browser using actions
        2. Getting to know the Python Console
          1. Loading and exploring datasets
          2. Styling layers
          3. Filtering data
          4. Creating a memory layer
          5. Exporting map images
        3. Creating custom geoprocessing scripts using Python
          1. Writing your first Processing script
          2. Writing a script with vector layer output
          3. Visualizing the script progress
        4. Developing your first plugin
          1. Creating the plugin template with Plugin Builder
          2. Customizing the plugin GUI
          3. Implementing plugin functionality
          4. Creating a custom map tool
        5. Summary
    7. 2. Module 2
      1. 1. Exploring Places – from Concept to Interface
        1. The development community and dependencies
          1. Data format read/write
          2. Geospatial coordinate transformation
          3. Analysis
          4. Web publishing
          5. Installation
            1. Linux
            2. Mac
            3. Windows
            4. OSGeo-Live
        2. Acquiring data for geospatial applications
          1. Producing geospatial data with georeferencing
            1. Table join
            2. Geocode
            3. Orthorectify
          2. The spatial reference manipulation – making the coordinates line up
            1. Setting CRS
            2. Transformation and projection
        3. Visualizing GIS data
          1. The layer style
          2. Labels
        4. The basemap
          1. Using OpenStreetMap for the basemap data
            1. Avoiding obscurity and confusion
          2. The layer scale dependency
          3. The label conflict
            1. The polygon label conflict resolution
          4. Tile caches
            1. Generating and testing a simple directory-based tile cache structure
            2. Create a layer description file for the TileLayer plugin
        5. Summary
      2. 2. Identifying the Best Places
        1. Vector data – Extract, Transform, and Load
          1. Loading data and establishing the CRS conformity
          2. The extracting (filtering) features
          3. Converting to raster
          4. Doing more at once—working in batch
        2. Raster analysis
          1. Map algebra
          2. Additive modeling
            1. Proximity
              1. Creating a proximity to the easements grid
            2. Slope
            3. Combining the criteria with Map Calculator
            4. Zonal statistics
        3. Publishing the results as a web application
          1. qgis2leaf
        4. Summary
      3. 3. Discovering Physical Relationships
        1. Hydrological modeling
          1. Preparing the data
            1. Filling the grid sinks
            2. Clipping the grid to study the area by mask layer
          2. Modeling the hydrological network based on elevation
          3. Workflow automation with the graphical models
            1. Creating a graphical model
            2. Adding the input parameters
              1. Adding the raster parameter – elevation
              2. Adding the vector parameter – extent
            3. Adding the algorithms
              1. Fill Sinks
              2. Clip raster
              3. Channel network and drainage basins
            4. Running the model
        2. Spatial join for a performant operational layer interaction
          1. The NNJoin plugin
        3. The CartoDB platform
          1. Publishing the data to CartoDB
          2. Preparing a CartoDB SQL Query
            1. Generating the test data
            2. The CartoDB SQL view tab
            3. The QGIS CartoDB plugin
            4. The CartoDB SQL API
        4. Leaflet and an external API: CartoDB SQL
        5. Summary
      4. 4. Finding the Best Way to Get There
        1. Postgres with PostGIS and pgRouting
          1. Installing Postgres/PostGIS/pgRouting
          2. Creating a new Postgres database
          3. Registering the PostGIS and pgRouting extensions
        2. OpenStreetMap data for topology
          1. Downloading the OSM data
          2. Adding the data to the map
          3. Projecting the OSM data
          4. Splitting all the lines at intersections
        3. Database importing and topological relationships
          1. Connecting to the database
          2. Importing into PostGIS with DB Manager
          3. Creating the topological network data
          4. An alternate workflow: topology with osm2po
          5. Using the pgRouting Layer plugin to test
        4. Creating the travel time isochron polygons
          1. Generating the travel time for each road segment
          2. Creating isochron polygons
            1. Converting the travel time lines to points
            2. Selecting the travel time ranges in points and creating convex hulls
        5. Generating the shortest paths for all students
          1. Finding the associated segment for a student location
          2. Calculating the accumulated shortest paths by segment
            1. Flow symbology
        6. Web applications – creating safe corridors
          1. Registering a Twitter account and API access
          2. Setting up the Twitter Tools API
        7. Summary
      5. 5. Demonstrating Change
        1. Leveraging spatial relationships
          1. Gathering the data
            1. Boundaries
            2. Tabular data from American FactFinder
          2. Preparing and exporting the data
            1. The tabular data
              1. Combining it yearly
              2. Updating and removing fields
            2. The boundary data
              1. Calculating the average white population change in each census tract
              2. The spatial join in SpatiaLite
                1. Creating a SpatiaLite database
                2. Importing layers to SpatiaLite
                3. Querying and loading the SpatiaLite layer from the DB Manager
        2. TopoJSON
          1. An example of GeoJSON
          2. An example of TopoJSON
          3. Vector simplification
            1. Simplification methods
              1. Other options
            2. Simplifying for TopoJSON
            3. Simplifying for other outputs
          4. Converting to TopoJSON
            1. Web mapshaper
            2. The command-line tool
        3. The D3 data visualization library
          1. What is D3?
            1. Some fundamentals
              1. Parsing
              2. Graphic elements, SVG, path, and Canvas
              3. Projection
              4. Shape generator
              5. Scales
              6. Binding
              7. Select, Select All, Enter, Return, Exit, Insert, and Append
          2. Animated time series map
            1. The development environment
            2. Code
              1. main.js
            3. Output
        4. Summary
      6. 6. Estimating Unknown Values
        1. Importing the data
          1. Connecting and importing from MySQL in QGIS
          2. Converting to spatial format
            1. The layer/table relations
          3. NetCDF
            1. Viewing NetCDF in QGIS
        2. Interpolated model values
          1. Python for workflow automation
            1. Knowing your environment
          2. Generating the parameter grids for each time period
            1. What this code does
            2. Running a code in Python
            3. Running the printed commands in the Windows command console
              1. The subprocess module
          3. Calculating the vulnerability index
          4. Creating regular points
          5. Sampling the index grid by points
            1. Create SQLite database and import
        3. A dynamic web application – OpenLayers AJAX with Python and SpatiaLite
          1. Server side – CGI in Python
            1. Python CGI development
              1. Starting a CGI hosting
              2. Testing the CGI hosting
              3. Debugging server-side code
            2. Our Python server-side, database-driven code
              1. PySpatiaLite
              2. The Python code for web access to SQLite through JSON
          2. The OpenLayers/jQuery client-side code
            1. Exporting the OpenLayers 3 map using QGIS
            2. Modifying the exported OpenLayers 3 map application
              1. Adding an interactive HTML element
              2. AJAX – the glue between frontend and backend
                1. Adding an AJAX call to the singleclick event handler
                2. Populating and triggering the popup from the callback function
          3. Testing the application
        4. Summary
      7. 7. Mapping for Enterprises and Communities
        1. Google Sheets for data management
          1. Creating a new Google document
          2. Publishing Google Sheets on the Web
          3. Previewing JSON
          4. Parsing the JSON data
            1. Starting up the server
            2. Test parsing with jQuery
          5. Rollout
            1. Assigning permissions to additional users
            2. The editing workflow
            3. The publishing workflow
            4. Viewing the changes in your JSON feed
        2. The cartographic rendering of geospatial data – MBTiles and UTFGrid
          1. OpenStreetMap to SpatiaLite
          2. To tile and use UTFGrid with TileMill
            1. Preparing a basemap from OSM
            2. Preparing the operational layer in TileMill
            3. Exporting MBTiles
              1. Uploading to Mapbox
              2. The MBTiles file
        3. Interacting with Mapbox services
          1. Connecting your local app with a hosted service
            1. The API token
            2. Mapbox.js
              1. Simple UTFGrid modification
              2. Previewing a simple UTFGrid modification
            3. OpenLayers
              1. Code modification
        4. Putting it all together
          1. Parsing the sheets JSON feed
          2. Completing the application
        5. Going further – local MBTiles hosting with TileStream
          1. Setting up a Vagrant virtual Linux instance
          2. Installing Node.js and TileStream
          3. Setting up and starting TileStream
        6. Summary
    8. 3. Module 3
      1. 1. Data Input and Output
        1. Introduction
        2. Finding geospatial data on your computer
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Adding layers with the Layer menu
            2. Adding a folder to Favorites
            3. Nonfile data sources
        3. Describing data sources
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        4. Importing data from text files
          1. How to do it…
          2. How it works…
          3. There's more…
          4. See also
        5. Importing KML/KMZ files
          1. How to do it…
          2. How it works…
          3. There's more…
        6. Importing DXF/DWG files
          1. How to do it…
          2. How it works…
          3. There's more…
            1. Opening DWG files
        7. Opening a NetCDF file
          1. How to do it…
          2. How it works…
          3. There's more…
            1. The NetCDF Browser plugin
        8. Saving a vector layer
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Fine-tuning the export operation
            2. Opening the layer after creating it
        9. Saving a raster layer
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        10. Reprojecting a layer
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        11. Batch format conversion
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        12. Batch reprojection
          1. How to do it…
          2. How it works…
          3. There's more…
        13. Loading vector layers into SpatiaLite
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        14. Loading vector layers into PostGIS
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
      2. 2. Data Management
        1. Introduction
        2. Joining layer data
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        3. Cleaning up the attribute table
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        4. Configuring relations
          1. Getting ready
          2. How to do it…
          3. How it works…
        5. Joining tables in databases
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        6. Creating views in SpatiaLite
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        7. Creating views in PostGIS
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        8. Creating spatial indexes
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        9. Georeferencing rasters
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        10. Georeferencing vector layers
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        11. Creating raster overviews (pyramids)
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        12. Building virtual rasters (catalogs)
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
      3. 3. Common Data Preprocessing Steps
        1. Introduction
        2. Converting points to lines to polygons and back – QGIS
          1. Getting ready
          2. How to do it…
            1. Converting points to lines (or polygons)
            2. Converting lines to polygons
            3. Converting polygons to lines
            4. Converting polygons or lines to points
          3. How it works…
          4. There's more…
        3. Converting points to lines to polygons and back – SpatiaLite
          1. Getting ready
          2. How to do it…
            1. Points to lines
            2. Lines to polygons
          3. How it works…
          4. There's more…
          5. See also
        4. Converting points to lines to polygons and back – PostGIS
          1. Getting ready
          2. How to do it…
            1. Converting points to lines
            2. Converting lines to polygons
            3. Converting lines or polygons to points
          3. How it works…
          4. There's more…
          5. See also
        5. Cropping rasters
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        6. Clipping vectors
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        7. Extracting vectors
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        8. Converting rasters to vectors
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        9. Converting vectors to rasters
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        10. Building DateTime strings
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        11. Geotagging photos
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
      4. 4. Data Exploration
        1. Introduction
        2. Listing unique values in a column
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        3. Exploring numeric value distribution in a column
          1. Getting ready
          2. How to do it…
          3. How it works...
          4. See also
        4. Exploring spatiotemporal vector data using Time Manager
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        5. Creating animations using Time Manager
          1. Getting ready
          2. How to do it…
          3. How it works…
        6. Designing time-dependent styles
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        7. Loading BaseMaps with the QuickMapServices plugin
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        8. Loading BaseMaps with the OpenLayers plugin
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        9. Viewing geotagged photos
          1. Getting ready
          2. How to do it…
            1. Going a little further
          3. How it works…
          4. There's more…
          5. See also
      5. 5. Classic Vector Analysis
        1. Introduction
        2. Selecting optimum sites
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        3. Dasymetric mapping
          1. Getting ready
          2. How to do it…
          3. How it works…
        4. Calculating regional statistics
          1. Getting ready
          2. How to do it…
          3. How it works…
        5. Estimating density heatmaps
          1. Getting ready
          2. How to do it…
          3. How it works…
        6. Estimating values based on samples
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
      6. 6. Network Analysis
        1. Introduction
        2. Creating a simple routing network
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        3. Calculating the shortest paths using the Road graph plugin
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        4. Routing with one-way streets in the Road graph plugin
          1. Getting ready
          2. How to do it…
          3. How it works…
        5. Calculating the shortest paths with the QGIS network analysis library
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        6. Routing point sequences
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        7. Automating multiple route computation using batch processing
          1. Getting ready
          2. How to do it…
        8. Matching points to the nearest line
          1. Getting ready
          2. How to do it…
          3. How it works…
        9. Creating a routing network for pgRouting
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        10. Visualizing the pgRouting results in QGIS
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        11. Using the pgRoutingLayer plugin for convenience
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        12. Getting network data from the OSM
          1. Getting ready
          2. How to do it…
          3. How it works…
      7. 7. Raster Analysis I
        1. Introduction
        2. Using the raster calculator
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        3. Preparing elevation data
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        4. Calculating a slope
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Using a ratio for elevation values
            2. Other slope algorithms
            3. Calculating the slope
          5. See also
        5. Calculating a hillshade layer
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Enhancing your map view with a hillshade layer
        6. Analyzing hydrology
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        7. Calculating a topographic index
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        8. Automating analysis tasks using the graphical modeler
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
      8. 8. Raster Analysis II
        1. Introduction
        2. Calculating NDVI
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Extracting bands
        3. Handling null values
          1. How to do it…
          2. How it works…
          3. There's more…
            1. Controlling the rendering of null values
        4. Setting extents with masks
          1. How to do it…
          2. How it works…
          3. There's more…
            1. Restricting analysis to a given area
            2. Removing superfluous no-data values
            3. Masking using a vector mask
        5. Sampling a raster layer
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Other raster-vector data transfer operations
        6. Visualizing multispectral layers
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        7. Modifying and reclassifying values in raster layers
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Reclassifying into classes of equal amplitude
            2. Reclassifying into classes of equal area
          5. See also
        8. Performing supervised classification of raster layers
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
      9. 9. QGIS and the Web
        1. Introduction
        2. Using web services
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        3. Using WFS and WFS-T
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        4. Searching CSW
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        5. Using WMS and WMS Tiles
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        6. Using WCS
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        7. Using GDAL
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        8. Serving web maps with the QGIS server
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        9. Scale-dependent rendering
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        10. Hooking up web clients
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        11. Managing GeoServer from QGIS
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Editing a remote style
            2. Support for multiple formats
          5. See also
      10. 10. Cartography Tips
        1. Introduction
        2. Using Rule Based Rendering
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        3. Handling transparencies
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        4. Understanding the feature and layer blending modes
          1. Getting ready
          2. How to do it…
          3. How it works…
        5. Saving and loading styles
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        6. Configuring data-defined labels
          1. Getting ready
          2. How to do it…
            1. Example: moving and rotating a label
          3. How it works…
          4. There's more…
        7. Creating custom SVG graphics
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        8. Making pretty graticules in any projection
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        9. Making useful graticules in printed maps
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        10. Creating a map series using Atlas
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
      11. 11. Extending QGIS
        1. Introduction
        2. Defining custom projections
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        3. Working near the dateline
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        4. Working offline
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        5. Using the QspatiaLite plugin
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        6. Adding plugins with Python dependencies
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        7. Using the Python console
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        8. Writing Processing algorithms
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        9. Writing QGIS plugins
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
            1. Creating plugins with more complex UI elements
            2. Documenting you plugin
            3. Releasing your plugin
        10. Using external tools
          1. Getting ready
          2. How to do it…
            1. GPSBabel
            2. spatialite-gui
            3. pgAdmin
          3. How it works…
          4. There's more…
      12. 12. Up and Coming
        1. Introduction
        2. Preparing LiDAR data
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
        3. Opening File Geodatabases with the OpenFileGDB driver
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        4. Using Geopackages
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        5. The PostGIS Topology Editor plugin
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        6. The Topology Checker plugin
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. See also
        7. GRASS Topology tools
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
        8. Hunting for bugs
          1. Getting ready
          2. How to do it…
            1. Creating a backtrace under Linux
            2. Capturing debug output with DebugView under Windows
          3. How it works…
          4. There's more…
          5. See also
        9. Reporting bugs
          1. Getting ready
          2. How to do it…
          3. How it works…
          4. There's more…
          5. See also
    9. Bibliography
    10. Index