洪水淹没风险怎么模拟?水文分析流程详解?
“洪水淹没风险怎么模拟?水文分析流程详解?”这个问题,本质上是在问:如何把降雨、地形、河道、水位或流量等信息,转成一张可用于研判的洪水淹没范围图和风险分区图。对 GIS 学习者来说,重点不是只会点某一个工具,而是理解水文分析流程、洪水淹没模拟数据准备、淹没深度计算和结果验证。
本文以常见 GIS 工作流为主线,说明如何用 DEM、河网、控制水位或设计洪水流量,完成一次可复现的洪水淹没风险模拟。工具可以选 QGIS、ArcGIS Pro、HEC-RAS、WhiteboxTools、TauDEM 或 Python GIS,具体软件不同,但底层逻辑基本一致。
引言:洪水淹没风险模拟到底要输出什么
做洪水淹没风险模拟前,先要明确输出目标。不同目标对应的数据精度、模型复杂度和成果表达方式都不同。
- 快速筛查:得到大致淹没范围,用于初步识别低洼区、沿河风险带和重点设施。
- 规划评估:输出不同重现期洪水的淹没范围、淹没深度和影响面积。
- 应急研判:结合实时水位或预报流量,快速判断哪些道路、村庄、厂区可能受影响。
- 工程设计:需要更严格的水动力模型、断面资料、糙率参数和边界条件。
如果只是 GIS 层面的入门模拟,可以从 DEM 洼地分析、河网提取、水位面构建和栅格叠加开始。如果需要工程级成果,建议使用 HEC-RAS 二维模型、MIKE、InfoWorks ICM 等专业水动力软件,并由水文水利专业人员校核。

背景:为什么洪水淹没模拟不能只用一张地形图
很多初学者会认为,只要有 DEM,把低于某个水位的区域选出来,就能得到洪水淹没范围。这个思路在静态水位淹没分析中有一定意义,但它忽略了几个关键问题。
- 水必须连通:低于水位的洼地不一定会被河水淹没,除非它与河道或溢流通道连通。
- DEM 有误差:建筑物、植被、桥梁、堤防和道路可能影响地表高程表达。
- 河道断面很关键:仅靠地表 DEM 往往无法准确表达河槽深度。
- 水位不是处处相同:真实洪水沿河道方向存在水面坡降,不应简单假设全区域同一水位。
- 淹没风险不等于淹没范围:风险还与淹没深度、流速、人口、土地利用和资产暴露度有关。
因此,GIS 中的洪水淹没风险模拟通常分为两个层次:一是地形和水文基础分析,二是淹没范围与风险分区计算。前者回答“水往哪里流”,后者回答“哪里可能被淹、淹多深、风险多高”。
原理:水文分析流程与淹没深度计算
洪水淹没风险模拟的核心原理可以概括为三句话:用 DEM 判断地形汇流,用水位或水动力结果确定水面,用水面高程减去地面高程得到淹没深度。
1. DEM 水文分析的基本逻辑
DEM 是数字高程模型,记录每个栅格像元的地面高程。常见水文分析流程包括填洼、流向、流量累积、河网提取和流域划分。
- 填洼:修正 DEM 中不合理的闭合洼地,避免水流在局部异常像元中停止。
- 流向:判断每个像元的水向哪个相邻像元流动,常见方法有 D8、D-Infinity 等。
- 流量累积:统计上游有多少像元汇入当前位置,用于识别沟谷和河网。
- 河网提取:根据流量累积阈值生成河道线或河道栅格。
- 流域划分:根据出口点或控制断面识别上游汇水范围。
这一步不直接产生洪水淹没图,但它能帮助你检查河道位置、汇水关系和可能的积水路径,是后续模拟的基础。
2. 静态水位淹没分析的基本公式
在简化条件下,可以用水面高程与地面高程之差计算淹没深度:
淹没深度 = 水面高程 - DEM地面高程
当淹没深度大于 0 时,该像元理论上被淹没;当淹没深度小于或等于 0 时,该像元不被淹没。
但是,实际操作中还需要加上连通性判断。也就是说,只有与河道、水库、湖泊或入水边界连通的低洼区,才应被纳入洪水淹没范围。
3. 风险分区的常见思路
如果只考虑淹没深度,可以按深度进行风险分级。例如:
| 淹没深度 | 风险等级 | 解释 |
|---|---|---|
| 0 至 0.3 米 | 低风险 | 可能影响步行、低洼道路和地下空间入口 |
| 0.3 至 1 米 | 中风险 | 车辆通行和一层建筑可能受到明显影响 |
| 1 至 2 米 | 高风险 | 建筑、道路和基础设施受损风险较高 |
| 大于 2 米 | 极高风险 | 可能造成严重淹没,应重点管控 |
如果有流速数据,还可以用“深度 × 流速”评估危险性。对于城市洪涝和山洪场景,流速往往和深度一样重要。
步骤:用 GIS 完成一次洪水淹没风险模拟
下面给出一个可操作的水文分析流程,适合 GIS 学生、初级 GIS 工程师和空间分析人员理解完整工作链路。你可以在 QGIS、ArcGIS Pro 或 Python 环境中实现。
步骤 1:准备基础数据
至少需要以下数据:
- DEM:建议使用分辨率较高、垂直精度可靠的数据。城市内涝分析通常需要更精细的地形。
- 河网或水系:可来自已有矢量数据,也可从 DEM 提取后人工校正。
- 研究区边界:用于裁剪数据和统计成果。
- 控制水位或设计水位:例如某断面水位、洪水位、库水位或水面高程。
- 土地利用、道路、建筑物、人口点位:用于后续风险暴露分析。
如果你做的是设计洪水情景,还可能需要降雨资料、产汇流参数、河道断面、糙率、边界条件和下游水位。
步骤 2:统一坐标系和高程基准
这是洪水淹没模拟最容易出错的一步。平面坐标系和高程基准必须统一,否则面积、距离、淹没深度都会出现偏差。
- 平面分析建议使用投影坐标系,不要直接在经纬度坐标系下计算面积和距离。
- 检查 DEM 高程单位是米还是英尺。
- 确认水位数据和 DEM 是否使用同一高程基准。
- 如果数据来自多个部门,必须核对国家高程基准、地方高程系统或水利系统高程差异。
经验判断:如果你算出的淹没范围异常巨大或完全没有淹没,先不要怀疑模型,优先检查坐标系、高程单位和水位基准。
步骤 3:DEM 预处理
在 QGIS 中,可以使用 Processing 工具箱里的 GRASS、SAGA、WhiteboxTools 相关工具;在 ArcGIS Pro 中,可以使用 Spatial Analyst 的 Hydrology 工具。
- 裁剪 DEM 到研究区及其上游缓冲范围。
- 检查 DEM 是否存在 NoData 孔洞。
- 进行填洼处理,生成适合流向分析的 DEM。
- 必要时对桥梁、涵洞、堤防等关键位置做人工修正。
- 生成坡度、阴影图或等高线,用于人工检查地形合理性。
填洼不是越强越好。如果研究对象是城市积水,真实洼地可能正是积水点,过度填洼会抹掉重要地形特征。对于城市内涝,应谨慎区分“DEM 噪声洼地”和“真实低洼地”。
步骤 4:进行流向、流量累积和河网提取
DEM 水文分析的典型流程如下:
原始DEM
→ 裁剪与检查
→ 填洼DEM
→ 流向栅格
→ 流量累积栅格
→ 设置阈值提取河网
→ 与现状河网对比校正
河网提取阈值需要结合地形尺度调整。阈值太小会生成大量细碎沟道,阈值太大会漏掉重要支流。建议把提取河网叠加到影像、现状水系和等高线图上进行校核。
步骤 5:构建水面高程
洪水淹没范围的关键输入是水面高程。常见方法有三种:
- 固定水位法:假设研究区水面高程为一个固定值,适合小范围湖泊、水库回水或初步筛查。
- 沿河插值法:根据多个断面水位,沿河道方向插值得到水面高程栅格。
- 水动力模型法:使用 HEC-RAS 等模型计算不同时间和空间位置的水深、水位和流速。
如果你只有一个控制水位,可以先做静态淹没分析;如果研究区沿河距离较长,建议至少使用多个控制断面水位进行线性或分段插值,避免全区同一水位造成明显误差。
步骤 6:计算淹没深度栅格
在栅格计算器中执行:
Depth = Water_Surface_Elevation - DEM
然后将小于或等于 0 的像元设置为 NoData 或 0,只保留正值作为潜在淹没深度。
在 QGIS 栅格计算器中,表达式可以写成类似形式:
("water_surface@1" - "dem@1") * (("water_surface@1" - "dem@1") > 0)
在 ArcGIS Pro Raster Calculator 中,可使用条件函数:
Con(("water_surface" - "dem") > 0, "water_surface" - "dem")
计算完成后,应检查最大值、最小值和直方图。如果出现几十米甚至上百米的异常水深,通常说明水位基准、DEM 高程或单位存在问题。
步骤 7:做连通性筛选
仅凭“水面高程大于地面高程”会把许多孤立低洼区也算成淹没区。为了更接近真实洪水,应做连通性筛选。
- 将淹没深度栅格转为二值淹没栅格。
- 以河道、水库或入水边界作为连通源。
- 提取与连通源相连的淹没区域。
- 剔除与洪水通道不连通的孤立斑块。
在 QGIS 中,可以通过栅格区域分组、矢量化后空间选择、按位置选择等方式实现。在 Python 中,可以使用连通域分析或基于栅格邻域的 flood fill 方法。
步骤 8:生成风险分区图
把淹没深度按阈值重分类,生成低、中、高、极高风险区。然后叠加道路、建筑物、村庄、学校、医院、变电站等暴露要素,统计受影响对象。
- 统计各风险等级面积。
- 统计被淹道路长度。
- 统计受影响建筑物数量或面积。
- 识别高风险区内的重要设施。
- 输出地图布局、表格和 GIS 数据成果。
对于制图表达,建议使用由浅到深的蓝色表示淹没深度,用橙色或红色突出高风险区。图例要写清楚单位、情景条件和数据来源。
步骤 9:验证和复核结果
洪水淹没模拟必须验证。没有验证的成果只能作为假设情景图,不能直接当作可靠结论。
- 与历史洪水痕迹、遥感影像或灾情记录对比。
- 检查淹没边界是否符合地形等高线。
- 检查桥梁、堤防、道路高填方附近是否出现不合理穿越。
- 与现场照片、无人机影像或地方水文资料核对。
- 对关键水位上下浮动 0.5 米或 1 米,做敏感性分析。
验证的目的不是让结果“看起来好看”,而是发现模型假设、输入数据和处理流程中的错误。
常见坑:洪水淹没风险模拟最容易错在哪里
1. DEM 分辨率不够,却用于精细城市内涝判断
30 米 DEM 适合区域尺度地形分析,不适合判断某条城市道路是否积水。城市内涝往往受道路横坡、雨水口、地下管网和微地形影响,需要更高精度地形和排水系统数据。
2. 把所有低于水位的地方都当成淹没区
这是静态淹没分析中最常见的问题。孤立洼地不一定与河道连通,必须做连通性筛选。否则淹没范围会被明显夸大。
3. 忽略堤防、道路和桥涵
堤防可能阻挡洪水,道路高填方也可能改变水流路径。相反,涵洞和桥孔可能让水穿过道路。如果 DEM 没有正确表达这些结构,模拟结果就会出现断裂或错误扩散。
4. 水位高程基准与 DEM 不一致
水位数据来自水文站,DEM 来自遥感或测绘成果时,高程基准可能不同。哪怕相差几十厘米,也可能显著改变平原区淹没范围。
5. 只输出范围,不输出深度
洪水风险评价不能只看“淹没或不淹没”。同样在淹没范围内,0.2 米和 2 米的风险完全不同。建议同时输出淹没深度栅格和分级风险区。
方法比较:QGIS、ArcGIS Pro、HEC-RAS 和 Python 怎么选
| 方法 | 适合场景 | 优点 | 限制 |
|---|---|---|---|
| QGIS 水文分析 | 学习、快速筛查、开源流程 | 免费,插件丰富,可结合 GRASS、SAGA、WhiteboxTools | 复杂水动力过程需要额外工具支持 |
| ArcGIS Pro Spatial Analyst | 规范化 GIS 生产、单位内部流程 | 工具链成熟,制图和空间分析能力强 | 需要许可,水动力模拟能力有限 |
| HEC-RAS 二维模型 | 河道洪水、漫滩分析、工程评估 | 能计算水位、流速、时间过程,适合更严谨模拟 | 需要断面、糙率、边界条件等专业参数 |
| Python GIS | 批处理、自动化、多情景计算 | 可复现,适合批量水位情景和统计分析 | 对编程和数据质量控制要求较高 |
如果你是初学者,建议先用 QGIS 或 ArcGIS Pro 理解 DEM、水文分析和栅格计算逻辑;如果项目需要工程级洪水过程模拟,再学习 HEC-RAS;如果需要批量计算多个水位情景,可以用 Python 自动化处理。
检查清单:提交洪水淹没图前必须核对
- DEM 是否裁剪到足够范围,而不是只裁剪行政边界内部。
- DEM 高程单位是否为米,是否存在异常 NoData。
- 水位和 DEM 是否使用同一高程基准。
- 分析是否使用合适的投影坐标系。
- 是否进行了连通性筛选。
- 是否检查了河道、堤防、道路、桥涵等关键地物。
- 是否输出淹没深度,而不仅是淹没范围。
- 风险分级阈值是否在图例和说明中写清楚。
- 是否与历史洪水、遥感影像或现场记录做过对比。
- 是否说明模拟情景,例如某水位、某重现期或某降雨条件。
FAQ:洪水淹没风险模拟常见问题
1. 没有流量数据,能不能做洪水淹没模拟?
可以做简化的静态水位淹没分析,但必须明确它不是完整水动力模拟。你需要至少有一个合理的水面高程或设计水位,并对结果做连通性筛选和不确定性说明。
2. 只用 DEM 能不能得到洪水淹没范围?
只用 DEM 可以做地形低洼区识别和初步水文分析,但不能严格代表真实洪水淹没范围。洪水还受降雨、流量、河道断面、堤防、糙率、下游水位和排水条件影响。
3. QGIS 可以做洪水淹没风险模拟吗?
可以。QGIS 可以完成 DEM 预处理、流向流量分析、栅格计算、淹没深度提取、矢量化和风险制图。若需要更复杂的二维水动力计算,可将 QGIS 与 HEC-RAS 或其他模型结合使用。
4. 为什么我的淹没范围出现很多孤立斑块?
通常是因为只按高程阈值筛选,没有做连通性判断。你需要以河道或入水边界为源,只保留与源连通的淹没区域。同时检查 DEM 洼地、道路阻隔和 NoData 问题。
5. 洪水淹没风险图应该交付哪些成果?
建议至少交付淹没范围矢量、淹没深度栅格、风险分区图、受影响对象统计表、制图版 PDF 或图片,以及数据来源和模型假设说明。项目场景复杂时,还应提交参数表和验证记录。
结论:先把流程做对,再追求模型复杂度
洪水淹没风险模拟不是单一工具按钮,而是一套完整的水文分析流程。正确顺序应是:准备可靠 DEM 和水文资料,统一坐标与高程基准,完成流向流量分析,构建水面高程,计算淹没深度,筛选连通区域,最后进行风险分级和结果验证。
对 GIS 读者来说,入门时可以先掌握静态水位法和 DEM 水文分析;进入实际项目后,再根据精度要求引入 HEC-RAS 等水动力模型。无论使用哪种软件,最重要的是讲清楚数据来源、模型假设、参数条件和验证依据。这样生成的洪水淹没风险图,才具有可解释性和实际应用价值。