I am fiddling with the GRASS plugin in QGIS to produce watersheds and drainage basins as well as being able to identify all the basins and watersheds leading to one point (depending where i chose to question the information).

Through researches, I found someone who created something similar to what he would get in arcHYDRO with QGIS and following his steps, I'm brought to use the GRASS function r.stream.extract, but the resulting layers are definitely way too dense for my purpose. Since this process took quite a long time, in order to avoid re-doing it I am looking for clarifications regarding the algorithm's settings and which to raise to make the result a bit less dense.

I have left all the settings by default in my first attempt. I will of course continue my researches to try and clarify this.

My suspicions are the "Minimum flow accumulation for streams" and "Delete stream segments shorter than cells" parts that could be played with, but i don't know the scale of impact which numbers would have.

P.S. Cell size is 10m/pixel

Here is what it looks like: enter image description here

1 Answer 1


You need to adjust the "threshold" parameter, which is Minimum flow accumulation for streams in the Processing GUI. With this parameter you determine what is the minimum drainage area for each stream reach. THe units are pixels. So in the above image, with Minimum flow accumulation=1 you will be creating a very dense stream network, where each and every pixel is a tiny catchment.

To choose the correct value you need to know the resolution of your original DEM, SSRaster_filled, and what minimum area you want to set. Here are two examples:

  • If I use the well-known SRTM elevation data, the resolution is 30 meters, so each pixel covers 900 square meters. Then suppose I want the minimum drainage area to be 10 square kilometers (10,000,000 sq m.), I would choose a threshold value of 11,000. That's 10,000,000 / 900.
  • If my DEM is 10 meter resolution, and I want a minimum drainage area of 2 sq.km, then I would choose a threshold of 2,000,000 / 100 = 20,000

Some GRASS resources for more information: on the GRASS wiki and the man pages HTH

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.