Geomorphic Curvature
Based on this refereence, I intend to relook at the curvature computations.
Curvature is the rate of change of slope, so it is the second derivative of the elevation surface.
|
|
|
|
|
Profile | Plan | Cross section | Minimum | Maximum |
The curvature maps are all scaled to show the 5th to 95th percentiles, and they usually have distributions with very large tails.
Curvature (convexity)
|
Point parameter, from 9 point neighborhood |
|
Second derivative of elevation First derivative of slope |
Surface Curvature.
Curvature Equations Used in MICRODEM
|
|||||||||
z1 := znw - z;
z2
:= zn - z;
z3
:= zne - z;
z4
:= zw - z;
z5
:= 0;
z6
:= ze - z;
z7
:= zsw - z;
z8
:= zs - z;
z9
:= zse - z;
|
|||||||||
A := ((z1 + z3 + z4 +
z6 + z7 + z9) / 6 - (z2 + {z5 +} z8) / 3) / XSp / YSp;
B := ((Z1 + z2 + z3 +
z7 + z8 + z9) / 6 - (z4 + {z5 +} z6) / 3) / XSp / YSp;
C := (z3 + z7 -z1 -
z9) / 4 / XSp / YSp;
D := (z3 + z6 + z9 -
z1 - z4 - z7) / 6 / XSp;
E := (z1 + z2 + z3 -
z7 - z8 - z9) / 6 / YSp;
F := (2 * ( z2 + z4 +
z6 - z8) - (z1 + z3 + z7 + z9) {+ 5 * z5} ) / 9;
|
|||||||||
SqABC := sqrt(sqr(A-B)
+ sqr(C));
MaxCurve := 20 * (ASp)*(-A - B + SqABC);
MinCurve := 20
* (ASp)*(-A - B - SqABC);
SqED := (sqr(E) +
sqr(D));
if SqED > 0.000001
then begin
SlopeCurvature {Profile convexity} := -200 * (A * sqr(D)
+ B * sqr(E) + C * D * E) / SqED / Math.Power(1 + SqED, 1.5);
PlanCurvature {Plan convexity} := 200 * (B * sqr(D) + A
* sqr(E) - C * D * E) / Math.Power(1 +SqED, 1.5);
crossc := -20 * (ASp)*(B*D*D + A*E*E - C*D*E)/
SqED;
end
else begin
SlopeCurvature := 0;
PlanCurvature := 0;
CrossC := 0;
end;
|
XSp and YSp are are the horizontal data spacings in the x and y directions, which can be different (for example SRTM, NED, or DTED), and can be a function of latitude within a single DEM.
The algorithm option computes using four algorithms, with an option to use a larger computation region:
Last revised 10/12/2021