3. 汇流累积阈值对河网密度的影响分析

为什么阈值是河网提取的“密度旋钮”

在基于DEM的水文分析中,汇流累积量(Flow Accumulation)表示每个栅格上游汇入的栅格数量。设定阈值 T 后,累积量 ≥ T 的栅格被判定为河道。阈值越小,被判为河道的栅格越多,河网越密;阈值越大,只有汇水面积足够大的沟道才保留,河网越稀疏。因此阈值直接控制三个可观测指标:河网密度(河道总长度 / 流域面积)、河源数量(河网线段起点数)以及流域出口位置(河网最下游节点与流域边界的吻合程度)。

本案例采用一套可复现的栅格计算流程:先由流量累积栅格按不同阈值二值化,再统计河道栅格数与河源数,最后用“河源密度—出口偏移”双指标确定合理阈值区间。下面给出可直接运行的核心计算代码(Python + NumPy,假设 flow_acc 为已由填洼、流向计算得到的流量累积二维数组,单位:上游栅格数)。

import numpy as np

def extract_channel(flow_acc, threshold):
    """按阈值提取河道二值栅格:1=河道,0=非河道"""
    return (flow_acc >= threshold).astype(np.uint8)

def count_sources(channel):
    """统计河源数:河道栅格中,上游无河道邻居的起点数量(8邻域近似)"""
    src = 0
    h, w = channel.shape
    for i in range(1, h - 1):
        for j in range(1, w - 1):
            if channel[i, j] == 1:
                neigh = channel[i-1:i+2, j-1:j+2].sum() - 1
                if neigh == 0:
                    src += 1
    return src

def evaluate_thresholds(flow_acc, cell_area, thresholds):
    rows = []
    for t in thresholds:
        ch = extract_channel(flow_acc, t)
        length = ch.sum() * np.sqrt(cell_area)   # 近似:每河道栅格折算一个格网边长
        density = length / (flow_acc.size * cell_area)
        rows.append((t, int(ch.sum()), count_sources(ch), round(density, 4)))
    return rows

# 示例:30 m 分辨率 DEM,阈值从 100 到 5000 栅格
cell_area = 30 * 30
thresholds = [100, 300, 500, 1000, 2000, 3000, 5000]
for r in evaluate_thresholds(flow_acc, cell_area, thresholds):
    print("T=%5d  河道栅格=%6d  河源数=%4d  河网密度=%.4f" % r)

示例输出(教学示例数据,非实测):T=100 时河源数约 480、密度 0.021;T=1000 时河源数约 96、密度 0.008;T=5000 时河源数约 21、密度 0.003。可以看到河源数随阈值增大呈近似幂律衰减,而密度下降更平缓——这正是判断“合理阈值”的关键:当阈值继续增大而河源数骤减、主干河道形态开始断裂时,说明已越过合理上限。

汇流累积阈值 → 河网密度 / 河源数量 / 出口位置 低阈值 T=100 河网密 · 河源多 · 易含伪沟道 出口 密度 0.021 · 河源 480 风险:坡面细沟被误判为河道 合理区间 T≈500–1000 形态完整 · 河源稳定 · 出口吻合 出口 密度 0.008 · 河源 96 推荐:与实测水系叠加验证 高阈值 T=5000 河网稀疏 · 支流断裂 · 出口偏移 出口 密度 0.003 · 河源 21 风险:小支流消失、出口偏离 阈值增大 → 河网密度下降、河源数量减少、出口位置趋于偏移

如何确定研究区的合理阈值范围

单看密度曲线不足以定阈值,需要把“形态合理性”作为约束。推荐按以下判据筛选:

  • 河源密度稳定段:绘制河源数—阈值曲线,取曲线由陡变缓的拐点作为下限,避免把坡面细沟误判为河道。
  • 主干连通性:阈值增大到主干河道出现断裂(河道栅格不连续)时,该阈值即为上限。
  • 出口吻合度:将提取河网最下游节点与已知流域出口或实测水系出口比对,偏移超过 1–2 个格网即视为过大。
  • 与实测水系叠加:在合理区间内取 2–3 个候选阈值,分别与实测水系做叠加目视检查,选择形态最接近者。
阈值单位要与流量累积栅格一致:若累积量以“上游栅格数”计,阈值即栅格数;若已换算为面积(m²),阈值需乘以格网面积。示例中 30 m DEM 的 1000 栅格约等于 0.9 km² 汇水面积,可作为量纲换算的参照。
不要用单一阈值套用所有研究区。地形破碎的丘陵区合理阈值通常低于平坦平原区;同一流域内若上游与下游地形差异大,可考虑分区设定阈值,但需在成果中说明分区依据。

结果判读与交付要点

完成多阈值对比后,应输出一张阈值—指标对照表,记录每个候选阈值的河道栅格数、河源数、河网密度与出口偏移量,并标注推荐阈值。推荐阈值需同时满足:河源数处于稳定段、主干无断裂、出口偏移在允许范围内。最终河网矢量应保留阈值参数与DEM分辨率作为元数据,便于复现与横向比较。