标注 | 说明 | 数据类型 |
输入栅格 | 输入表面栅格。 | Raster Layer |
输出栅格 | 输出坡向栅格。 此栅格为浮点类型。 | Raster Dataset |
方法 (可选) | 指定计算将基于平面(平地)还是测地线(椭球)方法。 平面方法适用于保持正确距离和面积的投影中的局部区域。 适用于覆盖诸如城市、县或面积较小的州等区域的分析。 测地线方法可以产生更精确的结果,但会造成处理时间这一潜在成本增加。
| String |
Z 单位 (可选) | 指定将用于垂直 z 值的线性单位。 由垂直坐标系(如果存在)定义。 如果垂直坐标系不存在,则应使用单位列表来定义 z 单位,以确保测地线计算正确。 默认单位为米。
| String |
投影测地线方位角 (可选) | 指定是否将投影测地线方位角以校正由输出空间参考引起的角度失真。
| Boolean |
用于分析的目标设备 (可选) | 指定将用于执行计算的设备。
| String |
需要 Spatial Analyst 许可。
需要 3D Analyst 许可。
插图
使用情况
表面参数工具可提供坡向的较新实施,建议使用该工具来代替坡向工具。 坡向工具可将一个平面与九个局部像元进行拟合,但是,平面可能并非景观的良好描述符,可能会掩盖或夸大感兴趣的自然变化。 表面参数工具可将一个表面与像元邻域而不是平面进行拟合,以提供针对地形的更自然的拟合效果。
坡向工具将使用 3 × 3 像元窗口来计算值,而表面参数工具允许窗口大小介于 3 × 3 到 15 × 15 像元之间。 较大的窗口尺寸对于高分辨率高程数据很有用,可以适当的比例捕获地表过程。 表面参数还可提供自适应窗口选项,该选项可评估地形的局部变异性,并为每个像元标识最大的适当邻域大小。 对于被河流、道路或陡坡中断的平缓且均匀的地形而言,该工具很有用。
如果您需要结果与先前工具运行结果完全匹配,或者快速执行时间比更好的算法更重要,则可以继续使用坡向工具的传统方法。
此工具使用移动的 3 x 3 像元窗口来处理数据。 如果处理像元为 NoData,则该位置的输出将为 NoData。
该工具还要求在与处理像元相邻的 8 个像元中,至少有 7 个具有有效值。 如果有效像元少于 7 个,则不执行计算,并且该处理像元处的输出将为 NoData。
输出栅格最外侧行列的像元为 NoData。 这是因为沿着输入数据集边界,这些像元没有足够的有效相邻像元。
坡向由 0 到 360 度之间的正度数表示,以北为基准方向按顺时针进行测量。
会为输入栅格中的平坦(具有零坡度)像元分配 -1 坡向。
在测地线方法中,指定表面 z 单位可确保输出的精度。 仅当选择测地线方法时才会启用 Z 单位参数。
如果 z 单位可用于输入栅格的垂直坐标系,则将自动应用 z 单位。 如果缺失,建议您定义输入栅格的 z 单位。 可使用定义投影工具来指定 z 单位。 如果未定义 z 单位,则默认使用米。
投影测地线方位角(Python 中的 project_geodesic_azimuths)参数仅在方法参数设置为测地线时可用。
对于测地线方法,如果选中投影测地线方位角参数(在 Python 中,project_geodesic_azimuths 设置为 PROJECT_GEODESIC_AZIMUTHS),则以下表述将为真:
- 北方始终以 360 度表示。
- 将投影方位角以纠正由非等角的输出坐标系环境值引起的变形。 这些角度可用于沿着最陡峭的下坡坡度准确定位点。
若要对输入栅格进行重采样,需使用双线性技术。 例如,当输出栅格与输入栅格的坐标系统、范围或像元大小不同时,可对输入栅格进行重采样。
如果输入栅格参数值(Python 中的 in_raster)为高分辨率值(其像元大小小于几米,或者特别是存在噪点),请考虑使用表面参数工具及其用户定义的邻域距离选项,而非此工具的直接 3 x 3 邻域。如果输入栅格参数值(Python 中的 in_raster)为高分辨率值(其像元大小小于几米,或者特别是存在噪点),请考虑使用表面参数工具及其用户定义的邻域距离选项,而非此工具的直接 3 x 3 邻域。 使用较大邻域可以最大程度地减少噪点表面的影响。 当使用高分辨率表面时,使用较大邻域也可以更好地表示地形和表面特征。
此工具可通过 GPU 加速,也就是说,如果系统中安装了兼容的图形处理器 (GPU),该设备将用于增强工具的性能。 使用用于分析的目标设备(Python 中的 analysis_target_device)参数来控制是使用 GPU 还是 CPU 来运行该工具。
有关兼容的 GPU 以及配置和使用 GPU 设备的更多详细信息还有故障排除提示,请参阅使用 Spatial Analyst 进行 GPU 处理。有关兼容的 GPU 以及配置和使用 GPU 设备的更多详细信息还有故障排除提示,请参阅 Spatial Analyst 扩展模块帮助中的使用 Spatial Analyst 进行 GPU 处理。
参数
arcpy.ddd.Aspect(in_raster, out_raster, {method}, {z_unit}, {project_geodesic_azimuths}, {analysis_target_device})
名称 | 说明 | 数据类型 |
in_raster | 输入表面栅格。 | Raster Layer |
out_raster | 输出坡向栅格。 此栅格为浮点类型。 | Raster Dataset |
method (可选) | 指定计算将基于平面(平地)还是测地线(椭球)方法。
平面方法适用于保持正确距离和面积的投影中的局部区域。 适用于覆盖诸如城市、县或面积较小的州等区域的分析。 测地线方法可以产生更精确的结果,但会造成处理时间这一潜在成本增加。 | String |
z_unit (可选) | 指定将用于垂直 z 值的线性单位。 由垂直坐标系(如果存在)定义。 如果垂直坐标系不存在,则应使用单位列表来定义 z 单位,以确保测地线计算正确。 默认单位为米。
| String |
project_geodesic_azimuths (可选) | 指定是否将投影测地线方位角以校正由输出空间参考引起的角度失真。
| Boolean |
analysis_target_device (可选) |
指定将用于执行计算的设备。
| String |
代码示例
此示例将根据输入表面栅格创建坡向栅格。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.ddd.Aspect("elevation", "C:/output/outaspect.img")
此示例将根据输入表面栅格创建坡向栅格。
# Name: Aspect_3d_Ex_02.py
# Description: Derives aspect from a raster surface.
# 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"
outAspect = "C:/output/outaspect2"
# Execute Aspect
arcpy.ddd.Aspect(inRaster, outAspect)