Label  Explanation  Data Type 
Input raster  The input surface raster.  Raster Layer 
Output raster  The output slope raster. It will be floatingpoint type.  Raster Dataset 
Output measurement (Optional)  Specifies the measurement units (degrees or percentages) of the output slope raster.
 String 
Z factor (Optional)  The number of ground x,y units in one surface zunit. The zfactor adjusts the units of measure for the zunits 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 zunits are in the same units of measure, the zfactor is 1. This is the default. If the x,y units and zunits are in different units of measure, the zfactor must be set to the appropriate factor or the results will be incorrect. For example, if the zunits are feet and the x,y units are meters, you would use a zfactor of 0.3048 to convert the zunits from feet to meters (1 foot = 0.3048 meter).  Double 
Method (Optional)  Specifies whether the calculation will be based on a planar (flat earth) or a geodesic (ellipsoid) method. The planar method is appropriate to use on local areas in a projection that maintains correct distance and area. It is suitable for analyses that cover areas such cities, counties, or smaller states in area. The geodesic method produces a more accurate result, at the potential cost of an increase in processing time.
 String 
Z unit (Optional)  Specifies the linear unit that will be used for vertical zvalues. It is defined by a vertical coordinate system if it exists. If a vertical coordinate system does not exist, define the zunit using the unit list to ensure correct geodesic computation. The default is meter.
 String 
Target device for analysis (Optional)  Specifies the device that will be used to perform the calculation.
 String 
Available with Spatial Analyst license.
Available with 3D Analyst license.
Summary
Identifies the slope (gradient or steepness) from each cell of a raster.
The Surface Parameters tool provides a newer implementation and enhanced functionality.
Illustration
Usage

The Surface Parameters tool provides a newer implementation of slope and is recommended to be used instead of the Slope tool. The Slope tool fits a plane to the nine local cells, but a plane may not be a good descriptor of the landscape and may mask or exaggerate natural variations of interest. The Surface Parameters tool fits a surface to the neighborhood of cells instead of a plane, which provides a more natural fit to the terrain.
The Slope tool uses a 3 by 3 window of cells to compute the value, while the Surface Parameters tool allows window sizes from 3 by 3 to 15 by 15 cells. Larger window sizes are useful with high resolution elevation data to capture land surface processes at an appropriate scale. Surface Parameters also provides an adaptive window option that evaluates the local variability of the terrain and identifies the largest appropriate neighborhood size for each cell. This can be useful with gradual homogeneous terrain interrupted by streams, roads, or sharp breaks in slope.
You can continue to use the traditional approach of the Slope tool if you need the results to exactly match previous tool runs or if fast execution time is more important than a better algorithm.
This tool uses a 3 by 3 cell moving window to process the data. If the processing cell is NoData, the output for that location will be NoData.
Of the eight cells neighboring the processing cell, this tool requires that at least seven of them have a valid value. If there are fewer than seven valid cells, the calculation will not be performed, and the output at that processing cell will be NoData.
The cells in the outermost rows and columns of the output raster will be NoData. This is because along the boundary of the input dataset, those cells do not have enough valid neighbors.
The range of values in the output depends on the type of measurement units.
 For degrees, the range of slope values is 0 to 90.
 For percent rise, the range is 0 to essentially infinity. A flat surface is 0 percent, a 45 degree surface is 100 percent, and as the surface becomes more vertical, the percent rise becomes increasingly larger.
For the planar method, the use of a zfactor is essential for correct slope calculations when the surface (vertical) zunits are expressed in units different from the ground x,y units. The Z factor parameter will be enabled only when the planar method is selected.
For the geodesic method, specifying the surface zunit ensures the accuracy of the output. The Z unit parameter will be enabled only when the geodesic method is selected.
If a zunit is available in the vertical coordinate system of the input raster, it will be applied automatically. It is recommended that you define a zunit for the input raster if it is missing. You can use the Define Projection tool to specify a zunit. If it is undefined, meter will be used by default.
When the input raster needs to be resampled, the bilinear technique will be used. An example of when an input raster may be resampled is when the output coordinate system, extent, or cell size is different from that of the input.
If the Input raster parameter value (in_raster in Python) is high resolution with a cell size of less than a few meters, or particularly noisy, consider using the Surface Parameters tool and its userdefined neighborhood distance option instead of the immediate 3 by 3 neighborhood of this tool. Using a larger neighborhood can minimize the effect of noisy surfaces. Using a larger neighborhood can also better represent landforms and surface characteristics when using high resolution surfaces.
This tool can be GPU accelerated, which means that if a compatible graphics processing unit (GPU) is available on your system, it will be used to enhance the performance of the tool. Use the Target device for analysis (analysis_target_device in Python) parameter to control whether the GPU or CPU will be used to run the tool.
See GPU processing with Spatial Analyst in the Spatial Analyst extension help for more details on compatible GPUs, configuring and working with GPU devices, as well as troubleshooting tips.
Parameters
arcpy.ddd.Slope(in_raster, out_raster, {output_measurement}, {z_factor}, {method}, {z_unit}, {analysis_target_device})
Name  Explanation  Data Type 
in_raster  The input surface raster.  Raster Layer 
out_raster  The output slope raster. It will be floatingpoint type.  Raster Dataset 
output_measurement (Optional)  Specifies the measurement units (degrees or percentages) of the output slope raster.
 String 
z_factor (Optional)  The number of ground x,y units in one surface zunit. The zfactor adjusts the units of measure for the zunits 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 zunits are in the same units of measure, the zfactor is 1. This is the default. If the x,y units and zunits are in different units of measure, the zfactor must be set to the appropriate factor or the results will be incorrect. For example, if the zunits are feet and the x,y units are meters, you would use a zfactor of 0.3048 to convert the zunits from feet to meters (1 foot = 0.3048 meter).  Double 
method (Optional)  Specifies whether the calculation will be based on a planar (flat earth) or a geodesic (ellipsoid) method.
The planar method is appropriate to use on local areas in a projection that maintains correct distance and area. It is suitable for analyses that cover areas such cities, counties, or smaller states in area. The geodesic method produces a more accurate result, at the potential cost of an increase in processing time.  String 
z_unit (Optional)  Specifies the linear unit that will be used for vertical zvalues. It is defined by a vertical coordinate system if it exists. If a vertical coordinate system does not exist, define the zunit using the unit list to ensure correct geodesic computation. The default is meter.
 String 
analysis_target_device (Optional) 
Specifies the device that will be used to perform the calculation.
 String 
Code sample
This example determines the slope values of the input surface raster.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.ddd.Slope("elevation", "C:/output/outslope01", "DEGREE", 0.3043)
This example determines the slope values of the input surface raster.
# Name: Slope_3d_Ex_02.py
# Description: Identifies the rate of maximum change
# in zvalue from each cell.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inRaster = "elevation"
outRaster = "C:/output/outslope02"
outMeasurement = "DEGREE"
zFactor = ""
method = "GEODESIC"
zUnit = "FOOT"
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Slope
arcpy.ddd.Slope(inRaster, outRaster, outMeasurement, zFactor, method, zUnit)
Environments
Licensing information
 Basic: Requires 3D Analyst or Spatial Analyst
 Standard: Requires 3D Analyst or Spatial Analyst
 Advanced: Requires 3D Analyst or Spatial Analyst