Difference between revisions of "Hydrological Analysis Using Whitebox Geospatial Analysis Tools"

From CUOSGwiki
Jump to navigationJump to search
Line 1: Line 1:
 
==Purpose==
 
==Purpose==
  +
The purpose of this tutorial is to guide the user through the process of analyzing the hydrology of an area based on the local elevations.
'''''The purpose of this tutorial is to guide the [http://www.qgis.org/en/site/ Quantum GIS (QGIS)] user through the steps necessary to create a slope analysis model workflow using the [http://docs.qgis.org/2.0/en/docs/user_manual/processing/toolbox.html Processing Toolbox]. The user will also learn the basics surrounding the creation of slope, hillshade and aspect maps. The user will also then learn how to export the model as a [http://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] script as well as preform geoprocessing tasks using the QGIS [http://docs.qgis.org/2.0/en/docs/user_manual/working_with_raster/raster_calculator.html Raster Calculator]. This tutorial is designed for a beginner GIS user who has experience with previous GIS software packages however no experience with QGIS.
 
  +
This tutorial uses the opensource software Whitebox Geospatial Analyst Tools and explores some of the most useful of the hydrology tools included in it.
'''''
 
  +
The intent of this tutorial is for the user to understand the process underwent, an to be able to build off of it for their specific purposes.
[[File:Overview.PNG|700px]]
 
  +
  +
This tutorial assumes that the user has some experience with GIS software.
   
 
==Introduction==
 
==Introduction==

Revision as of 19:44, 21 December 2017

Purpose

The purpose of this tutorial is to guide the user through the process of analyzing the hydrology of an area based on the local elevations. This tutorial uses the opensource software Whitebox Geospatial Analyst Tools and explores some of the most useful of the hydrology tools included in it. The intent of this tutorial is for the user to understand the process underwent, an to be able to build off of it for their specific purposes.

This tutorial assumes that the user has some experience with GIS software.

Introduction

QGIS is a free open source geographical information system application that has geographical viewing, editing and analyzing capabilities. Within QGIS are tools called "Plug-ins". Plug-ins are essentially developed geoprocessing features made by the QGIS developers as well as independent users who would like to expand and contribute to the functionality of the software. One particular plug-in extension found in QGIS is the Processing toolbox extension. The Processing toolbox extension is similar to the features that are found in ArcMap’s ModelBuilder. Processing is an efficient application that is capable of creating, editing and managing geographical models. The user is able to connect together workflow diagrams that involve a series of geoprocessing algorithms. For the purposes of this tutorial, a workflow will be created using geographical data of Carp, Ontario in order to create a digital elevation model (DEM). This will then be used to create the slope, hillshade and aspect maps.

This tutorial was also done as a partial requirement of Carleton University's Advanced Topics in Geographic Information Systems 4008 course.

WhiteboxVersion.png

Data

In this tutorial the only necessary layer is a Digital Elevation Model (DEM) file of your area of interest. In this tutorial we are focusing on Calabogie, ON. It is recommended that you use tthis same dataset for following along. It can be acquired and downloaded here. A sample of this data is shown bellow.

DataExa.PNG

For the event that the dropbox link has become inactive the process of obtaining this data is described below to make this tutorial relevant for longer. Access the Government of Canada Geospatial Data Extraction Application here.

In the “Select Clipping Area” bar enter change the selection to "Predefined Clipping Area" and then select "Drainage areas" from the drop down list that appears.

SelectClipArea.png

This produces a long list of sequential drainage area names. Search through the names until you find "02KE000" and select it. I found this on the 17th page of drainage area names.

The map extent on the right side of the web page should now match the image below.

MapExtent.PNG


Under “Select Data to be extracted” Select “Elevation – Digital elevation model”. Under “Select options and submit job” fill all of the required boxes so that it matches the figure below. Make sure to enter the email address that you would like to have the file sent to in the “Email Address” field.

SelectOptions.PNG

An email will be sent to the entered email address shortly which contains a URL for the direct download of the data.

If neither of these options are available, any DEM in a tiff format can be used.

Acquiring and Installing Whitebox 3.4.0

Whitebox version: 3.4.0 (The current version of Whitebox as of 2017 is 3.4.0 and this was the version used for this tutorial. A list of the download links for Windows, Mac and Linux platforms can be found here.)

After the correct .zip file has been downloaded and extracted to your directory of choice the installation process is complete.

It is important that your machine has version 8 or higher of the Java SE Runtime Environment before trying to run Whitebox. This can be acquired here

Getting Started

Launching Whitebox 3.4.0

After the file has been extracted the contents should look similar to the image below

FileContents.PNG

Double click on the "WhiteboxGIS.jar" file in order to launch the program.

Note: If you are running Windows 10 on your computer you may need to double click on the "Whitebox.bat" file to launch it instead.

Setting up a working Directory

For this Tutorial I created a working directory before starting any analysis processes. This step is not necessary, though it will aid in the organization of this project. Create a folder called "WhiteboxTutorial", or something similar. Within this folder create one folder called "Data", and another called "DataProducts"

The final product will look like the image below.

WorkingDirectory.PNG

Place the DEM.tif data file into the "Data" folder. All files created from the DEM file will be placed in the "DataProducts" folder. i.e. all files output by Whitebox tools while going through this tutorial. Also, project files will be saved directly within the "WhiteboxTutorial" folder itself.

Adding Elevation Data and Saving the Map Project

To add the elevation data to the project select the icon in the top left of the Whitebox window, highlighted in red in the image below. (or use the hotkey Ctrl + L)

AddData.png

A popup window will then appear. In this window navigate to the location of the Calabogie DEM data file and select open.

AddDEM.PNG

You will likely recive a popup message like the one below. Select okay to add your data to the map.

ErrorMsg.PNG


To save your project select "Save Map" under the "Cartography" tab. (or use the hotkey Ctrl + S)

SaveMap.png

In the pop up window that appears navigate to the location that you would like to save the project and select "Save".

SaveLoc.PNG

You should now be ready for analysis.

Hydrological Analysis

Now that our preparation has been completed we can move on to the analysis section of this tutorial.

DEM Pre-Processing

Pre-processing is an important first step in any hydrological analysis as this process identifies and corrects all features within the DEM that may disrupt the flow analysis. More confidence can be put in the output of all future hydrological analysis with this data due to these corrections.


FindNoFlow.PNG

FindNoFlowMsg.PNG

FindNoFlowOtp.PNG

In this tutorial the "Fill Depressions"

Fill.PNG

FillDepressions.PNG

FillDepressionsOtp.PNG

Flow Pointer

FlowPointer.PNG

FlowPointerMsg.PNG

FlowPointerOtp.PNG

Flow Accumulation

FlowAccumulation.PNG

FlowAccumulationMsg.PNG

FlowAccumulationOtp.PNG

Isobasin

Isobasin.PNG

IsobasinMsg.PNG

IsobasinOtp.PNG

Extract Streams

ExtractStreams.PNG

ExtractStreamsMsg.PNG

ExtractStreamsOtp.PNG

Sub-basins

Subbasins.PNG

SubbasinsMsg.PNG

SubbasinsOtp.PNG

Watershed Analysis

Pour Points

BlankOutletRaster.PNG

BlankOutletRasterMsg.PNG

ModifyPixelTool.png

ModifyPixelToolUse.png

ModifyPixelToolMsg.png

SnapPourPoints.PNG

SnapPourPointsMsg.PNG

Watershed

Watershed.PNG

WatershedMsg.PNG

WatershedOtp.PNG

Conclusion

In conclusion, this tutorial was aimed to give the user the skills to create workflows using the QGIS Processing Toolbox while also creating a workshop for slope and terrain analysis. This tutorial also gives the user the very basic introduction into the GIS world of Python scripting as well. The Python scripts that were exported can be slightly edited to preform the same geoprocessing tasks but with different parameters if necessary.


Resource Links

QGIS version 2.18 Documentation

GDAL - Geospatial Data Abstraction Library

Aspect - GIS Dictionary

Hillshade - GIS Dictionary

Interpolation - GIS Dictionary

Slope - GIS Dictionary

Python - Learn Python the Hard Way

Notepad++ Homepage

References

Crosetto, M., Tarantola, S., & Saltelli, A. (2000). Sensitivity and uncertainty analysis in spatial modelling based on GIS. Agriculture, Ecosystems and Environment, 81(1), 71-79. doi:10.1016/S0167-8809(00)00169-9

Hutchinson, M.F., 1998. Interpolation of Rainfall Data with Thin Plate Smoothing Splines – Part II: Analysis of Topographic Dependence. Journal of Geographic Information and Decision Analysis, vol.2, no. 2, pp. 152-167, 1998.

R.E. Crochiere and L.R. Rabiner. (1983). Multirate Digital Signal Processing. Englewood Cliffs, NJ: Prentice–Hall.