售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Mastering QGIS
Table of Contents
Mastering QGIS
Credits
Foreword
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. A Refreshing Look at QGIS
QGIS download and installation
Installing QGIS on Windows
Installing QGIS on Mac OS X
Installing QGIS on Ubuntu Linux
Installing QGIS only
Installing QGIS and other FOSSGIS Packages
Tour of QGIS
QGIS Desktop
QGIS Browser
Loading data
Loading vector data
Loading raster data
Loading databases
Web services
Working with coordinate reference systems
Working with tables
Table joins
Editing data
Snapping
Styling vector data
Styling raster data
Contrast enhancement
Blending modes
Composing maps
Adding functionality with plugins
Summary
2. Creating Spatial Databases
Fundamental database concepts
Database tables
Table relationships
Structured Query Language
Creating a spatial database
Importing data into a SpatiaLite database
Importing KML into SpatiaLite
Importing a shapefile into SpatiaLite
Importing tables into SpatiaLite
Exporting tables out of SpatiaLite as a shapefile
Managing tables
Creating a new table
Renaming a table
Editing table properties
Deleting a table
Emptying a table
Creating queries and views
Creating a SQL query
Creating a spatial view
Dropping a spatial view
Summary
3. Styling Raster and Vector Data
Choosing and managing colors
Always available color picker components
Changeable panels in the color picker
Color ramp
Color wheel
Color swatches
Color sampler
Managing color ramps
Managing the QGIS color ramp collection
Renaming a color ramp
Removing a color ramp
Exporting a color ramp
Importing a color ramp
Adding a color ramp
Adding a Gradient color ramp
Adding a Random color ramp
Add a ColorBrewer color ramp
Adding a cpt-city color ramp
Editing a color ramp
Styling single band rasters
Paletted raster band rendering
Singleband gray raster band rendering
Singleband pseudocolor raster band rendering
Styling multiband rasters
Creating a raster composite
Raster color rendering
Raster resampling
Styling vectors
Single-symbol vector styling
Categorized vector styling
Graduated vector styling
Rule-based vector styling
Point-displacement vector styling
Inverted polygons vector styling
Vector layer rendering
Using diagrams to display thematic data
Parameters common to all diagram types
Diagram size parameters
Diagram position parameters
Adding attributes to diagrams
Creating a pie chart diagram
Creating a text chart diagram
Creating a histogram chart diagram
Saving, loading, and setting default styles
Saving a style
Loading a style
Setting and restoring a default style
Summary
4. Preparing Vector Data for Processing
Merging shapefiles
Creating spatial indices
Checking for geometry errors
Converting vector geometries
Creating polygon centroids
Converting polygons to lines and lines to polygons
Creating polygons surrounding individual points
Extracting nodes from lines and polygons
Simplifying and densifying features
Converting between multipart and singlepart features
Adding geometry columns to an attribute table
Using basic vector geoprocessing tools
Spatial overlay tools
Using the Clip and Difference tools
Using the Intersect and Symmetrical Difference tools
Overlaying polygon layers with Union
Creating buffers
Generating convex hulls
Dissolving features
Defining coordinate reference systems
Understanding the Proj.4 definition format
Defining a new custom coordinate reference system
Advanced field calculations
Exploring the field calculator interface
Writing advanced field calculations
The first example – calculating and formatting the current date
The second example – inserting geometric values
The third example – calculating a population-dependent label string
Complex spatial and aspatial queries
Summary
5. Preparing Raster Data for Processing
Reclassifying rasters
Converting datasets from floating-point to integer rasters
Resampling rasters
Installing and troubleshooting SAGA on different platforms
Windows
Mac OS X
Linux
Rescaling rasters
Creating a raster mosaic
Generating raster overviews (pyramids)
Converting between raster and vector data models
Converting from raster to vector
Converting from vector to raster (rasterize)
Creating raster surfaces via interpolation
Summary
6. Advanced Data Creation and Editing
Creating points from coordinate data
Mapping well-known text representations of geometry
Geocoding address-based data
How address geocoding works
The first example – geocoding using web services
The second example – geocoding using local street network data
Georeferencing imagery
Ground control points
Using the Georeferencer GDAL plugin
The first example – georeferencing using a second dataset
Getting started
Entering the ground control points
Transformation settings
Completing the operation
The second example – georeferencing using a point file
Checking the topology of vector data
Installing the Topology Checker
Topological rules
Rules for point features
Rules for line features
Rules for polygon features
Using the Topology Checker
Repairing topological errors via topological editing
Example 1 – resolving duplicate geometries
Example 2 – repairing overlaps
Setting the editing parameters
Repairing an overlap between polygons
Example 3 – repairing a gap between polygons
Summary
7. The Processing Toolbox
About the processing toolbox
Configuring the processing toolbox
Understanding the processing toolbox
Using the processing toolbox
Performing raster analyses with GRASS
Calculating shaded relief
Calculating the least-cost path
Calculating the slope using r.slope
Reclassifying a new slope raster and the land use raster
Combining reclassified slope and land use layers
Calculating the cumulative cost raster using r.cost
Calculating the cost path using least-cost paths
Evaluating a viewshed
Clipping elevation to the boundary of a park using GDAL
Calculating viewsheds for towers using r.viewshed
Combining viewsheds using r.mapcalculator
Calculating raster statistics using r.stats
SAGA
Evaluating a habitat
Calculating elevation ranges using the SAGA Raster calculator
Clipping land use to the park boundary using Clip grid with polygon
Querying land use for only surface water using the SAGA Raster calculator
Finding proximity to surface water using GDAL Proximity
Querying the proximity for 1,000 meters of water using the GDAL Raster calculator
Reclassifying land use using the Reclassify grid values tool
Combining raster layers using the SAGA Raster calculator
Exploring hydrologic analyses with TauDEM
Removing pits from the DEM
Calculating flow directions across the landscape
Calculating the upstream area above Fort Klamath
Calculating a stream network raster grid
Creating a watershed-specific vector stream network
R
Exploring summary statistics and histograms
Summary
8. Automating Workflows with the Graphical Modeler
An introduction to the graphical modeler
Opening the graphical modeler
Configuring the modeler and naming a model
Adding inputs
Adding algorithms
Running a model
Editing a model
Documenting a model
Saving, loading, and exporting models
Executing model algorithms iteratively
Nesting models
Using batch processing with models
Converting a model into a Python script
Summary
9. Creating QGIS Plugins with PyQGIS and Problem Solving
Webography - where to get API information and PyQGIS help
PyQGIS cookbook
API documentation
The QGIS community, mailing lists, and IRC channel
Mailing lists
IRC channel
The StackExchange community
Sharing your knowledge and reporting issues
The Python Console
Getting sample data
My first PyQGIS code snippet
My second PyQGIS code snippet – looping the layer features
Exploring iface and QGis
Exploring a QGIS API in the Python Console
Creating a plugin structure with Plugin Builder
Installing Plugin Builder
Locating plugins
Creating my first Python plugin – TestPlugin
Setting mandatory plugin parameters
Setting optional plugin parameters
Generating the plugin code
Compiling the icon resource
The plugin file structure – where and what to customize
Exploring main plugin files
Plugin Builder generated files
A simple plugin example
Adding basic logic to TestPlugin
Modifying the layout with Qt Designer
Adding two pull-down menus
Modifying the GUI logic
Modifying the plugin logic
Classifying layers
Populating the combobox
Understanding self
Showing and running the dialog
Some improvements
More detail of the code
Setting up a debugging environment
What is a debugger?
Installing Aptana
Setting up PYTHONPATH
Starting the Pydevd server
Connecting QGIS to the Pydevd server
Debugging session example
Creating a PyDev project for TestPlugin
Adding breakpoints
Debugging in action
Summary
10. PyQGIS Scripting
Where to learn Python basics
Tabs or spaces, make your choice!
Loading layers
Managing rasters
Exploring QgsRasterLayer
Visualizing the layer
Managing vector files
Managing database vectors
Vector structure
The basic vector methods
Describing the vector structure
Describing the header
Describing the rows
Exploring QgsGeometry
Iterating over features
Describing the iterators
Editing features
Updating canvas and symbology
Editing through QgsVectorDataProvider
Changing a feature's geometry
Changing a feature's attributes
Deleting a feature
Adding a feature
Editing using QgsVectorLayer
Discovering the QgsVectorLayerEditBuffer class
Changing a feature's geometry
Changing a feature's attributes
Adding and removing a feature
Running processing toolbox algorithms
Looking for an algorithm
Getting algorithm information
Running algorithms from the console
Running your own processing script
Creating a test processing toolbox script
Looking at the custom script
Running the script
Running an external algorithm or command
Running a simple command
Interacting with the map canvas
Getting the map canvas
Explaining Map Tools
Setting the current Map Tool
Getting point-click values
Getting the current Map Tool
Creating a new Map Tool
Creating a map canvas event handler
Creating a Map Tool event handler
Setting up the new Map Tool
Using point-click values
Exploring the QgsRubberBand class
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜