I need to calculate regional slope for a coastline using a ~500 meter DEM covering a coastal plain and continental shelf where the slope for each grid cell is calculated by defining elevation extremes within a 10 km radius for each individual grid cell. Normally slope is calculated using a 3x3 window. How do I increase that window? Is there a way to do this in ArcMap?
Obtain the elevation extremes by means of a Focal maximum and Focal minimum using a circular 10-km neighborhood. Use map algebra operations to complete the work. (Since you haven't described how the extremes will be used to estimate a slope, I cannot provide details.)
If what you really want is a generalization of the 3 x 3 approach (which is not based on the extremes), it can be done by computing focal means of the original DEMs, their squares, and their product, and then applying standard formulas for ordinary least squares regression to estimate the parameters of the least-squares plane that is fit to each neighborhood. From those parameters you can easily obtain the mean height, slope, and aspect. Follow the instructions at https://stats.stackexchange.com/a/197788/919 or emulate the
R code at the end of that post.
(Converting the DEM to points to carry out either of these calculations would be ridiculously inefficient and complicated.)
The steps are, requires scripting:
- Convert DEM to points
- Select all of them within 10 km radius from point i
- Interpolate surface using trend
- Calculate slope of result.
- Use raster statistics to define mean slope (in theory it must be the same everywhere, but points on the edge are an issue). This is why statistic will do.
- Record value in point table
i+=1 and goto step 2. Stop when no points left.