坡向 (3D Analyst)

需要 Spatial Analyst 许可。

需要 3D Analyst 许可。

摘要

从栅格表面的每个像元派生出坡向。

坡向用于识别每个位置的下坡坡度所面对的罗盘方向。

表面参数工具可提供较新的实施和增强功能。

了解有关坡向工作原理的详细信息

插图

坡向图示
Aspect_3d (InRas1, OutRas)

使用情况

  • 表面参数工具可提供坡向的较新实施,建议使用该工具来代替坡向工具。 坡向工具可将一个平面与 9 个局部像元进行拟合,但是,平面在大多数情况下并非景观的良好描述符,可能会掩盖或夸大感兴趣的自然变化。 表面参数工具可将一个表面与像元邻域而不是平面进行拟合,以提供针对地形的更自然的拟合效果。

    坡向工具始终使用 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 邻域。 使用较大邻域可以最大程度地减少噪点表面的影响。 当使用高分辨率表面时,使用较大邻域也可以更好地表示地形和表面特征。

  • 计算测地线坡向时,此工具可通过图形处理器 (GPU) 加速。 也就是说,如果系统中安装了 GPU 设备,则该设备可用于提高测地线方法的性能。

    有关如何配置 GPU 设备的详细信息,请参阅使用 Spatial Analyst 进行 GPU 处理帮助主题中的 Spatial Analyst 扩展模块帮助。

参数

标注说明数据类型
输入栅格

输入表面栅格。

Raster Layer
输出栅格

输出坡向栅格。

此栅格为浮点类型。

Raster Dataset
方法
(可选)

指定计算将基于平面(平地)还是测地线(椭球)方法。

平面方法适用于保持正确距离和面积的投影中的局部区域。 适用于覆盖诸如城市、县或面积较小的州等区域的分析。 测地线方法可以产生更精确的结果,但会造成处理时间这一潜在成本增加。

  • 平面将使用 2D 笛卡尔坐标系对投影平面执行计算。 这是默认方法。
  • 测地线通过将地球形状视为椭球体,在 3D 笛卡尔坐标系中执行计算。
String
Z 单位
(可选)

垂直 z 值的线性单位。

由垂直坐标系(如果存在)定义。 如果垂直坐标系不存在,则应根据单位列表来定义 z 单位,以确保测地线计算正确。 默认单位为米。

  • 英寸线性单位将为英寸。
  • 英尺线性单位将为英尺。
  • 线性单位将为码。
  • 英里(美制)线性单位将为英里。
  • 海里线性单位将为海里。
  • 毫米线性单位将为毫米。
  • 厘米线性单位将为厘米。
  • 线性单位将为米。
  • 千米线性单位将为公里。
  • 分米线性单位将为分米。
String
投影测地线方位角
(可选)

指定是否将投影测地线方位角以校正由输出空间参考引起的角度失真。

  • 未选中 - 将不会投影测地线方位角。 这是默认设置。
  • 选中 - 将投影测地线方位角。
Boolean

arcpy.ddd.Aspect(in_raster, out_raster, {method}, {z_unit}, {project_geodesic_azimuths})
名称说明数据类型
in_raster

输入表面栅格。

Raster Layer
out_raster

输出坡向栅格。

此栅格为浮点类型。

Raster Dataset
method
(可选)

指定计算将基于平面(平地)还是测地线(椭球)方法。

  • PLANAR将使用 2D 笛卡尔坐标系对投影平面执行计算。 这是默认方法。
  • GEODESIC通过将地球形状视为椭球体,在 3D 笛卡尔坐标系中执行计算。

平面方法适用于保持正确距离和面积的投影中的局部区域。 适用于覆盖诸如城市、县或面积较小的州等区域的分析。 测地线方法可以产生更精确的结果,但会造成处理时间这一潜在成本增加。

String
z_unit
(可选)

垂直 z 值的线性单位。

由垂直坐标系(如果存在)定义。 如果垂直坐标系不存在,则应根据单位列表来定义 z 单位,以确保测地线计算正确。 默认单位为米。

  • INCH线性单位将为英寸。
  • FOOT线性单位将为英尺。
  • YARD线性单位将为码。
  • MILE_US线性单位将为英里。
  • NAUTICAL_MILE线性单位将为海里。
  • MILLIMETER线性单位将为毫米。
  • CENTIMETER线性单位将为厘米。
  • METER线性单位将为米。
  • KILOMETER线性单位将为公里。
  • DECIMETER线性单位将为分米。
String
project_geodesic_azimuths
(可选)

指定是否将投影测地线方位角以校正由输出空间参考引起的角度失真。

  • GEODESIC_AZIMUTHS测地线方位角将不会投影。 这是默认设置。
  • PROJECT_GEODESIC_AZIMUTHS测地线方位角将被投影。
Boolean

代码示例

Aspect 示例 1(Python 窗口)

此示例将根据输入表面栅格创建坡向栅格。

import arcpy
from arcpy import env  
env.workspace = "C:/data"
arcpy.Aspect_3d("elevation", "C:/output/outaspect.img")
Aspect 示例 2(独立脚本)

此示例将根据输入表面栅格创建坡向栅格。

# 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"
method = "GEODESIC"
zUnit = "FOOT"

# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")

# Execute Aspect
arcpy.Aspect_3d(inRaster, outAspect, method, zUnit)

许可信息

  • Basic: 需要 3D Analyst 或 Spatial Analyst
  • Standard: 需要 3D Analyst 或 Spatial Analyst
  • Advanced: 需要 3D Analyst 或 Spatial Analyst

相关主题