Curvature |
|
Release 9.3
Last modified September 7, 2011 |
Print all topics in : "Surface (Spatial Analyst)" |
Calculates the curvature of a raster surface, optionally including profile and plan curvature.
Learn more about how Curvature works
Usage tips
Command line and Scripting
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 zero 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 zero 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 zero 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 over 100 z units, or 1/100 (z units). 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.
The following environment settings affect this tool:
Map Algebra
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 zero 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 zero 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 zero indicates the surface is flat.
Units of the curvature output raster, as well as the units for the optional {out_profile_curve} and {out_plan_curve} output rasters, are one over 100 zunits, or 1/100(zunits). 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.
The units of {out_slope} are degrees. Values can vary from 0 to 90.
Aspect is expressed in positive degrees from 0 to 359.9, measured clockwise from north. An aspect value of -1 indicates an area of undefined aspect (for example, flat). The direction of slope is defined by the value of aspect.
Learn more about how to specify the input raster dataset in the Map Algebra expression of Raster Calculator.
ArcObjects
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 zero 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 zero 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 zero indicates the surface is flat.
Units of the curvature output raster, as well as the units for the optional profile and plan output rasters, are one over 100 zunits, or 1/100(zunits). 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.
The output from the ArcObjects method is a raster object.
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 |
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 |
# 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. |
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. |
' 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)