需要 3D Analyst 许可。
摘要
判断栅格表面的各像元中的坡度(梯度或 z 值的最大变化率)。
插图
![Slope illustration Slope illustration](GUID-9699D231-4AF7-41CB-9E83-3AA25B3AC091-web.gif)
用法
坡度是指各像元中 z 值的最大变化率。
当表面 z 单位用其他单位而非地面 x,y 单位表示时,需要使用 Z 因子对坡度计算进行校正。
输出值的范围取决于测量单位的类型。
- 如果为度,坡度值的范围为 0 至 90。
- 如果为增量百分比,范围为 0 至无穷大。平坦表面为 0%,45 度表面为 100%,随着表面变得越来越接近垂直,增量百分比将变得越来越大。有关使用此选项的输出值范围的详细介绍,请参阅坡度的工作原理。
如果直接邻域(3 x 3 窗口)中的中心像元为 NoData,则输出将为 NoData。
如果有任何邻域像元为 NoData,则会向这些像元分配中心像元的值,然后再计算坡度。
若要对输入栅格进行重采样,需使用双线性技术。例如,当输出栅格与输入栅格的坐标系统、范围或像元大小不同时,可对输入栅格进行重采样。
语法
Slope_3d (in_raster, out_raster, {output_measurement}, {z_factor})
参数 | 说明 | 数据类型 |
in_raster |
输入表面栅格。 | Raster Layer |
out_raster | 输出坡度栅格。 此栅格为浮点类型。 | Raster Dataset |
output_measurement (可选) | 确定输出坡度数据的测量单位(度或百分比)。
| String |
z_factor (可选) | 一个表面 z 单位中地面 x,y 单位的数量。 z 单位与输入表面的 x,y 单位不同时,可使用 z 因子调整 z 单位的测量单位。计算最终输出表面时,将用 z 因子乘以输入表面的 z 值。 如果 x,y 单位和 z 单位采用相同的测量单位,则 z 因子为 1。这是默认值。 如果 x,y 单位和 z 单位采用不同的测量单位,则必须将 z 因子设置为适当的因子,否则会得到错误的结果。例如,如果 z 单位是英尺而 x,y 单位是米,则应使用 z 因子 0.3048 将 z 单位从英尺转换为米(1 英尺 = 0.3048 米)。 | Double |
代码实例
坡度示例 1(Python 窗口)
在本例中将确定输入表面栅格的坡度值。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Slope_3d("elevation", "C:/output/outslope01", "DEGREE", 0.3043)
坡度示例 2(独立脚本)
在本例中将确定输入表面栅格的坡度值。
# Name: Slope_3d_Ex_02.py
# Description: Identifies the rate of maximum change
# in z-value 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 = 0.3043
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Slope
arcpy.Slope_3d(inRaster, outRaster, outMeasurement, zFactor)