I would like to assess terrain curvature, i.e. the 2nd derivative of a DEM, on different scales.
The most common approach to curvature seems to be the one suggested by Zevenberg (1987) where a fourth-order polynom is fitted to a 3x3 window around each grid cell, as it is implemented e.g. in ArcGis. The nice thing about it is that non-directional curvature can be computed as a convolution of the DEM with the kernel
0.0 0.5 0.0 k = 0.5 -2.0 0.5 * 1/s^2 0.0 0.5 0.0
with s the cell size. However, I'd like to derive curvature on larger scales, too, so that the result is less affected by small terrain features.
I can see two immediate ways to do so:
- Smooth or scale the underling DEM and re-use the same kernel, or
- to use a larger kernel.
To me, (1) feels pretty ragged and for (2) I'm not sure what kind of kernel to use.
Any suggestions to get me in the right way? Or is it rather a problem of defining "larger scale curvature"?