3. 矿区DEM坡度计算原理与操作

坡度描述的是地表在某一点上偏离水平面的倾斜程度,是矿区地形分析中最基础也最常用的派生指标之一。在QGIS中,坡度工具读取DEM栅格,为每个像元计算一个坡度值,输出一张与原DEM同分辨率的坡度栅格。要正确使用这个结果,需要先理解它到底是怎么算出来的、单位是什么、以及怎样分级才能表达出矿区地形的真实特征。

一、坡度计算的几何本质与Horn算法

坡度的数学定义是地表高程变化率的最大值,即梯度向量的模。对栅格DEM而言,每个像元的高程变化率无法直接求导,只能用邻域像元做差分近似。最朴素的做法是“二阶有限差分”:用中心像元上下左右四个邻居计算东西方向和南北方向的高程差。这种方法只用4个邻居,对噪声敏感,在矿区这种常含台阶、陡坎、采坑边缘的复杂地形上容易产生方向性偏差。

QGIS坡度工具默认采用Horn算法(也称三阶有限差分或Sobel算子)。它使用中心像元周围3×3窗口内的全部8个邻居,对东西、南北两个方向的偏导数做加权平均:

设3×3窗口高程为:
  z1  z2  z3
  z4  z5  z6
  z7  z8  z9

dz/dx = [(z3 + 2·z6 + z9) − (z1 + 2·z4 + z7)] / (8·cellsize)
dz/dy = [(z7 + 2·z8 + z9) − (z1 + 2·z2 + z3)] / (8·cellsize)

坡度(度) = atan( sqrt( (dz/dx)² + (dz/dy)² ) ) × 180/π

可以看到,Horn算法对与中心像元相邻的边邻居(z2、z4、z6、z8)赋予权重2,对角邻居(z1、z3、z7、z9)权重1,再除以8倍像元尺寸做归一化。这种加权相当于对窗口做了一次轻度平滑,能有效抑制单像元高程噪声,代价是会在陡坎处略微“抹平”坡度峰值。对矿区而言,这意味着采场台阶的坡度可能被低估约几度,需要在成果解释时心里有数。

公式中的cellsize是像元的地面尺寸,必须与DEM的水平坐标单位一致。若DEM使用地理坐标系(度),cellsize以度为单位,直接代入会得到毫无意义的坡度值——这是初学者最常见的错误。正确做法是先把DEM重投影到投影坐标系(如CGCS2000 3度带高斯-克吕格,或UTM),使像元尺寸以米为单位,再计算坡度。

Horn算法3×3窗口与坡度输出关系 DEM 3×3 邻域窗口 z1 z2 z3 z4 z5 z6 z7 z8 z9 边邻居权重2 · 对角邻居权重1 · 中心z5不参与 dz/dx = [(z3+2z6+z9) − (z1+2z4+z7)] / (8·cellsize) dz/dy = [(z7+2z8+z9) − (z1+2z2+z3)] / (8·cellsize) 梯度模 = sqrt( (dz/dx)² + (dz/dy)² ) 坡度(度) = atan(梯度模) × 180/π 输出:每个像元一个坡度值(度或百分比) 分辨率与DEM一致,像元位置一一对应 关键前提: cellsize 必须与水平坐标单位一致(米)。地理坐标系(度)下直接计算会得到错误坡度, 应先将DEM重投影到投影坐标系(如CGCS2000 3度带 / UTM)再执行坡度工具。

二、在QGIS中生成矿区坡度栅格

操作路径为:栅格 → 分析 → 坡度(Raster → Analysis → Slope)。在对话框中需要关注三个参数:

  • 输入图层:选择已重投影的矿区DEM。建议先检查图层属性中的坐标系与像元尺寸,确认水平单位为米。
  • Z因子:当DEM的高程单位与水平单位不一致时用于换算。若水平为米、高程也为米,Z因子取1;若高程为英尺而水平为米,应取0.3048。矿区DEM通常两者都是米,保持默认1即可。
  • 坡度测量单位:可选“度”或“百分比”。度是0~90的角度值,直观且与坡度分级标准对应;百分比是高程差与水平距离之比乘以100,在工程边坡中常用(如1:1边坡对应100%)。制图表达一般选“度”。

点击运行后,QGIS会输出一个浮点型坡度栅格。以某露天铁矿示例数据(假设DEM为5米分辨率、投影坐标系、高程单位米)为例,采场边坡区域坡度集中在35°~55°,平台区域在3°~8°,外围自然山坡在10°~25°。这些数值属于教学示例的合理假设,实际项目应以真实DEM计算结果为准。

坡度工具的输出没有“无数据”以外的特殊值,但DEM边缘一圈像元因邻域不完整,坡度值可能偏小或为空。制图时可通过裁剪或掩膜去掉边缘一圈,避免图面出现异常条带。

三、坡度单位与分级方法

拿到坡度栅格后,直接以连续色带渲染往往难以读出矿区地形的功能分区。分级渲染(分级符号)能把连续坡度离散为若干区间,使采场、台阶、道路、自然坡面一目了然。分级的关键是分级阈值要与矿区实际地形和业务用途匹配,而不是套用通用模板。

常用的分级思路有两种。其一是等间距分级,例如每10°一级,适合快速浏览整体坡度分布。其二是按业务阈值分级,更贴合矿区应用:

坡度区间(度)地形含义(示例)制图建议色
0 – 5平台、场地、道路浅绿
5 – 15缓坡、堆场边坡黄绿
15 – 30自然山坡、排土场黄
30 – 45采场边坡、陡坡橙
> 45陡崖、岩壁、危险区红

在QGIS中实现分级:右键坡度图层 → 属性 → 符号化 → 渲染类型选“单波段伪彩色”,在“模式”中选择“等间距”或“连续”,然后手动编辑分类区间与颜色。若采用业务阈值,建议选“等间距”后逐项修改上限值,或直接用“分级”模式自定义断点。分级完成后,务必在图层样式中勾选“图例”并检查各级标签是否与阈值一致。

分级阈值一旦确定,应在整幅图或整个项目中保持一致,否则不同图幅之间无法对比。若矿区跨越多个采区,建议先统计全域坡度分布(可用栅格统计或直方图),再确定统一断点。

四、结果检查与常见问题

坡度成果生成后,至少做三项检查。第一,数值范围检查:用图层属性中的“信息”查看最小值和最大值,正常应在0~90°之间;若出现负值或超过90°,说明Z因子或坐标单位有误。第二,空间合理性检查:把坡度与DEM叠加,采坑边缘应出现高坡度环带,平台内部应接近0°,若高坡度出现在平坦区域,可能是DEM存在噪声或拼接缝。第三,单位一致性检查:确认输出单位与分级表一致,避免把百分比误当度来分级。

常见问题中,最典型的是“坡度整体偏小”。除前述地理坐标系问题外,还可能是Z因子被误设为小于1的值,或DEM本身经过重采样平滑。另一种是“坡度出现棋盘状纹理”,多由DEM噪声或压缩伪影引起,可先对DEM做轻度中值滤波再计算坡度,但滤波会进一步削弱陡坎峰值,需权衡使用。

理解Horn算法的加权方式和单位约定,再结合矿区业务确定分级阈值,坡度栅格才能真正成为采场边坡识别、道路选线和危险区划定的可靠依据,而不是一张好看但读不出信息的彩色图。