Select to view content in your preferred language

Slope Length?

15052
9
04-19-2012 05:28 PM
BenjaminBauman
Occasional Contributor
Hey there,

I'm trying to determine the slope length of a DEM, but cannot find any tools that would be sufficient for this purpose. I've also looked all over for suggestions online, and the only thing that comes remotely close is the Flow Accumulation tool. Does anyone have any ideas? I would think that it is a common operation, seeing as how it is part of the USLE formula
0 Kudos
9 Replies
DanPatterson_Retired
MVP Emeritus
Check this link
http://www.onlinegeographer.com/slope/hickey_slope_length.pdf
Which can be implemented within a gis
Also search the forums using USLE as a search key for other information
0 Kudos
BenjaminBauman
Occasional Contributor
Thanks Dan. I had already read that paper last week while I was browsing for ideas. Everything described makes sense to me, but I think I lack the technical know-how to be able to figure out how to do it all.
0 Kudos
curtvprice
MVP Esteemed Contributor
I'm trying to determine the slope length of a DEM, but cannot find any tools that would be sufficient for this purpose.


The Spatial Analyst Flow Length tool calculates length down a slope. This is of course limited to D8 flow directions (up down left right diagonal).

If you're looking for slope length from each cell to the cell downstream, the easiest way would compare the flow length value compared to the cell downstream, using map algebra with the flow direction grid, your Flow Length output, and the tools Con and Shift. (Back in the day we'd use GRID's nifty neighborhood notation, but that is no longer with us.)
0 Kudos
curtvprice
MVP Esteemed Contributor
A tricky part about this task is dealing with the fact that there is no neighborhood notation in the new Python map algebra.

The workaround would be to use the flow direction and elevation grid together with the tools Con and Shift to get at the neighborhood cell values to do the necessary calculations...

This could be a job for numpy arrays - but only for rasters of limited size.
0 Kudos
JeffreyEvans
Occasional Contributor III
The original USLE assumed little slope curvature and no deposition. To account for flow convergence in complex terrain, modifications were made to the LS factor with an equation that incorporates flow accumulation. Because they are now used interchangeably, when you see reference to slope-length most likely it is in reference to the LS factor, as calculated below. 

To calculate the LS factor for the RUSLE equation, first calculate flow accumulation (facc) and slope in degrees (slp). Then a bit of map algebra in the raster calculator yields LS.

Power(facc * cell resolution / 22.1, 0.4) * Power(Sin(slp * 0.01745) / 0.09, 1.4) * 1.4
0 Kudos
BenjaminBauman
Occasional Contributor
Thanks jevans02. That's the route I ended up taking.
0 Kudos
AndrewCopley
New Contributor
bauman312,

Is there any division required after using the equation?  I have very large numbers but I know other people who have gone about this a different way and at the end it requires dividing the number by 10 or 100 to put it into the proper units.
0 Kudos
CarmenSanchez
New Contributor
MUengineer;

I'm obtaining big numbers as well when I calculate the LS factor according to the equation above. Have you found some answer about this division that you were talking about?

Thanks!
0 Kudos
ArminReinartz
New Contributor
Hello,
i have two questions about the RUSLE-formula given above.

1. The L is calculated per cell by flowacc*resolution. What about the case ofdiagonal neighbourhood or the takeoff cells? Therefor the length must be 1,41*resolution and 0,5*resolution resp., isn´t it?

2. The flacc-value near the end of the flow (e.g. at the edge of the map) it´s quite high because of the accumulation. The formula says it must be multiplied by the S-Factor. But this is just the value just the last cell and not the average slope? I think you have to multiply the Slope and the Length per cell to a cel-LS-value and then make the sum of all to get the LS-value for a inclined area?

Hope to get some information whether my concern is correct or some declaration why I err.
Thank you!
0 Kudos