Now also includes:
![]() |
The top parameters apply only to the Wood
(1996) algorithm. Because it uses 4 parameters, this can take some
adjustments to get the tuning right for the DEM and geomorphic
characteristics. Mask radius applies the Simple and Simple 2 algorithms. For each point classified as a ridge, a radius of this size will be masked. Algorithm: Wood Simple Simple 2 Ridge valley tolerance: for the Simple 2 algorithm, how many neighbors must be higher/lower. Smaller values lead to more classified points. Draw shows the ridges and other point classifications, and optionally shows counts Ridge map: creates grid using the current algorithm, with the elevations of the points classified as ridges and peaks. Valley map: creates grid using the current algorithm, with the elevations of the points classified as pits and valleys. Ridge mask creates mask with the ridge and peak points. This can be used with map masking. Valley mask creates mask with the pit and valley points. All points map: creates grid using the current algorithm, with each category with a different number. Close: exit form. Do not hit this early. |
Draw Ridge/valley Map |
||
|
|
|
Wood (1996) algorithm | Simple algorithm | Simple 2 algorithm (tolerance 5) |
Draw Simple 2 Ridge/valley Map |
||
|
|
|
Simple 2 algorithm (tolerance 7) | Simple 2 algorithm (tolerance 6) | Simple 2 algorithm (tolerance 5, same as above) |
Ridge Mask |
||
|
|
|
Wood (1996) algorithm | Simple algorithm | Simple 2 algorithm |
if (z < znw) and (z < zn) and (z < zne) and (z < zsw) and (z < zs) and (z < zse) and (z < zw) and (z < ze) then Result := PitPoint
else if (z = znw) and (z = zn) and (z = zne) and (z = zsw) and (z = zs) and (z = zse) and (z = zw) and (z = ze) then Result := FlatPoint
else if (z > znw) and (z > zn) and (z > zne) and (z > zsw) and (z > zs) and (z > zse) and (z > zw) and (z > ze) then Result := PeakPoint
else if ((zn > znw) and (zn > zne)) and ((z > zw) and (z > ze)) and ((zs > zsw) and (zs > zse)) then Result := RidgePoint {NS trend}
else if ((zw > znw) and (zw > zsw)) and ((z > zn) and (z > zs)) and ((ze > zne) and (ze > zse)) then Result := RidgePoint {WE trend}
else if ((zn < znw) and (zn < zne)) and ((z < zw) and (z < ze)) and ((zs < zsw) and (zs < zse)) then Result := ValleyPoint {NS trend}
else if ((zw < znw) and (zw < zsw)) and ((z < zn) and (z < zs)) and ((ze < zne) and (ze < zse)) then Result := ValleyPoint {WE trend}
else Result := OtherPoint;
Of 8 neighbors, count those higher and lower
if Higher = 8 then Result := PitPoint
else if Lower = 8 then Result := PeakPoint
else if (Higher = 0) and (Lower = 0) then Result := FlatPoint
else if (Higher >= RidgeValleyTolerance) then Result := ValleyPoint
else if (Lower >= RidgeValleyTolerance) then Result := RidgePoint
else Result := OtherPoint;
Last revision 3/2/2023