跳到主要内容

地形地平线角计算

地形地平线角计算(r.horizon)根据高程栅格计算各像元在指定方向上的地形地平线仰角(Horizon Angle)。

功能说明​

工具沿指定方向搜索地形,计算视线与地平面之间的地平线高度角。可用于研究地形遮挡及太阳辐射分析所需的地平线条件。

参数说明​

参数说明必填默认值
输入高程栅格提供地形高程的栅格。是空
方向角指定单方向计算的方向,单位为度;单方向使用时角度步长留空。否空
角度步长多方向计算时相邻方向之间的角度间隔,单位为度。否空
起始角度多方向计算的起始方向,与角度步长配合,单位为度。否0.0
结束角度多方向计算的结束边界,单位为度;结束角本身不包含在内。否360.0
统一缓冲区四周统一扩展读取高程的缓冲距离。否空
东侧缓冲向东扩展读取高程的距离。否空
西侧缓冲向西扩展读取高程的距离。否空
北侧缓冲向北扩展读取高程的距离。否空
南侧缓冲向南扩展读取高程的距离。否空
最大搜索距离搜索地形地平线的最大距离,单位为米。否空
采样距离步长系数控制沿视线搜索时的采样步长。否1.0
角度以度输出启用后以度输出角度;未启用时以弧度输出。否关闭
使用罗盘方位采用罗盘方向约定。否关闭
输出栅格文件夹保存地平线结果的文件夹。是空

单方向与多方向​

根据分析需求选择一种设置方式:

  • 单方向:填写“方向角”,将“角度步长”留空。例如方向角填 0,仅计算 0° 方向,输出一张地平线角度栅格。
  • 多方向:将“方向角”留空,填写“角度步长”,并按需调整“起始角度”和“结束角度”。例如起始角度 30、结束角度 70、步长 10,方向依次为 30°、40°、50°、60°,每个方向各输出一张栅格;70° 是结束边界,不包含在内。保持默认的 0°–360° 并将步长设为 30°,则对应 0°、30°……330° 共 12 个方向。

上面的多方向数列用于说明角度设置;实际输出文件及其方向后缀以运行结果为准。若同时填写“方向角”和“角度步长”,GRASS 原生模块将方向角用于方向偏移;为避免组合含义造成误解,常规多方向计算建议按上述方式将方向角留空。

方向角、起始角度、结束角度和角度步长均以度设置;“角度以度输出”控制的是结果栅格中地平线高度角的单位,不改变这些输入参数的单位。默认方向约定为东 0°、北 90°、西 180°、南 270°,逆时针递增;“使用罗盘方位”选项采用北 0°、东 90°的罗盘表示。

输出结果​

输出地平线角度栅格;多方向计算可产生多张结果。默认角度单位为弧度,启用“角度以度输出”后使用度。

使用步骤​

  1. 在【计算工具箱】的【GRASS GIS】>【栅格工具】>【地形分析】中打开【地形地平线角计算】。
  2. 选择高程栅格;单方向填写方向角,多方向则填写角度步长并设置起始、结束角度。
  3. 根据需要设置最大搜索距离及角度输出单位。
  4. 指定输出文件夹并运行,检查输出栅格。

使用示例​

在线项目 grass-地形地平线角计算 使用 pingshan_dem_30m.tif(EPSG:3857),方向角为 0,最大搜索距离为 1000 米,除角度输出单位外其他选项保持默认。

关闭“角度以度输出”时,结果 pingshan_dem_30m_grass_r_horizon_1(1)..tif 的角度单位为弧度;开启该选项时,结果 pingshan_dem_30m_grass_r_horizon_2(1)..tif 的角度单位为度。两者均为 EPSG:3857 单波段栅格。

地形地平线角计算示例

注意事项​

  • GRASS 默认方向从东为 0° 逆时针计量;启用罗盘方位时方向约定不同。
  • 高程及最大搜索距离应以米为单位;缓冲区使用栅格坐标单位。
  • 过小的最大搜索距离可能遗漏远处遮挡地形;边界附近也可能受输入范围限制。
  • 多方向计算的结束角不包含在内;较小的角度步长会产生更多结果。

技术参考​

计算引擎:GRASS GIS;底层模块:r.horizon。

GRASS GIS 8.5 官方文档