Curvature (Spatial Analyst)
Summary
Calculates the curvature of a raster surface, optionally including profile and plan curvature.
Usage

The primary output is the curvature of the surface on a cellbycell basis, as fitted through that cell and its eight surrounding neighbors. Curvature is the second derivative of the surface, or the slopeoftheslope. Two optional output curvature types are possible: the profile curvature is in the direction of the maximum slope, and the plan curvature is perpendicular to the direction of the maximum slope.

A positive curvature indicates the surface is upwardly convex at that cell. A negative curvature indicates the surface is upwardly concave at that cell. A value of 0 indicates the surface is flat.

In the profile output, a negative value indicates the surface is upwardly convex at that cell. A positive profile indicates the surface is upwardly concave at that cell. A value of 0 indicates the surface is flat.

In the plan output, a positive value indicates the surface is upwardly convex at that cell. A negative plan indicates the surface is upwardly concave at that cell. A value of 0 indicates the surface is flat.

Units of the curvature output raster, as well as the units for the optional output profile curve raster and output plan curve raster, are one hundredth (1/100) of a zunit. The reasonably expected values of all three output rasters for a hilly area (moderate relief) can vary from 0.5 to 0.5; while for steep, rugged mountains (extreme relief), the values can vary between 4 and 4.
Syntax
Parameter  Explanation  Data Type 
in_raster 
The input surface raster.  Raster Layer 
z_factor (Optional) 
Number of ground x,y units in one surface z unit. The zfactor adjusts the units of measure for the z units when they are different from the x,y units of the input surface. The zvalues of the input surface are multiplied by the zfactor when calculating the final output surface. If the x,y units and z units are in the same units of measure, the zfactor is 1. This is the default. If the x,y units and z units are in different units of measure, the zfactor must be set to the appropriate factor, or the results will be incorrect. For example, if your z units are feet and your x,y units are meters, you would use a zfactor of 0.3048 to convert your z units from feet to meters (1 foot = 0.3048 meter).  Double 
out_profile_curve_raster (Optional) 
Output profile curve raster dataset. This is the curvature of the surface in the direction of slope.  Raster Dataset 
out_plan_curve_raster (Optional) 
Output plan curve raster dataset. This is the curvature of the surface perpendicular to the slope direction.  Raster Dataset 
Return Value
Name  Explanation  Data Type 
out_curvature_raster 
The output curvature raster.  Raster 
Code Sample
This example creates a curvature raster from an input surface raster and also applies a zfactor.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outCurve = Curvature("elevation", 1.094) outCurve.save("C:/sapyexamples/output/outcurv01")
This example creates a curvature raster from an input surface raster and also applies a zfactor.
# Name: Curvature_Ex_02.py # Description: Calculates the curvature of a raster surface, # optionally including profile and plan curvature. # Requirements: Spatial Analyst Extension # Author: ESRI # Import system modules import arcpy from arcpy import env from arcpy.sa import * # Set environment settings env.workspace = "C:/sapyexamples/data" # Set local variables inRaster = "elevation" zFactor = 1.094 # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute Curvature outCurve = Curvature(inRaster, 1.094) # Save the output outCurve.save("C:/sapyexamples/output/outcurv02")