Why SDR? What is the limit of ArcGIS, QGIS,...?

I would like to know where exactly is the limit of ArcGIS or QGIS when it comes to Erosion modelling?

I am able to create a Flow-Direktion raster with the D-Infinity flow method in ArcGIS. But compared to InVest it is not possible to calculate in ArcGIS with this grid-file.

Is this where ArcGIS or QGIS ends and InVest SDR starts?

Hi @bastian87 -

Do either ArcGIS or QGIS provide erosion modeling tools like USLE? I think QGIS has something related (like r.sim.sediment), and I’m sure that people have created sediment-related tools in ArcGIS, although I don’t think any are provided by default.

Really, InVEST SDR is an open-source geospatial toolbox that uses many of the same underlying libraries as QGIS. You can do many of the steps in SDR manually using individual tools in Arc or Q (like flow direction, flow accumulation, raster math to calculate USLE etc…) Our software team has put a lot of effort into making their algorithms memory efficient, fast, and able to deal with large datasets, and of course has brought all of the calculations together into one relatively easy to use tool.

Otherwise, I’ll let the software team address the D-Infinity flow direction. I believe that they’ve looked at several flow direction algorithms over the years, and am not sure what the tradeoffs have been between them.

~ Stacie

1 Like

Thanks Stacie for responding,

of course there is no USLE-tool in Arc but with small experience you can produce usable soil erosion maps (D8 flow method). It just means you have to calculate everything step by step…you could use the model builder to make it autonomous though.

I just wanted to know if i can produce a similar sed.export.tif only in ArcGIS without using or changing any python scripts?

…and yes, i confirm InVest is amazingly Fast!

Yes, you could use Arc’s model builder to automate the calculation of USLE, and, realistically, you could probably rebuild the entire SDR model using Arc’s various geoprocessing toolboxes. In fact, that’s exactly how InVEST used to be implemented: as an Arc toolbox. We quickly ran into issues, though, and InVEST as it stands is far faster, easier for us to support and maintain, works on Windows, Mac and Linux and can operate on very large datasets, even on memory-constrained systems.

So yes, you could produce a similar sed_export.tif file using only ArcGIS if you just connect the appropriate geoprocessing functions.

The decision to switch from D8 to D-Infinity was so that we could more accurately model water flow across the landscape. D8 assumes that all water flows to the most-downhill pixel, which is then further biased by the diagonal pixels being ‘farther’ away (the distance between the center of a neighbor pixel on a diagonal and the source pixel is longer than the pixel width), which tends towards these long diagonal lines across the landscape. D-Infinity allows for water to flow into multiple pixels at once, and so generates more realistic maps of water flow, but the specification of D-Infinity is actually missing a number of edge cases that makes implementation quite challenging. The routing model used in InVEST 3.7.0 is actually a third one (“Multiple Flow Direction” or “MFD”) that models fractional flow between pixels. You’ll see in your outputs that streams now appear more realistic, and in some maps you’ll even see water flowing around islands that are mid-stream in a river. All of these have been implemented as open-source python packages so that we can use them without overbearing licensing constraints on multiple operating systems and on very large datasets, and the D8 and MFD implementations are available in the python package pygeoprocessing if you’d like to use them outside of InVEST.

1 Like

Thanks James,

so the D-inifnity flow d. method mentioned in 5.6.3. in the InVest_Users_guide is actually a Multyflow routing “MFD” from Qin et al. (2007)?

So D-infinity would be the most realistic method. unfortunately it is not working well and produces imperfect grid-files, so you decided to use the compromis: MFD?

Our implementation of the Multiple Flow Direction algorithm is the most realistic routing method that we have found. The SDR user’s guide still refers to d-infinity, but this is out-of-date since we no longer use d-infinity.

Does that clarify things?

1 Like

I’ll just quickly plug that InVEST is also free and open source with no dependency on licenses! Hooray!

Does the change from d-inf. to multflow also come with a new LS-approach?
In the approach from desment and grovers (1996) x is generated from the aspect direction of each grid cell. The d-inf. has provied a direktion for each cell, but as the multiflow no longer provides a direktion how is x created?

Hi @bastian87,

Actually, Multiple Flow Direction does provide a flow direction, but it isn’t as straightforward a calculation because water from pixel i could potentially flow into all 8 of its neighbors.

It turned out that when we updated the SDR model to use Multiple Flow Direction, the x_i term was not updated as it should have been. We were really surprised to see that we had missed this. It you take a look at the latest version of the SDR chapter of the InVEST User’s Guide, you’ll note that we’ve updated the explanatory text of x_i to describe how the term is determined. Here’s the updated SDR chapter text describing the calculation of x_i:

  • x_i is the mean of aspect ratio weighted by proportional outflow from grid cell i determined by the Multiple-Flow Direction method. It is calculated by \sum_{d\in{\{0,7\}}} \frac{P_i(d)}{x_d} where x_d = |\sin \alpha(d)| + |\cos \alpha(d)| where \alpha(d) is the radian angle for direction d and P_i(d) is the proportion of total outflow at cell i in direction d.

Here’s the development build download link, with a fix for this that will be included in the next release of InVEST: https://storage.googleapis.com/natcap-dev-build-artifacts/invest/phargogh/3.8.0.post171+g059df5bf/InVEST_3.8.0.post171+g059df5bf_x86_Setup.exe



thanks james for your detailed answers!

there is one last question: What aspect ratio is meant here exactly?

as the grid cell is always a square, the ratio is 1…right?

thank you a lot!

That was an error: it should really be “aspect” instead of “aspect ratio”. This has been corrected in the latest version of the User’s Guide as well.