Is there a way to remove a known slope from a DEM (i.e., detrend a known slope) in Arc?

1902
4
03-28-2018 10:08 AM
SarahPeirce
New Contributor

I have a DEM with a known overall slope of 1.5% which I would like to remove for visualization purposes (image of non-detrended DEM attached).

Any help would be greatly appreciated.

0 Kudos
4 Replies
AbdullahAnter
Occasional Contributor III

I don't understand what exactly you want to do, because The title differs from the image in context.

Anyway , (as your title )i see the following tools maybe help you:

Con—Help | ArcGIS Desktop 

Extract by Attributes—Help | ArcGIS Desktop 

0 Kudos
DanPatterson_Retired
MVP Emeritus

If there is indeed a trend, did you try to run a first order (linear) trend surface on the data and subtract the resultant from the input dem?

http://desktop.arcgis.com/en/arcmap/latest/tools/spatial-analyst-toolbox/trend.htm

http://desktop.arcgis.com/en/arcmap/latest/tools/spatial-analyst-toolbox/how-trend-works.htm

Not sure if the tool exists in the same locale (or if at all) in PRO.

Worth a first run... otherwise you could generate the surface I suppose from first principles (ie using numpy meshgrid and generate the z values from a 2D equation, then convert back to raster for subtraction

0 Kudos
DanPatterson_Retired
MVP Emeritus

I have messed a bit with artificial terrain generation

https://community.esri.com/blogs/dan_patterson/2017/12/28/terrain-creation-diamond-square-algorithm

But I haven't played with input parameters to generate exact slopes and aspect terrain... but this might give you some idea.  See the link.

# ---- A 'slope' with a NW aspect ----
array...
[[ 0.250  0.351  0.420  0.488  0.542  0.604  0.656  0.704  0.750]
 [ 0.342  0.383  0.443  0.502  0.559  0.613  0.663  0.706  0.732]
 [ 0.392  0.427  0.469  0.525  0.578  0.630  0.677  0.714  0.740]
 [ 0.438  0.463  0.503  0.551  0.601  0.650  0.694  0.732  0.754]
 [ 0.458  0.493  0.531  0.577  0.625  0.673  0.719  0.757  0.792]
 [ 0.496  0.518  0.556  0.600  0.649  0.699  0.747  0.787  0.812]
 [ 0.510  0.536  0.573  0.620  0.672  0.725  0.781  0.823  0.858]
 [ 0.518  0.544  0.587  0.637  0.691  0.748  0.807  0.867  0.908]
 [ 0.500  0.546  0.594  0.646  0.708  0.762  0.830  0.899  1.000]]

Hope you get the idea, but you would have to mess with the corner values for your raster extent and put in values to reflect the slope's orientation and not only its slope

There are other algorithms out there

0 Kudos
SarahPeirce
New Contributor

Thank you for your help!

0 Kudos