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 cell-by-cell basis, as fitted through that cell and its eight surrounding neighbors. Curvature is the second derivative of the surface, or the slope-of-the-slope. 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 z-unit. 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. Note that it is possible to exceed this range for certain raster surfaces.
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 z-factor adjusts the units of measure for the z units when they are different from the x,y units of the input surface. The z-values of the input surface are multiplied by the z-factor when calculating the final output surface. If the x,y units and z units are in the same units of measure, the z-factor is 1. This is the default. If the x,y units and z units are in different units of measure, the z-factor 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 z-factor 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 z-factor.
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 z-factor.
# Name: Curvature_Ex_02.py
# Description: Calculates the curvature of a raster surface,
# optionally including profile and plan curvature.
# Requirements: Spatial Analyst Extension
# 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")