ENV 761 (Fay) - Conservation GIS

Project 2: Sierra Costera Site Evaluation - Part 2

Project 2: Sierra Costera Site Evaluation - Part 2♦ Overview1. Creating watershed based planning units2. Using Flow Length to identify riparian areas3. Identifying flood plains using the watershed tool.

♦ Overview

In this lab, we continue our examination of terrain and ecohydrology in the Sierra Costera de Oaxaca. We did the bulk of the analysis in the previous lab, but there are a few additional useful techniques relating to processing DEMs to go over. Also, I provide specific instructions regarding the deliverables for the project.


1. Creating watershed based planning units

This course deals a lot with prioritizing landscapes for action; we seldom have the resources to protect an entire landscape, so we have to identify subsets of the area where we can focus our efforts. To do this, we need to divide the landscape into planning units. Based on several factors, a planning unit is either included or excluded in the set of area we tag for conservation, but however we make those decisions, we still need to devise a useful way to divide the landscape into these units.

Watersheds, basins, catchments, hydrologic units -- whatever you want to call them -- often provide an excellent means for dividing a landscape into planning units. They are scalable. They follow somewhat natural, ecologically meaningful boundaries, and they are relatively easy to create using a DEM.

In the previous lab, we reviewed how to delimit the drainage area for specific pour points. In this exercise we review a procedure used to parse the entire landscape into watershed planning units. It requires a Flow Direction and Flow Accumulation raster, both easily derived from a DEM as seen in the previous lab, and the Stream Link tool.

The process goes as follows (which you should do in a new geoprocessing model):

You now have a dataset you can use to prioritize your landscape. Each watershed planning unit can be assigned various attributes, and based on these attributes prioritized for inclusion in your final conservation plan -- a topic we will revisit later in this course.

→ What would you change to create more (but smaller) planning units or fewer (but larger) ones? Are all the watershed planning units valid, i.e. hydrologically correct, watersheds?


2. Using Flow Length to identify riparian areas

The land immediately adjacent to streams often has special value for conservation. For one, natural vegetation in the riparian zone can act to buffer pollutants such as excess nutrients and sediments generated upslope that would normally flow directly into stream courses. Intact riparian zones can also provide natural corridors linking habitats for many species.

Mapping riparian zones is often done simply by buffering stream features a set distance. This can be done either with the Buffer tool, if using vector stream features, or the Euclidean Distance tool, if working with rasters (or vectors). This procedure provides reasonable approximations of riparian area, but it neglects the fact that water does not travel "as the crow flies" but rather follows the terrain until it spills into the nearest stream.

The following steps outline the procedure for using ArcMap's Flow Length tool to [somewhat] easily calculate distance from stream along the flow path, which can ultimately provide a more accurate estimation of riparian zones. The Flow Length tool calculates distances along the flow path, and it does so in one of two directions: upstream and downstream. Upstream flow length tags each cell with the distance to the furthest upstream pixel. This can be useful for computing hydrographs, but it's not all that useful to us. Instead, we are interested in downstream flow length which tags each cell with the distance (along the flow path) until a NoData cell is reached.

The Flow Length tool itself is fairly straightforward, but there are a few tricks to getting it to do exactly what we want. First of all, we want to calculate flow distance to the nearest stream, not to the watershed outlet. To do this, we need to set all stream cells to NoData before calculating flow length. And once we've calculated that, it's likely we want to add the stream cells back into the result, which may sound easy, but it can be somewhat confusing with all the switching between Data and NoData values it requires.

Anyway, here are the steps. You may want to create a new toolbox to hold your models.

  1. Create a new geoprocessing model to calculate riparian area via the FlowLength method.

  2. First we want to create a FlowDirection raster where all the stream cells are set to NoData so that we can calculate flow length to the nearest stream, not the watershed outlet.

    • Add the 90m Flow Direction and Flow Accumulation rasters you created in the previous lab.
    • Using the SetNull tool, set all cells with a flow accumulation >= 300 (i.e. stream cells) to NoData. Use the Flow Direction raster to set the values of the remaining pixels.

    Take a look at the output. It should look exactly like the original flow direction raster, except that stream cells are now set to NoData.

  3. Add the Flow Length tool to your model. Set it to use the modified flow direction raster you just created and keep direction set to Downstream.

    The output is nearly what you want, but you'll note that the stream cells are still set to NoData. Also, these distances do not account for travel through the cell itself (you can see that all cells adjacent to a stream have a flow length of zero). We need to apply two adjustments...

  4. Add the Plus tool to your model and add 45 (1/2 the cell size of 90m) to all values in the output of your Flow Length process. This adjusts the flow length from the edge of the cell to the middle of the cell.

  5. Finally, to add the stream back to the result, we'll again use the original Flow Accumulation raster to identify stream cells: if a cell is a stream, we'll set the value to zero, otherwise we'll set the value to be the adjusted flow length we create in the previous step. You can do this with the Con tool.

We are left with a raster where each cell is the distance along the flow path to the nearest stream. This dataset has a variety of uses. We can select cells up to a given distance threshold to identify riparian corridor. We can also use it to identify how far non-point source polluting cells are from streams as a way of spatially adjusting their potential impact on stream water quality. Baker et al (2005) provides an excellent overview of how Flow Length and land cover rasters can be used to greatly improve estimates of non-point source pollution impacts on streams.

 

3. Identifying flood plains using the watershed tool.

Another useful dataset is one that shows floodplains, or the area adjacent to a stream that's likely to get flooded if the streamflow were to exceed a certain depth. Here we will examine the procedure for creating a raster showing all the pixels that are no more than 2m above the cell into which it drains. Then we will examine some useful derivatives from this dataset.

The key in creating this dataset is to create an elevation layer where values are not relative to sea level, but rather to the stream in which the cell drains. We do this by assigning elevation values (as integers) to the stream cells and then using these as pour point values for the watershed tool. Subtract this result from the actual elevation, and we have relative elevation! There's one catch, however. A 2m difference in elevation is a pretty fine measurement to extract from a 90 m DEM, so we will only do this analysis using the 15m DEM.

Here are the steps to execute this analysis:

  1. Create a new geoprocessing model to calculate floodplain area.
  2. Before calculating the elevation difference between upslope area and stream, we'll need a stream raster. If you haven't created one from your 15m dataset, create one now. (Use a 1000 cell flow accumulation threshold.)
  3. If your DEM is a floating point raster, the next step would be to convert these floating points to integers so that elevation values can be used as pour point locations in the Watershed tool. If your terrain is relatively flat, you may want to multiply values by 10 or 100 to maintain subtle changes in elevation before converting to integer (e.g. an elevation of 10.483 m would be come 105 cm). Note that our 15m DEM is already an integer raster so there's no need to do this step.
  4. Now you need to extract these integer DEM values for just the stream cells. You can use the Extract by Mask tool (or Con or SetNull...) to do this. These will become your pour points for the next step. Yes, there are gobs of pour points and two adjacent stream cells may have the same value. That's actually ok!
  5. Next, use the Watershed tool to create watersheds for all these elevation pour point pixels. Examine the result and be sure you understand what the output cell values represent (and how it became that). As the instructor or a TA if you are not entirely clear.
  6. To compute the elevation relative to the stream (vs sea level) we subtract watershed tool output from the original DEM. In doing so, we are left with the difference between the actual elevation of a pixel (in m above sea level) and the elevation of the stream pixel into which the pixel drains!
  7. Lastly, isolate all the pixels in the above result that are less than or equal 2. This output is your 2m floodplain. With this dataset you can: characterize by the proportion of area within the floodplain.