QGIS – Watershed delineation


Overview of watershed delination using QGIS. The Manual approach uses a series of functions available in SAGA GIS. The Automated approach uses QSWAT+ which is recentely implmented in QGIS 3. Other approaches are introduced in youtube videos by Hans van der Kwast.

Sponsored link


Create a merged DEM layer

(1) Download Adjusted DEM from MERIT Hydro. Select area you need.

(2) Raster > Miscellaneous > Build Virtual Raster

(3) Select layers to be merged, uncheck the checkbox Place each input file into a separate band, and Run

(4) Merged DEM

Raster channel network

(1) I create a binary raster data with 1 indicating stream networks (0 otherwise) to burn streams into DEM. Download Upstream Drainage Area from MERIT Hydro

(2) Raster > Raster Calculator

(3) Input a formula to extract pixels with > XXX drainage area ("epsg4326_MWupa@1" >= 1). In this example, I set a value of 1 as pixel values were entered in unit ‘km2’. Unit varies by file, so make sure before deciding the value.

(4) Binary channel data - pixels with > 1 km2 drainage area have 1, otherwise 0.

Burn streams into DEM

(1) Raster > Raster Calculator. Subtract a value from the original DEM using the Binary channel layer ("epsg4326_MWdem@1" - "epsg4326_MWupa_channel@1"*20). In this case, subtracting 20 m from the original DEM. Important: every single pixel must match between layers.

(2) Burned DEM - pixels where streams flow have low elevations.


(1) Raster > Projection > Warp

(2) Reprojection setup

  • Input Layer: burned DEM
  • Source CRS: current layer CRS
  • Target CRS: target CRS
  • Resampling method to use: bilinear for DEM
  • Nodata value for output bands: -9999
  • Output file resolution in target georeferenced units: 90 m
  • Additional command-line parameters: -tap

Fill depression area

(1) Processing > Toolbox > SAGA >Terrain Analysis - Hydrology > Fill sinks (wang & liu)

(2) Fill sinks setup

  • DEM: Burned DEM
  • Minimum Slope: 0.001 (default 0.01, but does not work for Midwest)

Create a channel network

(1) Processing > Toolbox > SAGA> Terrain Analysis - Hydrology > Catchment area

  • Elevation: Filled DEM
  • Method: Deterministic 8

(2) Processing > Toolbox > SAGA> Terrain Analysis - Channels > Channel network

  • Elevation: DEM used for catchment area calculation
  • Initiation Grid: Catchment area grid produced by 'Catchment area'
  • Initiation Type: Greater than
  • Initiation Threshold: Minimum catchment area to be a channel

(3) Channel network produced

Automated (QSWAT+)

Download SWAT+

(1) Go to SWAT+ website and install the software onto your computer. Install guide is available on the website linked.
(2) Plugins > Manage and Install Plugins > Search SWAT > Check QSWATPlus3_64 to activate QSWAT+

Create streams

(1) Create a working directory where all the output files will be stored
(2) Create a QGIS project in the working folder (otherwise QSWAT+ will ask you to create)
(3) Click S+ icon in the menu bar

(4) Click Delineate Watershed in the QSWAT+ inbox

(5) Create streams (click Create streams once you are ready)

  • Select DEM: Choose raw or burned DEM (or filled DEM, but the following process involves filling depression areas).
  • Burn in existing stream network: [Optional] check and choose a vector stream file for burn-in if you prefer
  • Channel threshold and Stream threshold: Define minimum catchment area to be a channel or stream

(6) Create watersheds (click Create watersheds once you are ready). In the following example, I drew two outlet points indicated by blue triangles

  • Use an inlets/outlets shapefile: [Optional] check and choose a vector file that specifies inlets/outlets or draw inlets/outlets (Draw inlets/outlets). If you use a predefined point vector, the file must contain the following fields in its attribute table - ID, RES, INLET, PTSOURCE. The field ID is a series number that uniquely identifies each point, while others are an indicator variable that speficies whether the point is either a reservoir (RES), inlet (INLET) or PTSOURCE (PTSOURCE). If the point is either of these, the corresponding column should be indicated as 1 (otherwise 0). If all the columns but ID are 0, then the point is recognized as an outlet.
  • Snap threshold (meters): If you draw inlets/outlets, those must be exactly on a stream line. QSWAT+ snap points to the nearest stream line with a threshold value of 300 m by default.

(7) Stream and watershed layers created for each outlet

(8) To merge subbasins, go to Merge subbasins tab at the bottom > Select subbasins. QAWAT+ will let you select subbasins that you want to merge. Note that the QSWAT+ will not merge subbasins that do not share an outlet.

(9) Merged watershed polygons

(10) Output files are stored in the working directory: Go to your working directory > Watershed > Rasters or Shapes

Sponsored link
Posted in: GIS

Leave a Reply

Your email address will not be published. Required fields are marked *