I want to be able to calculate the catchment area that would feed rainwater into proposed swales.

I can do this easily enough, and with sufficient accuracy--not much accuracy is really needed, on a case by case basis by hand simply by tracing perpendiculars to the contour lines backwards uphill from the opposite ends of the proposed swale.

However, I'd like to be able to use software to speed this up, and to make it easier for helpers who don't know how to do this. I've been considering creating this software (not trivial for sure), but is there such a program out there that's free?

  • Depends on the data you have at hand?
    – Erik
    Dec 19, 2019 at 16:14
  • 2
    I do this using QGIS and SAGA functions, only with DEM as input. Not sure if it's the same thing you're working on, take a look at the functions available in QGIS. Dec 19, 2019 at 16:14
  • 1
    Well, that's part of the question :) However, the two data sources I'm considering using as the basis of anything I might write myself (and therefore I know I have available) are a) Google Maps, and b) the SRTM stuff here: srtm.csi.cgiar.org/srtmdata Dec 19, 2019 at 16:16
  • 2
    Here's a tutorial for doing hydrological analysis in QGIS: docs.qgis.org/3.4/en/docs/training_manual/processing/hydro.html. Calculating catchment areas will use the Watersheds basins algorithm. If you search for "QGIS" and any combination of "catchment" "basin" or "watershed" you'll find additional tutorials.
    – csk
    Dec 19, 2019 at 16:56
  • 1
    @Toby Eggitt. Yes, QGIS is free. The answers they sent and the link in the csk´s comment will help you a lot in this matter. I can't better describe the process compared to the site indicated. SRTM is a valid data source. Dec 20, 2019 at 10:41

4 Answers 4


No need to reinvent the wheel. TauDEM offers a rich suite of hydrology tools including the ability to generate catchment areas using raster surface models. TauDEM is FOSS4G. TauDEM will be an available processing tool in QGIS - or addable to QGIS - depending on your QGIS version.

ArcGIS - Spatial Analyst Tool-Hydrology Tools offers a similar (commercial) suit of tools.


Depends upon what do you mean by free and which data set it available to you?

There are tons of software (free as in freedom) which could be used for this purpose. Here is a list which I have personally worked with. All software are free although some may cost money and are listed for the sake of completeness and are not recommendation (e.g. MATLAB) Let me know if you have any further question.

  • If you want highly parallel and fast solution, then I will recommend you to go with WhiteboxTools by John Linday.

  • If you have huge area and big datasets, I can recommend you terraflow by Lars Arge.

  • If you have access to MATLAB license, I will suggest you to go with excellent topotoolbox by Wolfgang Schwanghart.

  • If you need reboust solution, then I can recommend you PCRaster. Look at this Catchment Delineation video by Hans Van der Kwast

  • And last but not least, my favorite is QGIS with SAGA. You Can find more detailed procedure in this video.

More details can be found on this very good Open GIS Course Website. Here you will find all the video and information about finding suitable data set.


Geospatial data doesn't usually come with the software, but what you need is probably available for free. As others have mentioned, the data you need is called a digital elevation model, or DEM.


I would say for the second time: No need to reinvent the wheel :)

The software you are looking for has a long development in GRASS and it is easlily accesible under QGIS.

The GRASS option is accesible from the toolbox following these steps:

  1. First, use the r.watershed with the DEM as input to obtain as output a drainage direction raster map and the accumulation raster map (Number of cells that drain through each cell).
  2. Then, use the r.water.outlet with the drainage direction as input and a chosen point (your proposed swal) of the idetified creek from the acculation map

Your Answer

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

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