Evaluating Landscape Permeability in Quantum
Contents
- 1 Disclaimer
- 2 Introduction
- 3 Data
- 4 Methods
- 5 Workspace Setup
- 6 Data Processing
- 7 Reclassifying the Rasters According to Cost
- 7.1 Creating the Reclass Rules Text Files
- 7.2 Running the Reclass Tool
- 7.3 Combining the Cost Rasters in the Map Calculator
- 7.4 Boundary and Points
- 7.5 Evaluating Least Cost Path and Corridor between Wolf Ranges A and D
- 7.6 r.walk.vect for Wolf Range A
- 7.7 r.drain
- 7.8 r.to.vect.line
- 7.9 r.walk.vect for Wolf Range D
- 7.10 Creating the Corridor between Wolf Ranges A and D in Raster Calculator
- 8 Conclusion
- 9 Helpful Links
- 10 References
Disclaimer
Please note that this Wiki has been produced for the GEOM4008 Advanced Topics in Geographic Information Systems class at Carleton University strictly as a tutorial to showcase the method of calculating landscape permeability using FOSS. The results should by no means be taken as a true analysis of grey wolf movement since much of the data was fictitious.
Introduction
The objective of this project was to develop a method to evaluate landscape permeability for large carnivores using only Free and Open-Source Software (FOSS). This tutorial has been created to allow non-GIS individuals to successfully complete this analysis in Quantum GIS (1.7.4) using the Grass Plugin. This tutorial will be carried out while analyzing the landscape permeability for grey wolf movement on Vancouver Island. The final result of this project will be a landscape permeability map which will attempt to provide valuable insight into the movement of the Vancouver Island grey wolf. This sort of information could potentially be used to implement more successful conservation strategies, facilitate ecosystem-based management (EMB), and better understand the genetic flow in the island’s population.
Data
Before beginning this tutorial in Quantum GIS (QGIS) a variety of data is needed. In order to evaluate landscape permeability the data must be specific to the area and animal chosen to analyze. After the animal has been chosen, parameters that would inhibit movement in the study area should be studied, and then data must be located. For our analysis of movement on the grey wolf on Vancouver Island, we used a combination of freely available data, as well as self-created data for the purpose of this tutorial. See Table 1 for the data used and the source of the data.
Data Used | Data Format | Data Source |
---|---|---|
Boundary of Vancouver Island | Vector Polygon | Scholars Geoportal Layer: Dissemination Blocks - Cartographic Boundary File (DB-CBF), 2011 Census / Producer: Statistics Canada |
Lakes | Vector Polygon | Scholars Geoportal Layer: Minor Water Regions (MNWTR) / Producer: DTMI Spatial Inc. |
Parks | Vector Polygon | Scholars Geoportal Layer: Parks and Recreation - Region / Producer: DTMI Spatial Inc. |
Landcover | Vector Polygon | GeoBase Layer: Land Cover / Producer: Circa 2000 |
DEM | Raster | GeoBase Layer: Canadian Digital Elevation Data / Producer: Natural Resources Canada |
Road Density | Raster | Created Data |
Grey Wolf Range | Vector Points & Polygon | Created Data |
Deforestation on Vancouver Island | Vector Polygon | Created Data |
Hunting Camps | Vector Polygon | Created Data |
Methods
It is highly recommended that these methods are done in order.
QGIS Setup
Before you can begin in QGIS, you must first locate all the data that you wish to use. A good place to start if you are unsure where to find free data would be Scholars GeoPortal* and GeoBase. Once you have found all the data you wish to use, create a folder in your computer and place the data in this folder.
* Note: Scholars GeoPortal data is only available to students attending universities whose libraries are a member of the OCUL.
Opening QGIS
Before beginning, ensure that Quantum GIS is installed on the computer you wish to use. If you do not have QGIS installed, download QGIS.
- Once the installation has been completed, or if QGIS was already installed, click the QGIS icon to open the program. This will open the initial QGIS window.
- Immediately go to the File Tab.
- Click Save Project As.
- Save your project in the folder with all your data.
- IMPORTANT NOTE: Remember to save your project often.
Installing the Grass Plugin
Once the initial QGIS window has been opened, it is highly recommended that the GRASS plugin be installed next. The GRASS plugin allows the tools from GRASS GIS to be used within QGIS.
- Go to the Plugins Tab.
- Click Manage Plugins.
- This will bring you to the QGIS Plugin Manager Window.
- In filter write GRASS.
- Click on the GRASS Plugin and make sure there is an x in the box.
- Finally, click OK.
- Now, go back to the Plugins Tab, a new GRASS Tab should have appeared.
- Expanding this GRASS menu reveals that most of the tools are greyed out.
- In order to fix this click on New Mapset. The Mapset is the location where you want your grass files to be stored.
- Click Browse , and then go to your chosen destination.
- Once you have browsed to the location, click Next.
- Now you will create a new GRASS location. We named ours GRASS.
- Then click Next.
- This will bring you to the Projection window. Defining your projection is extremely important.
- Click the circle beside Projection. You must chosen the projection based on your study location; for more information on choosing an appropriate projection, see this Guide to Selecting Map Projections. Since our location was in Vancouver Island, we chose Universal **Transverse Mercator (UTM), NAD83 (NSRS2007) /UTM zone 10N.
- Once you have chosen your projection, click Next.
- This will bring you to the Define GRASS Region Window.
- Scroll to the country of your study area, and click Set.
- Then click Next.
- This will bring you to the Mapset window.
- Name your new Mapset. We named ours Mapset.
- Click Next.
- Then click Finish. Your new mapset has now been created!
- Now if you go back to the Plugins Tab, you can see that the tools are no longer grayed out. Depending on the computer you are using you may have to open the mapset every time you open and close QGIS.
- In order to do this, go to the Plugins Tab.
- Click GRASS
- Lastly, click Open Mapset.
Workspace Setup
Before beginning any data processing, the workspace and data to be used needs to be set up.
Add Vector Layers to QGIS
- To add vector layers, click the “Add Vectors layer” button at the top left of the screen.
- Browse to the location where you saved your data.
- Click Open.
- For this project we added the following vectors: Vancouver Island boundary, lakes, parks, landcover, grey wolf range (both polygon and points), hunting camps, and deforested areas.
- These layers will appear in the Table of Contents (TOC) on the left.
Add Raster Layers to QGIS
- To add a raster layer, click the Add Raster Layer button.
- Navigate to the desired folder using the Browse button.
- Chose the w001001.adf file.
- Then click Open. These layers will show up in the TOC on the left. The raster layers we added to the project included: Road Density and a DEM.
- In the TOC, right click on the layer that says w001001.
- Click on properties.
- Within the layer properties, go to the General Tab.
- Under Display Name, give the layer an appropriate name. Fore example, DEM.
- Next, go to the Style Tab.
- Change the Color Map option to be Pseudocolour.
- Then click OK.
Edit Current Grass Region
It is very important to edit the Current GRASS Region in order to specify the processing extents and resolution.
- To do this, go to the Plugins Tab.
- Click on GRASS.
- Then click the Edit Current GRASS Region Button.
- The extent can be created by drawing an area of interest around your boundary layer.
- Then click OK.
Data Processing
The data processing steps will set up all your layers in the proper formats to be used in the landscape permeability evaluation.
Clipping Vector Layers to AOI boundary
- To clip all the layers to your Area of Interest (AOI), go to the Vector Tab. Ex. we used the Vancouver Island boundary files as our AOI.
- Click Geoprocessing Tools.
- Then click Clip.
- The Input vector layer is the layer that needs to be clipped. For example we had to clip our Roads file which originally contained all the Roads in BC.
- The Clip layer is the layer you wish to be your AOI.
- Name the output shapefile and specify an appropriate location for it.
- Then Click OK.
Union
A union must be completed on all of the vector layers that do not have full data coverage of the boundary file. The union will act to fill any NULL values in the dataset to be 0s instead; this will become important when using the Raster Calculator in later steps.
- To complete this process, go to the Vector Tab, click Geoprocessing Tools, and click Union.
- The input vector layer should be boundary file in all cases.
- The union layer should be any layer that does not have full coverage, as described above. We completed this process for lakes, parks, grey wolf range, landcover, deforested areas, and hunting camps.
- Specify the location and name of the output shapefile. An example of how we named ours is Parks_U.
- Click OK.
- A geoprocessing box will pop up asking if you would like to add the new layer to the TOC.
- Click Yes.
Editing the Attribute Table
The attribute table must be edited on all the layers you preformed a union on to create a "CLASS" field which will house the unique values from which we will create our rasters from later.
- To open the attribute table, right click on the layer.
- Left click on Open Attribute Table.
- In order to edit, click the editor mode on.
- Create a new column by clicking New Column.
- The add Column window will pop up. Give the column a name. We named our CLASS.
- If you would like, you can give the column a comment; however, it is not necessary.
- Ensure the type is set to whole number (integer), with a width of 1.
- The click OK.
- In the new column CLASS, set the original boundary to be 1 and all the remaining attributes to be 2.
- The boundary can be distinguished by clicking on the numbers on the left side of the window. (seen in red).
- As you click the numbers, sections of the map will become highlighted.
- Again, once you have found the boundary, put a 1 in the CLASS column and a 2 in the rest of the columns.
- To save changes click the editor mode button again.
Importing Vectors to Grass Format
To use the GRASS plugin all the layers must be imported into a GRASS format. For all the vector layers the tool v.in.ogr.qgis must be used.
- To do so go to the Plugins Tab.
- Click Grass.
- Then click Open GRASS Tools.
- Next go to the Modules List Tab.
- In the filter box type v.in.ogr.qgis.
- Click on the Correct Tool.
- The tool will pop up.
- Use the drop down OGR vector layer arrow to select a layer to change to grass format.
- IMPORTANT NOTE: the layer must be on in the T of C for the drop down to function.
- Give the output vector map a name. An example of our naming scheme is Deforest_U_G, where the "G" signifies that it is now in a GRASS vector fomrat.
- Click Run.
- Once the tool has successfully finished, click View Output. The layer will appear in the TOC.
Importing Rasters to Grass Format
To use the GRASS plugin, all the raster layers must also be imported into a GRASS format. For all the raster layers the tool r.in.gdal.qgis must be used.
- To do this, go to the Plugins Tab.
- Click Grass.
- Then click Open GRASS Tools.
- Go to the Modules List Tab.
- In the filter box, type r.in.gdal.qgis.
- Click on the correct tool.
- The tool will popup.
- Use the drop down loaded layer arrow to select a layer to change to grass format.
- IMPORTANT NOTE: the layer must be on in the TOC and activated it show up in the dropdown menu.
- Give the output raster map a name a click Run. An example of our naming scheme is DEM_G.
- Once the tool has successfully finished, click View Output. The layer will appear in the TOC.
Converting Vectors to Rasters
The convert vector to raster does exactly as the name sounds, converts GRASS vectors to GRASS rasters. All the vectors layers must be converted to raster in order to preform the reclassification in the following step. For our project we converted lakes, parks, landcover, grey wolf range, hunting camps, and deforestation.
- Go to the Plugins Tab.
- Click GRASS.
- Then click Open GRASS Tools.
- Go to the Modules List.
- In the filter box, type in v.to.rast.attr.
- Click on the correct tool. and the tool will then open.
- Using the dropdown menu, select input vector layer you wish to rasterize.
- Remember, the layer must be on for it to appear in the dropdown menu.
- In the Attribute field, select the CLASS layer that you created.
- Give the output raster map a name.
- Click Run.
- Finally, click View Output.
Raster Data Processing: Creating the Slope Layer
To create a slope layer, a digital elevation model (DEM) must be given as the input.
- Go to the Plugins Tab.
- Click Grass.
- Click Open Grass Tools.
- Go to the Modules List.
- In the filter box, type slope.
- Click the Slope Tool.
- Input the name of the elevation raster map (DEM).
- Name the output slope raster map. Our output map was named Slope.
- The format for reporting the slope can be degrees or percent; we used degrees.
- Click Run.
- Lastly, click View Output.
Figure 1: Left: shows the DEM. Right: Shows the resulting slope raster.
Reclassifying the Rasters According to Cost
In order to assign a cost value to each cell, we must perform a reclass on each raster. Before beginning the reclass, a textfile (.txt) must be written in which the reclass rules will be specified. This subjective process that should be based on scientific literature and expert opinion.
Creating the Reclass Rules Text Files
- For each unique pixel value in a raster, the reclass rules will dictate the assigned cost (i.e. the level of difficulty, from 1 to 10) that a wolf would have traveling across it. For example, any water pixel in the lakes raster, was assigned a cost of 7. The cost value of 7 was assigned because water poses a barrier to wolf movement; however, the wolves can swim if necessary.
- In the image shown above, the first column on the left indicates each unique pixel value in the raster (recall, for the layers in which a union was required,these values would be 1 (the boundary) and 2 (ex.lakes)). The second column indicates the cost value you wish to reassign to each pixel.
- If the raster has more than two unique values, then you can assign a single cost value to a range of slope values. This example is demonstrated below using our Slope raster.
- For further help creating the reclass rule files see r.reclass Grass Help
Running the Reclass Tool
Next you must actually run the reclass using the r.class tool.
- Go to the Plugins Tab.
- Click GRASS.
- Click Open GRASS Tools.
- Go to the Modules List.
- In the filter box, type in r.reclass.
- Click on the correct tool.
- Input the raster map to be reclassified.
- For the File Containing Reclass Rules parameter, browse to the location of your saved reclass rules text file.
- Specify an output raster map name. For example we called ours Huntrange_Reclass.
- Now click Run.
- Then, click View Output.
Combining the Cost Rasters in the Map Calculator
To create a cost raster that displays the cumulative cost of moving over the land, all the individual cost rasters must be added together using the raster map calculator.
- Go to the Plugins Tab.
- Click GRASS.
- Click Open GRASS Tools.
- Go to the Modules List.
- In the filter box, type in r.mapcalculator.
- Click on the map calculator tool.
Figure 2: Unfortunately, the r.mapcalculator tool can only take in 6 input rasters. Since we had 8 cost factors, the calculation needed to be done in two steps, shown above.
Figure 3: The final Master Cost Raster created by adding all the individual cost rasters together.
Boundary and Points
Evaluating Least Cost Path and Corridor between Wolf Ranges A and D
The first step in actually evaluating a cost path/corridor, is to calculate an accumulated cost surface from a starting point; this is done using r.walk. The second step is to run r.drain on the results from r.walk; in this step the destination is specified. The output from this will be the least cost path from point A to D. This path should then be converted to a vector in order to create an editable line.
To generate the least cost corridors between ranges A and D, an accumulated cost surface must be created using point D as the starting point. The final step is to add these two accumulated cost surface rasters together, which will create the cost corridor.
r.walk.vect for Wolf Range A
r.walk.vect creates the accumulated cost surfaces.
- Go to the Plugins Tab.
- Click Grass.
- Click Open Grass Tools.
- Go to the Modules List.
- In filter type in r.walk.
- Click on the r.walk.vect tool.
- In the Name of Elevation Input Raster Map parameter, select the DEM.
- In the Name of Input Raster Map Containing Friction Costs parameter, insert the master cost raster.
- In the Starting Points Vector Map parameter, select the starting location point. For our example, we wanted to start at Wolf Range A.
- Specify a output raster map name and deselect the option to Use the 'Knight's move'. For example we called ours rwalk_A.
- Now click Run.
- Then click View Output.
- Once your map has appeared right click on the layer in the T of C.
- Left click on properties.
- Got to the Style Tab
- In the Colourmap box uses the drop down arrow and click colourmap.
- Now go to the Colourmap Tab.
- In the classification mode box use the up arrows to make 8 classes.
- Click classify.
Figure 1: The accumulated cost surface raster for wolf range A .
r.drain
r.drain creates the least cost path between the staring point and the destination.
- Go to the Plugins Tab.
- Click Grass.
- Click Open Grass Tools.
- Go to the Modules List.
- In filter type in r.drain.
- Click on the r.drain tool.
- In the Name of Elevation Raster Map box uses the drop down arrow to place rwalk_A.
- Give the output raster map a name. An example of our naming scheme would be r.drainAD.
- Next you must input the coordinates of the starting points(s).
- The coordinates can be determined by using the Pan Map tool (in the upper left corner).
- Hold the Pan Map tool over starting point (in this case your D point). The coordinates can be seen in the left hand corner.
- Write these coordinates down and then place them in the starting points box.
- The Result is a path that goes from Wolf Habitat A to Wolf Habitat D. (See below)
Figure 2: The least cost path from wolf range A to D.
r.to.vect.line
The r.to.vect.line tool can change the raster path created from r.drain and create a vector line.
- Click Grass.
- Click Open Grass Tools.
- Go to the Modules List.
- In filter type in r.to.vect.line.
- Click on the correct tool.
- The input raster map should be r.drainAD.
- The output vector map can be named adpath.
- Click Run.
- Then click View Output.
r.walk.vect for Wolf Range D
r.walk.vect must be run to again create the accumulated cost surface. However, instead of running r.walk.vect with Wolf Range A it will be run with Wolf Range D.
- Look above for the steps to complete this.
- The only difference is the starting points vector map input. This time use wrD_pnt_G.
- Also ensure to name the raster map to contain results differently. We named our rwalk_D.
- The resulting r.walk map for wolf habitat D is shown below.
Figure 3: The accumulated cost surface raster for wolf range D .
Creating the Corridor between Wolf Ranges A and D in Raster Calculator
- Go to the Plugins Tab.
- Click Grass.
- Click Open Grass Tools.
- Go to the Modules List.
- In filter type in r.mapclac.
- Click on the r.mapcalc tool.
- In the window create an equation. Add rwalk_A and rwalk_D together.
- In the output name the map adcorridor.
- Click Run.
- Finally click View Output.
Figure 4: The least cost path from wolf range A to D overlaid on the corresponding least cost corridor map.
Conclusion
Figure 5: The final map showing all the possible least cost paths to each wolf range overlaid on an accumulated least cost corridor raster .
Helpful Links
Welcome to the Quantum GIS Project