Show Navigation | Hide Navigation
You are here:
Extensions > Spatial Analyst > Spatial Analyst functional reference > Surface (Spatial Analyst)

Curvature

Release 9.3
Last modified September 7, 2011
E-mail This Topic Printable Version Give Us Feedback

Print all topics in : "Surface (Spatial Analyst)"


Related Topics

Calculates the curvature of a raster surface, optionally including profile and plan curvature.

Learn more about how Curvature works


Usage tips

Command line syntax
An overview of the Command Line window
Curvature_sa <in_raster> <out_curvature_raster> {z_factor} {out_profile_curve_raster} {out_plan_curve_raster}

Parameter Explanation Data Type
<in_raster>

Input raster.

Composite Geodataset
<out_curvature_raster>

Output curvature raster dataset.

Raster Dataset
{z_factor}

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}

Output profile curve raster dataset.

This is the curvature of the surface in the direction of slope.

Raster Dataset
{out_plan_curve_raster}

Output plan curve raster dataset.

This is the curvature of the surface perpendicular to the slope direction.

Raster Dataset
Data types for geoprocessing tool parameters


Command line example

Curvature_sa C:/data/dem C:/data/curvature 3.28 C:/data/profile C:/data/plan

Scripting syntax
About getting started with writing geoprocessing scripts
Curvature_sa (in_raster, out_curvature_raster, z_factor, out_profile_curve_raster, out_plan_curve_raster)

Parameter Explanation Data Type
in_raster (Required)

Input raster.

Composite Geodataset
out_curvature_raster (Required)

Output curvature raster dataset.

Raster Dataset
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

Data types for geoprocessing tool parameters


Script example

# Curvature_sample.py
# Description: 
#   Calculates curvature, optionally including profile and plan curvature.
# Requirements: None
# Author: ESRI
# Date: Sept 6, 2005
# Import system modules
import arcgisscripting

# Create the Geoprocessor object
gp = arcgisscripting.create()

try:
    # Set local variables
    InRaster = "C:/data/dem"
    OutCurvatureRaster = "C:/data/curvature"
    InZFactor = "3.28"
    OutProfileCurveRaster = "C:/data/profile"
    OutPlanCurveRaster = "C:/data/plan"

    # Check out Spatial Analyst extension license
    gp.CheckOutExtension("Spatial")

    # Process: Curvature
    gp.Curvature_sa(InRaster, OutCurvatureRaster, InZFactor, OutProfileCurveRaster, OutPlanCurveRaster)

except:
    # If an error occurred while running a tool, then print the messages.
    print gp.GetMessages()

Map Algebra syntax
Curvature(<grid>, {out_profile_curve}, {out_plan_curve}, {out_slope}, {out_aspect})

Parameter Explanation
<grid> A raster representing a continuous surface.
{out_profile_curve} An optional output raster 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 raster showing the curvature of the surface perpendicular to the slope direction, referred to as the planform curvature.
{out_slope} An optional output raster showing the rate of maximum change in z-value from each cell.
This is the first derivative of the surface.
{out_aspect} An optional output raster showing the direction of the maximum rate of change in z-value from each cell.
This is also referred to as the slope direction.

Map Algebra example

curvature(ingrid)
curvature(ingrid, helen_prof, helen_plan)
curvature(ingrid, #, #, helen_slope, helen_aspect)

ArcObjects syntax
ISurfaceOp::Curvature (geoDataset As IGeoDataset, profile As Boolean, plan As Boolean) As IGeoDataset

Parameter Explanation
geoDataset An input Raster, RasterDataset, RasterBand, or RasterDescriptor representing a continuous surface.
profile A Boolean that, if True, will create an output profile raster.
The profile raster shows the rate of change of slope for each cell. This is the curvature of the surface in the direction of slope.
plan A Boolean that, if True, will create an output plan raster.
The plan raster shows the curvature of the surface perpendicular to the slope direction, referred to as the planform curvature.

ArcObjects example

' Create the RasterSurfaceOp object
Dim pSurfaceOp As ISurfaceOp
Set pSurfaceOp = New RasterSurfaceOp

' Declare the input raster object
Dim pInputDataset As IGeoDataset

' Calls function to open a raster dataset from disk
Set pInputDataset = OpenRasterDataset("D:\SpatialData", "inputraster")

' Declare the output raster object
Dim pOutputRaster As IGeoDataset

' Calls the method	
Set pOutputRaster = pSurfaceOp.Curvature(pInputDataset, False, False)

Please visit the Feedback page to comment or give suggestions on ArcGIS Desktop Help.
Copyright © Environmental Systems Research Institute, Inc.