Using DEM in QGIS to Find Watershed Area for Each Point in River Network

grassNetworkqgiswatershed

I followed @Micha's instruction and successfully used the modules in GRASS.

I use r.watershed to get the basin raster and the drainage line:
enter image description here

and I use r.water.outlet to get the watershed of one outlet:
enter image description here

I got the whole basin area of the green outlet point, but all I want is the little part of the original basin area, like this:part B is what I want
enter image description here

This schematic photo shows the idea of what I want:
enter image description here

Can I achieve this goal using r.water.outlet or other modules in GRASS? Or all I can do is using the intersect tool in Geoprocessing tools in QGIS?


I want to find the watershed area, but using QGIS.

I have following files to work with:

  1. stream network shapefile(polyline)
  2. point shapefile clipped from the polyline shapefile
  3. a whole island(the stream is inside the island) DEM(I got 2 types:.lan & .tiff)

I want to find the total watershed area located upstream of every point in the network, here's the schematic diagram:

enter image description here

the green, red, and yellow line enclose the watershed of each point(here I only take 3 points as the example), and I want to calculate their area.

I already got the DEM file, and I must cut the region that contains the stream off, should I polygonize it first?

Can I directly use this form(.lan or .tiff) to work with GRASS?

Best Answer

You will definitely need an elevation raster (DEM) to do what you want. With the DEM you can use two GRASS modules to get individual drainage areas for points along the river network as follows: First calculate a flow direction grid from the DEM with r.watershed:

r.watershed elev=DEM thresh=<your threshold> drain=flow_dir_grid

See the r.watershed manual for more details Next loop thru the X-Y values of the points along the river network to calculate each watershed with the r.water.outlet module.

r.water.outlet drain=flow_dir_grid basin=basin1 easting=X1 northing=Y1

Details in the r.water.outlet manu page

For doing the loop, you might be able to get some ideas in this post