Are there any more details on the outputs and calculations of the CURVATURE function?

Last Published: April 25, 2020


Are there any more details on the outputs and calculations of the CURVATURE function?


This document contains additional information that is not present in the OnLine help.

Solution or Workaround

The following section contains several additional pieces of information pertaining to the CURVATURE function.

To save space, shortened versions of the references are used, and are expanded here.

ArcInfo Workstation Help for ArcGIS 8.x, ESRI Inc.

Spatial Analyst Command Reference For ArcGIS 8.x, ESRI Inc.

GRID Commands Reference Manual, ESRI Inc.

Moore, I. D., Grayson, R. B., and Landson, A. R., 1991. 'Digital Terrain Modelling: A Review of Hydrological, Geomorphological, and Biological Applications', Hydrolgical Processes, Vol. 5.3-30.

Zeverbergen, L. W., and Thorne, C. R., 1987. 'Quantitative Analysis of Land Surface Topography', Earth Surface Processes and Landforms, Vol. 12, pp 47-56.

What does the output of CURVATURE really indicate?

The equations used to determine the CURVATURE outputs give directional derivatives (the Laplacian -
[O-Image] Laplacian symbol
of the function defining the surface) instead of 'true curvature'. [Ref-1] [Ref-2]

The mathematical definition of curvature or 'true curvature' is a function of both the second derivative and the first derivative (slope in dimensionless terms). It is important to note that both the function CURVATURE and the equation of 'true curvature' measure the same topographic properties. [Ref-2]

As stated in both the Spatial Analyst and Grid documentation, the CURVATURE function:
"calculates the curvature of a surface at each cell center"

The Discussion / How It Works section explains explicitly how:
"The output of the CURVATURE function is the second derivative of the surface (i.e., the slope of the slope)". [GRIDCommands] [ArcDoc] [CommandRef].

How do I relate the positive or negative value of the curvature with the shape of the land surface? Is it correctly documented?

As stated in the Spatial Analyst and Grid documents:
"A positive curvature indicates that the surface is upwardly convex at that cell. A negative curvature indicates that the surface is upwardly concave at that cell. A value of zero indicates that the surface is flat."

The following examples show elevations of three 3 x 3 cells blocks and the curvature of the center cell computed by the function using Cellsize = 1.

18 18 18
18 20 17
18 18 18
Curvature = 900

3 3 3
3 1 4
3 3 3
Curvature = -900

10 10 10
10 10 10
10 10 10
Curvature = 0

It is clear from the examples listed here that the sign of the curvature output is explained correctly in Spatial Analyst and Grid documents.

Why does the result from the CURVATURE function differ from the result computed using the equations given in the referenced articles?

The result differs in two ways: (a) Magnitude and (b) Sign. The result from the function is exactly 100 times greater and with an opposite sign than the value one gets from the equations given in the referenced articles.

For example, for a given set of elevations if you get a curvature value of –900 from the CURVATURE function, you will get a value of 9 from the referenced equations. However, both values are correct. The explanations are given in the following sections.

(a) Magnitude
The CURVATURE function multiplies the original equation by 100, as suggested in the referenced article:
"As curvature is generally small, it is desirable to multiply equations 17 and 18 by 100, giving curvature dimensions of 1/100LU." [Ref – 2]

(b) Sign
The main purpose of the sign is to depict the shape of the land surface. If a positive value of the curvature indicates convex, then a negative value would indicate concave, or vice versa.

The CURVATURE function has adopted an opposite sign convention for profile and plan curvatures. This means the final output will have an opposite sign compared to that from the equations given in the referenced articles.

Curvature Referenced Article CURVATURE Function
Plan 2*(DH² + EG² – FGH)/(G² + H²) -2*(DH² + EG² – FGH)/(G² + H2)*100
Profile -2*(DG² + EH² + FGH)/(G² + H²) 2*(DG² + EH² + FGH)/(G² + H²)*100

It is important to understand the convention used to make sense of the results. The sign convention used is documented in the first Note/Tip.

4) Which one is the correct equation for curvature?

(a) Curvature = 2D + 2E, or 
(b) Curvature = - 2(D + E) * 100

Both are correct. However, the CURVATURE function uses Curvature = - 2(D + E) * 100.

The final expression for curvature in [Ref-1] is Curvature = 2D + 2E. But this expression does not represent the output of the ESRI curvature function for the following reasons:
(i) the plan and profile curvature equations are multiplied by 100 to get a larger number, and
(ii) the function has adopted an opposite sign convention.

The basis of the following equation [Ref-1, equation 16]

Curvature         = 2D + 2E                                  (A)


Curvature         = Plan Curvature – Profile Curvature       (B)

Now if we replace the expressions for plan and profile curvatures in equation (B) with the ones used in the curvature function:

Plan Curvature    = -2*(DH² + EG² – FGH)/(G² + H²)*100       (C)
Profile Curvature = 2*(DG² + EH² + FGH)/(G² + H²)*100 (D)

we get:

Curvature         = - 2(D + E) * 100                         (E)

Therefore, the output of the curvature function is correctly represented by the equation (b) Curvature = - 2(D + E)*100, not by the equation (a) Curvature = 2D + 2E. The wrong equation was inadvertently published in the [GRIDCommands] documentation.

What is the relationship between the curvature and the two optional outputs plan curve and the profile?

The CURVATURE function is documented as follows:

CURVATURE(<grid>, {out_profile_curve}, {out_plan_curve}, {out_slope}, {out_aspect})
calculates the curvature of a surface at each cell center.

{out_profile_curve} - an optional output grid showing the rate of change of slope for each cell. This is the curvature of the surface in the direction of slope.
{out_plan_curve}- an optional output grid showing the curvature of the surface perpendicular to the slope direction, referred to as the planform curvature.

It might be assumed that as the slope goes in the steepest direction, the curvature and profile curvature are the same. However, these two outputs are not the same. The primary output of the CURVATURE function is an overall curvature of the surface fitted through all 9 cells of the immediate neighborhood. The equation for Curvature is:

Curvature = (out_plan_curve) - (out_profile_curve)

Article ID:000005086

  • ArcMap 8 x
  • ArcMap 9 x
  • Legacy Products

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Discover more on this topic