Tutorial on Hydrology Tool
-----------------------------------------------------------------------------------------------------------------------------
1. Given data
Digital Elevation Model
2. Software requirements
ArcGIS Pro 3.1
3. Hydrology tool set
Now you have a raster data set ready for hydrology analysis. This tool set is in Spatial Analyst Tools as
Hydrology as in figure below.
Hydrology tool set in the order of operation
1. Fill tool
2. Flow Direction Map
3 Flow Accumulation
4. Stream Network
5. Stream Link
6. Stream Order
7. Stream to Feature
8. Flow length
9. Basin Extraction
10. Creating watershed boundary
11. Delineating Watersheds and Sub-watersheds
1. Fill tool
Before carried out any of the hydrological analysis, the map has to be clean by removing fill and sinks.
How fill works
Sinks (and peaks) are often errors due to the resolution of the data or rounding of elevations to the
nearest integer value. Sinks should be filled to ensure proper delineation of basins and streams. If the
sinks are not filled, a derived drainage network may be discontinuous.
Profile view of a sink before and after running Fill
1
Profile view of a peak before and after running Fill
Fill tool
Double click on the Fill tool. Provide DEM_River as the input surface raster, and save the output raster
as DEM_River_fill in your working directory (leave the default name selected by the software). The main
function of this tool is to remove imperfections in the DEM to enable water flow to the watershed outlet.
However, if there are natural sinks in the data (e.g, 10m deep lake), you can use the “Z limit” to retain
these natural sinks. For example, if you specify Z limit as 6m, the program will not fill any sinks that are
deeper than 6m. The default is to fill all sinks (do not provide any input for Z limit). Click OK.
After the process is complete a filled DEM (DEM_River_fill) will be added to the map document.
2. Flow Direction Map
One of the keys to deriving hydrologic characteristics about a surface is the ability to determine the
direction of flow from every cell in the raster. This is done with the Flow Direction function. This function
takes a surface as input and outputs a raster showing the direction of flow out of each cell. If the output
drop raster option is chosen, an output raster is created showing a ratio of the maximum change in
elevation from each cell along the direction of flow to the path length between centres of cells and is
expressed in percentages. If the force all edge cells to flow outward option is chosen, all cells at the edge
of the surface raster will flow outward from the surface raster. (Reference – ArcGIS help)
Flow direction Tool
This function computes the flow direction for a given grid. The value in any given cell of the flow direction
grid indicates the direction of the steepest descent from that cell to one of its neighboring cells using
the eight direction pour point (D8) method. Double click on Flow Direction tool. Select DEM69_fill as
the input surface raster, and name the output raster as DEM_River_fdr. The optional output drop raster
will produce a raster that shows the ratio in percent between the maximum drop in the elevation from
each cell towards the direction of the flow and the flow length between the adjacent cells. We do not
need the drop raster to leave this input empty. The other option of forcing all the edge cells to flow
outward is also needed for this exercise. Click OK.
2
After the process is complete, a flow direction grid with cells having one of the eight flow direction values
(1,2,4,8,16,32,64,128) will be added to the map document. Save the map document.
3. Flow Accumulation
The Flow Accumulation function calculates accumulated flow as the accumulated weight of all cells
flowing into each downslope cell in the output raster. If no weight raster is provided, a weight of one is
applied to each cell, and the value of cells in the output raster will be the number of cells that flow into
each cell. In the graphic below, the top left image shows the direction of travel from each cell and the
top right the number of cells that flow into each cell. Zoom into the referencing points, select Add control
points
Flow accumulation Tool
The function uses the flow direction grid to compute the accumulated number of cells that are draining
to any particular cell in the DEM. Double click on Flow Accumulation tool. Select DEM_River_fdr as the
input flow direction raster, and save the output flow accumulation raster as DEM_River_FlowAcc. Leave
the default options for input weight raster null, and change the output data type to INTEGER. Click OK.
After the process is complete, a flow accumulation grid will be added to the map document. You will
clearly see a stream network in this output, and if you check the pixel value (by using the identifier
tool), the values along the cells that appear to form a stream network will have much higher values
compared to the surrounding cells. Save the map document.
3
Right click on DEM_River_fac layer, and see if you can open the attribute table. If you are not able to see
the attribute table, then we need to build one. To build an attribute table for an integer raster, you can
use the ArcToolbox. Click on Data Management Tools→Raster→Raster Properties→Build Raster
Attribute Table. While building the table, leave the option overwrite box unchecked, and click OK. Once
this is done, you will not be able to see the attribute table.
4. Stream Network
Because the flow accumulation gives the number of cells (or area) that drain to a particular cell, it can
be used to define a stream. It is assumed that a stream is formed when a certain area (threshold) drains
to a point. This threshold can be defined by using the number of cells in the flow accumulation grid. If
we assume an area of P km2 as the threshold to create a stream, the number of cells corresponding to
this threshold area is Q (P/(cell size)). To create a raster, that will have stream cells corresponding to a
threshold area of 5km2 and cell size of 100m (5000000/100*100), is 500. To create a raster, that will
have stream cells corresponding to a threshold area of 5km2, select Spatial Analyst ToolsMap
AlgebraRaster Calculator. Create a raster from DEM_River_FlowAcc such that it only includes cells
that have pixel value greater than 500 as shown below, and click OK.
This will create a calculation raster where all the cells with value greater than or equal to 500 in
accumulation file will have a value of 1, and all other cells are set to Null. Save the output raster as
stream in your working directory. Save the map document.
(Note: this step can also be accomplished using the Con tool under Spatial Analyst Tools→Conditional)
5. Stream Link
This tool assigns a unique number to each link (or segement) in the stream raster. Double click on Stream
Link. Provide Stream as the input stream raster, DEM_River_fdr as the flow direction raster, and name
the output raster as DEM_River_str_link.
6. Stream Order
Stream ordering is a method of assigning a numeric order to links in a stream network. This order is a
method for identifying and classifying types of streams based on their number of tributaries. Some
characteristics of streams can be inferred by simply knowing their order. For example, first-order
streams are dominated by overland flow of water; they have no upstream concentrated flow. Because
4
of this, they are most susceptible to nonpoint source pollution problems and can derive more benefit
from wide riparian buffers than other areas of the watershed. The Stream Order function has two
methods you can use to assign orders. These are the methods proposed by Strahler (1957) and Shreve
(1966). (Reference – ArcGIS help)
This tool creates stream order for the stream network. Double click on stream order. Provide stream as
the input for stream raster, DEMRiver_R_fdr as the input for flow direction raster and name the output
raster as D9str_ordr as shown below. Choose anyone you like (Strahler in this case), and click OK.
After the process is complete, DEM_str_ordr will be added to the map document.
7. Stream to Feature
Stream to Feature is a vectorization program designed primarily for vectorization of stream networks or
any other raster representing a raster linear network for which directionality is known. Stream to
Feature is optimized to use a direction raster to aid in vectorizing intersecting and adjacent cells. Using
Stream to Feature, it is possible for two adjacent linear features of the same value to be vectorized as
two parallel lines.
This tool converts stream raster to a polyline feature class. Provide stream as the input for stream raster,
DEM_River_fdr as input for the flow direction raster and save the output as [Link] in your working
directory. Click OK.
5
After the process is complete, a shapefile named stream will be added to the map document. Save the
map document. You can use this tool to create features from other stream related rasters such as stream
order and stream link.
8. Flow length
This tool uses the flow direction to compute the flow distance or length from each cell to the most
downstream or upstream cell in the DEM. Double click on Flow Length. DEM69_fdr as the input flow
direction raster and save the output as DEM_River_len in your working directory. Use downstream to
compute the flow length to the watershed outlet. Click OK.
After the process is complete, flow length will be added to the map document. What is the maximum
distance any water drop has to travel over the different watersheds to reach the outlet?
9. Basin Extraction
The Basin tool delineates drainage basins within the Analysis window by identifying ridge lines between
basins. Basin analyzes the flow direction raster to find all sets of connected cells that belong to the same
drainage basin. The drainage basins are created by locating the pour points at the edges of the Analysis
window (where water would pour out of the raster), as well as sinks, then identifying the contributing
area above each pour point. This results in a raster of drainage basins. (Reference – ArcGIS help)
This tool uses the flow direction grid to find all sets of connected cells that belong to the same drainage
basin, and assigns the number of cells that belong to a basin to all the cells within that basin. Double
click on Basin. Provide DEM_River_fdr as the input flow direction raster, and name the output raster as
DEM_River_basin as shown below. Click OK.
After the process is complete, DEM_River_basin raster will be added to the map document. Although
you will see a big drainage basin that gives the drainage boundary for River output, there are some small
drainage areas that do not drain to the desired outlet.
10. Creating watershed boundary
We can use the basins raster to get polygons as watershed boundaries. Select Converstion ToolsFrom
RasterRaster to polygon. Provide DEM_River_basin as the input raster, 8 choose output geometry
type as polygon (or polyline if you want), and save the output as DEM_River_ [Link] in your working
directory as shown below. Click OK.
6
After the process is complete, DEM_River_ [Link] shapefile will be added to the map document.
This shapefile will contain multiple polygons, with each polygon representing a watershed that is
draining to an outlet.
11. Delineating Watersheds and Sub-watersheds
In order to delineate the watersheds, it is necessary to have a point shapefile that identifies the point
where water will flow. Create a point shape file or a feature class DEM_River_point in your working
directory. Add this file to your map document. Start editing and using digitising create point near to the
places you want to have water sheds save the file and stop editing.
Although these points are snapped to the stream, it is a good idea to use the Snap Pour Point function
to create a grid of snapped points, and then use this grid to delineate watersheds or sub watersheds.
Double click on Snap Pour Point. Use the DEM_River_point shapefile as input for the feature pour point
data, leave the default Id field unchanged for pour point field, use DEM69_fac as input for the flow
accumulation raster and name the output raster as snap_pt. Use a snap distance of 30m (this may
change for different datasets and resolutions). Click OK.
After the process is complete, a raster named snap_pt will be added to the map document. Zoom-in to
the points to make sure that they align with the stream or flow accumulation grid.
7
Next, double click on Watershed. Use DEM_River_fdr as input for flow direction, SnapPou_DEM for input
pour point raster, leave the default pour point field unchanged, and name the output raster as
Watersh_DEM69. Click OK.
After the process is successfully completed, you should get a raster showing watersheds at these points
as shown below.