![]()
Table of Contents
QGIS Blueprints
Credits
About the Author
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. Exploring Places โ from Concept to Interface
The software
The development community and dependencies
Data format read/write
Geospatial coordinate transformation
Analysis
Web publishing
Installation
Linux
Mac
Windows
OSGeo-Live
Acquiring data for geospatial applications
Producing geospatial data with georeferencing
Table join
Geocode
Orthorectify
The spatial reference manipulation โ making the coordinates line up
Setting CRS
Transformation and projection
Visualizing GIS data
The layer style
Labels
The basemap
Using OpenStreetMap for the basemap data
Avoiding obscurity and confusion
The layer scale dependency
The label conflict
The polygon label conflict resolution
Tile caches
Generating and testing a simple directory-based tile cache structure
Create a layer description file for the TileLayer plugin
Summary
2. Identifying the Best Places
Vector data โ Extract, Transform, and Load
Loading data and establishing the CRS conformity
The extracting (filtering) features
Converting to raster
Doing more at onceโworking in batch
Raster analysis
Map algebra
Additive modeling
Proximity
Creating a proximity to the easements grid
Slope
Combining the criteria with Map Calculator
Zonal statistics
Publishing the results as a web application
qgis2leaf
Summary
3. Discovering Physical Relationships
Hydrological modeling
Preparing the data
Filling the grid sinks
Clipping the grid to study the area by mask layer
Modeling the hydrological network based on elevation
Workflow automation with the graphical models
Creating a graphical model
Adding the input parameters
Adding the raster parameter โ elevation
Adding the vector parameter โ extent
Adding the algorithms
Fill Sinks
Clip raster
Channel network and drainage basins
Running the model
Spatial join for a performant operational layer interaction
The NNJoin plugin
The CartoDB platform
Publishing the data to CartoDB
Preparing a CartoDB SQL Query
Generating the test data
The CartoDB SQL view tab
The QGIS CartoDB plugin
The CartoDB SQL API
Leaflet and an external API: CartoDB SQL
Summary
4. Finding the Best Way to Get There
Postgres with PostGIS and pgRouting
Installing Postgres/PostGIS/pgRouting
Creating a new Postgres database
Registering the PostGIS and pgRouting extensions
OpenStreetMap data for topology
Downloading the OSM data
Adding the data to the map
Projecting the OSM data
Splitting all the lines at intersections
Database importing and topological relationships
Connecting to the database
Importing into PostGIS with DB Manager
Creating the topological network data
An alternate workflow: topology with osm2po
Using the pgRouting Layer plugin to test
Creating the travel time isochron polygons
Generating the travel time for each road segment
Creating isochron polygons
Converting the travel time lines to points
Selecting the travel time ranges in points and creating convex hulls
Generating the shortest paths for all students
Finding the associated segment for a student location
Calculating the accumulated shortest paths by segment
Flow symbology
Web applications โ creating safe corridors
Registering a Twitter account and API access
Setting up the Twitter Tools API
Summary
5. Demonstrating Change
Leveraging spatial relationships
Gathering the data
Boundaries
Tabular data from American FactFinder
Preparing and exporting the data
The tabular data
Combining it yearly
Updating and removing fields
The boundary data
Calculating the average white population change in each census tract
The spatial join in SpatiaLite
Creating a SpatiaLite database
Importing layers to SpatiaLite
Querying and loading the SpatiaLite layer from the DB Manager
TopoJSON
An example of GeoJSON
An example of TopoJSON
Vector simplification
Simplification methods
Other options
Simplifying for TopoJSON
Simplifying for other outputs
Converting to TopoJSON
Web mapshaper
The command-line tool
The D3 data visualization library
What is D3?
Some fundamentals
Parsing
Graphic elements, SVG, path, and Canvas
Projection
Shape generator
Scales
Binding
Select, Select All, Enter, Return, Exit, Insert, and Append
Animated time series map
The development environment
Code
main.js
Output
Summary
6. Estimating Unknown Values
Importing the data
Connecting and importing from MySQL in QGIS
Converting to spatial format
The layer/table relations
NetCDF
Viewing NetCDF in QGIS
Interpolated model values
Python for workflow auto...