标注 | 说明 | 数据类型 |
输入栅格 | 输入表面栅格。 | Raster Layer |
输出曲率栅格 | 输出曲率栅格。 此栅格为浮点类型。 | Raster Dataset |
Z 因子 (可选) | 一个表面 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 |
输出剖面曲线栅格 (可选) | 输出剖面曲线栅格数据集。 这是表面沿坡度方向的曲率。 此栅格为浮点类型。 | Raster Dataset |
输出平面曲线栅格 (可选) | 输出平面曲线栅格数据集。 这是表面垂直于坡度方向的曲率。 此栅格为浮点类型。 | Raster Dataset |
需要 Spatial Analyst 许可。
需要 3D Analyst 许可。
使用情况
曲率工具可将一个平面与九个局部像元进行拟合,但是,平面可能并非景观的良好描述符,可能会掩盖或夸大感兴趣的自然变化。 表面参数工具可将一个表面与像元邻域而不是平面进行拟合,以提供针对地形的更自然的拟合效果。
曲率工具始终使用 3 × 3 像元窗口来计算值,而表面参数工具允许窗口大小介于 3 × 3 到 15 × 15 像元之间。 较大的窗口尺寸对于高分辨率高程数据很有用,可以适当的比例捕获地表过程。 表面参数还可提供自适应窗口选项,该选项可评估地形的局部变异性,并为每个像元标识最大的适当邻域大小。 对于被河流、道路或陡坡中断的平缓且均匀的地形而言,该工具很有用。
表面参数工具包括三种曲率类型,这些类型使用更新的公式并从曲率工具创建不同的结果。
主要输出结果为每个像元的表面曲率,该值通过将该像元与八个相邻像元拟合而得。 有两种可供选择的输出曲率类型:剖面曲率(沿最大坡度的方向)和平面曲率(垂直于最大坡度的方向)。
曲率为正说明该像元的表面向上凸。 曲率为负说明该像元的表面开口朝上凹入。 值为 0 说明表面是平的。
在剖面曲率输出中,值为负说明该像元的表面向上凸。 剖面曲率为正说明该像元的表面开口朝上凹入。 值为 0 说明表面是平的。
在平面曲率输出中,值为正说明该像元的表面向上凸。 平面曲率为负说明该像元的表面开口朝上凹入。 值为 0 说明表面是平的。
曲率输出栅格的单位以及可选输出剖面曲线栅格和输出平面曲线栅格的单位是 z 单位的百分之一 (1/100)。 某山区(平缓地貌)的全部三个输出栅格的合理期望值介于 -0.5 至 0.5 之间;如果山势较为陡峭崎岖(极端地貌),那么期望值介于 -4 至 4 之间。 请注意,某些栅格表面可能会超过此范围。
若要对输入栅格进行重采样,需使用双线性技术。 例如,当输出栅格与输入栅格的坐标系统、范围或像元大小不同时,可对输入栅格进行重采样。
如果输入栅格参数值(Python 中的 in_raster)为高分辨率值(其像元大小小于几米,或者特别是存在噪点),请考虑使用表面参数工具及其用户定义的邻域距离选项,而非此工具的直接 3 x 3 邻域。如果输入栅格参数值(Python 中的 in_raster)为高分辨率值(其像元大小小于几米,或者特别是存在噪点),请考虑使用表面参数工具及其用户定义的邻域距离选项,而非此工具的直接 3 x 3 邻域。 使用较大邻域可以最大程度地减少噪点表面的影响。 当使用高分辨率表面时,使用较大邻域也可以更好地表示地形和表面特征。
若要对输入栅格进行重采样,需使用双线性技术。 例如,当输出栅格与输入栅格的坐标系统、范围或像元大小不同时,可对输入栅格进行重采样。
参数
arcpy.ddd.Curvature(in_raster, out_curvature_raster, {z_factor}, {out_profile_curve_raster}, {out_plan_curve_raster})
名称 | 说明 | 数据类型 |
in_raster | 输入表面栅格。 | Raster Layer |
out_curvature_raster | 输出曲率栅格。 此栅格为浮点类型。 | Raster Dataset |
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 |
out_profile_curve_raster (可选) | 输出剖面曲线栅格数据集。 这是表面沿坡度方向的曲率。 此栅格为浮点类型。 | Raster Dataset |
out_plan_curve_raster (可选) | 输出平面曲线栅格数据集。 这是表面垂直于坡度方向的曲率。 此栅格为浮点类型。 | Raster Dataset |
代码示例
此示例将根据输入表面栅格创建曲率栅格,并将应用 z 因子。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Curvature_3d("elevation", "c:/output/outcurv01", 1.094)
此示例将根据输入表面栅格创建曲率栅格,并将应用 z 因子。
# Name: Curvature_3d_Ex_02.py
# Description: Calculates the curvature of a raster surface,
# optionally including profile and plan curvature.
# 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/outcurv02"
zFactor = 1.094
# Execute Curvature
arcpy.ddd.Curvature(inRaster, outRaster, 1.094)