[GIS] Calculate flow path with QGIS

flowgrasslidarqgis

I am trying to replicate my erosion model in ArcGIS for Desktop in QGIS 2.4.

I tried to calculate the upstream distance along the flow path for my agricultural field using QGIS. I did the equivalent in ArcGIS with the tool Flow length and it is simple and effective.

I see two potential tools that can deliver a similar result in QGIS, r.flow (GRASS) or SAGA. The first tool, r.flow gives me a flow length path but the result make no sense and some output cannot be saved. The second tool flow path length with SAGA, I don't understand what is the seed and I don't see the option to calculate the upstream distance.

Arcgis Flow length (Value 0 to 840 meters, black to white):
enter image description here

QGIS r.flow (GRASS) (Value 0 to 6.5, black to white):
enter image description here

Here my input for the tool r.flow (GRASS) in QGIS 2.4

  1. LiDAR elevation, I did the treatment Fill Depression.
  2. Aspect raster.
  3. Barrier, I made a raster contains all 0 value. (I'm not very sure here, I didn't find so much information for this input).
  4. Calculate for upstream length.
  5. Others parameters are the default ones.

Suggestions for the appropriate tool to use are welcome.

Best Answer

It is very difficult to know exactly where things went wrong without knowing details about the inputs that you used for each tool. However looking at the two images that you embedded into your post, it looks to me like the common problem of running a flow path analysis on a non-hydrologically preprocessed DEM, i.e. a DEM for which you have removed all of the topographic depressions and flat areas through either depression filling or breaching. The ArcGIS tool requires an input of a D8 flow pointer raster, which clearly you provided from a depressionless DEM. I think you may have provided the r.flow tool input the original DEM which contained depressions. Take the following images as examples:

enter image description here

enter image description here

The first image is a maximum upslope flow-length grid calculated from a depressionless (breached) DEM and the second one was derived from the original DEM, which contained numerous artifact topographic depressions. You'll notice that the flow paths have been severely truncated because as flow encounters a depression or flat area, there are no downslope grid cells for the flow path to continue towards. Just as is the case with your data, the maximum flow path value in the grid is considerably less in the second raster as a result of this flow path truncation. I think you need to double-check that you input a hydrologically corrected DEM into the r.flow tool. I know from experience that this is one of the most common errors when performing DEM-based hydrological analysis. Otherwise, it is possible that you simply provided the r.flow tool the wrong input, e.g. the same D8 flow pointer that you provided the ArcGIS flow length tool (note r.flow requires a DEM and not a flow pointer as an input). Again this would be a fairly common mistake and the effect would be identical, i.e. truncated and discontinuous flow paths which is what you seem to have. I hope that helps.