马 瑞义崇政
(1.长江勘测规划设计研究有限责任公司,武汉 430010; 2.长江空间信息技术工程有限公司(武汉),武汉 430010;3.湖北省水利信息感知与大数据工程技术研究中心,武汉 430010)
洪水灾害既是一种造成灾害的自然现象,又是保持自然生态平衡所不可少的生态过程。近年来,水利科学研究、工程运用乃至社会各界都在从不同角度探讨利用现代高新技术及时、准确地预报洪水演进过程。随着信息数字化技术研究的深入,洪水演进的推算必须上升到模拟仿真的高度,才能为洪水事件发生的时间、地点、范围和强度提供快速、准确和直观有效的预报手段。近年来,国内外学者对洪水数值模拟及可视化方法进行了深入研究[1-4],通过技术手段对洪水过程进行模拟和可视化,将其转化为受众面广的直观形态,对洪水淹没的灾害评估与应急决策管理具有重要的意义。
在洪水的数值模拟方面,丹麦水力研究所开发的MIKE系列软件提供了河网、河口和地表水体等的水动力学模型,为洪水的数值计算提供了基础性工具[5],大量研究者使用该软件针对特定区域开展了应用。刘娜等[6]运用MIKE11模型分析闸坝式电站溃坝洪水过程;丁曼等[7]应用MIKE21模型对月亮泡蓄滞洪区的洪水扩散情况进行模拟;王欣等[8]综合应用MIKE FLOOD模块模拟城区溃坝后的洪水淹没情况。
在洪水过程的可视化方面,由于传统的统计表格和过程曲线等方式难以直观描述洪水的空间演进过程,研究者逐步将GIS可视化技术应用到洪水过程表达中,为洪水演进模拟的研究提供多源地表空间信息的综合分析和解释。受制于GIS可视化技术的发展,早期的研究者主要使用二维平台对淹没格网进行设色和模拟[9]。随着图形学技术的快速发展,出现了一系列可视化工具和类库,为三维可视化提供了基础[10]。陈立华等[11]运用OpenGL对三维河网的流场和温度场进行了可视化;王伟等[12]使用DirectX 9.0对大区域河道进行建模并进行河流水的仿真;眭海刚等[13]使用三维GIS软件对数字航道及其周边要素进行建模和模拟。
已有的数值模拟方法和可视化技术为洪水演进模拟提供了有效的辅助手段,但借助开源可视化类库对MIKE FLOOD模型计算成果进行灵活多样的可视化研究较少,且大多数二维洪水风险图使用分级设色对淹没范围和风险程度进行总体描述,缺乏对淹没区域细节的认知,无法动态反映发生溃口等险情时的洪水扩散过程[14-16]。
鉴于此,本文研究了洪水风险的表达手段及其在3DGIS场景中的融合和表达方法,并以雄安新区的南拒马河右岸为研究对象,基于MIKE模型计算溃坝后的洪水过程,应用3DGIS技术在真三维环境下进行洪水过程的动态推演分析。
MIKE系列软件是丹麦水力研究所开发的用于河流、灌溉系统等的水流、水质、泥沙分析模拟专业软件,该模型可以灵活地建立各类复杂的河网模型。该软件的适用范围从一维到三维,从水动力到水环境和生态系统,从流域大范围水资源评估和管理的MIKEBASIN,到地下水和地表水联合的MIKESHE。从一维河网的MIKE11、二维河口和地表水体的MIKE21、近海的沿岸流LITPACK,直到深海的三维MIKE3。
在洪水过程的计算中,常使用MIKE11和MIKE21模块,其中MIKE11数学模型软件包由水动力、对流-扩散、水质、降雨-径流、洪水预报等模块组成,核心模块为水动力模块,采用的是6点Abbott-Ionescu有限差分格式,对圣·维南方程组求解;MIKE21属于平面二维自由表面流模型,采用非正交曲线网格,忽略了垂向水流加速度,以垂向平均的水流因素为研究对象,模拟计算海洋、湖泊、河道、蓄滞洪区的流场、流速、水位的变化[5]。该模型目前在国内诸多大型工程中得到广泛应用,采用较为成熟的二维紊流雷诺平均应力模型方程结合自由表面模拟技术进行。
为综合表达河道和淹没区域的演进过程,在实际应用中,往往需要综合考虑一维河网模型和二维区域模型,将MIKE11模型和MIKE21模型的水动力模块耦合使用,建立一维、二维嵌套的非恒定流洪水演进数学模型。
因此,本文采用MIKE11和MIKE21模型的耦合方法。在模型中,流域内水流运动概化为河道、蓄滞洪区及其之间的联系3部分。河道水流采用一维非恒定方法模拟,建立河网模型;蓄滞洪区及保护区概化为二维区域进行模拟;对于河系中控制水流运动的堰、闸、蓄滞洪区口门等概化为联系,联系的过流能力满足水力学上的堰流公式。
洪水分析建模时,使用侧向连接,使得河道水流从一维河道经过侧向连接进入了二维区域。MIKE11用于一维河道内洪水演进过程的模拟,使用MIKE11模拟河道洪水演进过程,得到河道各断面处的水位、流量过程;MIKE21模型用于二维平面区域内的水力学计算,主要用于计算洪水淹没过程及流场、流速、洪水到达时间、淹没历时、洪峰到达时间等。
计算建模过程中,对区域的剖分形式采用非结构化三角形网格。为了较准确地模拟洪沥水的演进过程,对于规则网格,边长采用300 m,重要地区、地形变化较大部分的计算网格要适当加密,边长为100 m。剖分后的实验区进行洪水分析建模时,使用侧向连接,使得河道水流从一维河道经过侧向连接进入了二维区域。
为满足洪水过程展示的需求,还需要对MIKE格网耦合计算的结果进行格式化处理。表1给出了计算得出的随时间变化的格网水深结果格式化序列,在某一特定时刻,通过{网格ID,水深(m);…;网格ID,水深(m)}序列的形式描述当前格网的变化值。通过该序列的格式化,可以更加方便地得出任意t时刻中,相较于上一时刻t-1的网格变化情况,满足对局部水深值进行更新的需要。
表1 MIKE格网淹没水深结果格式化处理
随着GIS特别是三维GIS的快速发展,市场上出现了大量商业3DGIS平台,但由于接口限制,难以灵活对洪水过程进行表达。因此,本文拟选用开源图形(OpenSceneGraph,OSG)开发包进行洪水过程动态推演的设计与开发。OSG主要面向飞行器仿真、游戏、虚拟现实、科学计算可视化等高性能图形应用,它基于场景图的概念,提供一个在OpenGL之上的面向对象框架,把开发者从实现和优化底层图形的调用中解脱出来,并为图形应用程序的快速开发提供了很多附加的实用工具。
OSG绘制图形的基本单元是点、线和多边形,但对于地形地貌的表达,其提供了三维地形生成插件Virtual Planet Builder,可以将数字地形和数字正射影像融合,在绘制地形时将灰度图上的灰度信息插值转变为真实空间的三维地理坐标。在三维地形渲染时,相邻的3个点组成三角形,再将所有的三角形联接成网状,形成反映高低起伏变化的地形三角网,从而为洪水过程模拟和分析过程提供了详实的地形依据。
对于MIKE模型使用的洪水计算格网,将其转换为Shapefile形文件并进一步读取空间信息,构建OSG支持的三角形对象加入到三维场景中,然后对其中的每一个格网进行编号,关联到洪水计算的淹没成果表。完成了格网数据的构建和属性关联后,在三维场景中可以设置时间轴,对每一个时刻,根据格网的淹没水深值对三角格网的颜色和相对高程进行动态更新,并对相邻格网进行平滑过渡处理,从而实现洪水过程的三维动态推演。
为进一步提升场景的视觉效果,还可以通过设置环境光、镜面反射光和漫反射光,增加地形明暗效果、光滑以及反混淆处理,为场景精化颜色材质和纹理贴图,加入天空、白云、雾效等来更真实地模拟自然世界。
基于上述地形构建和洪水模拟推演方法,本文试验使用Visual Studio 2015开发环境基于OpenSceneGraph 3.4.0进行洪水三维动态推演功能的开发。系统包括数据层、服务层和推演应用层3个部分,如图1所示。
图1 洪水风险动态推演系统体系结构
数据层将空间数据和属性数据分开存储,将推演过程数据、淹没损失数据、溃口情况数据存储在MySQL属性数据库中,将三维地形、倾斜摄影、专题矢量数据等存储在PostgreSQL扩展PostGIS的空间数据库中;服务层一方面构建数据和地图服务,为应用层提供数据和地图访问接口,另一方面提供淹没过程的数据解算、格网信息动态构建等算法服务,为应用层提供可供可视化仿真的结果;推演应用层除了提供数据漫游、数据查询定位、空间量算等三维GIS基础功能外,重点解决洪水过程推演涉及的方案选择、溃口标识、损失统计、动态淹没和设色等功能。
图2 洪水风险动态推演系统界面
开发形成的系统界面如图2所示。其中上方工具条为洪水淹没推演、最终结果、淹没损失等功能入口;左侧区域为试验区的水系、交通、标注等矢量数据及高精度倾斜摄影数据的控制列表;中间主视图则是试验区的三维操作和洪水推演功能展示窗口。后文将对试验区的淹没过程在系统中进行模拟和分析。
图3 雄安新区南拒马河右岸网格剖分与边界条件界定
本文选取雄安新区内的主要河流南拒马河,以其右岸作为试验区,模型计算范围由京广铁路、南拒马河右堤,白沟引河右堤、白洋淀新安北堤、障水埝及瀑河堤防围成,中心位置为东经115°50′,北纬39°25′,模型计算区南北长34.2 km,东西长35.1 km,计算面积678 km2。
本次剖分采用近期的1∶10 000地形图,剖分形式采用非结构化三角形网格。在MIKE中网格的剖分结果如图3所示,共有13 757个网格单元。对剖分后的试验区进行洪水分析建模时,使用了侧向连接,使得河道水流从一维河道经过侧向连接进入了二维区域。
试验以20 a一遇洪水产生条件为例,模拟溃口发生,采用MIKE11模型和MIKE21模型进行耦合计算后,得出了在共计780 h时间区间内的网格水深变化情况。为了直观反映最终的淹没结果,从计算出的网格水深变化结果中抽取出了每个网格最终的水深值,使用ArcGIS制作了淹没水深二维结果,如图4所示,图中网格的蓝色越深表示该网格淹没水深值更大。后续部分将采用基于3DGIS的三维场景对淹没过程进行动态推演表达。
图4 雄安新区南拒马河右岸淹没水深扩散结果分布
雄安新区南拒马河右岸的洪水三维动态推演过程如图5所示,点击推演功能后弹出的控制框可以进行淹没区域、方案、颜色以及模拟步长的选择。
本次推演根据淹没计算情况,将推演过程的淹没水深按照{0,0.5,1.0,2.0,3.0}区间设置为6个不同的等级,其中淹没水深值≤0的设置为透明,其他水深值则根据深度相对三维地形进行三角网格的抬升,并根据值的大小进行着色,值越大颜色越深。
图5中的(a)、(b)、(c)、(d)分别对应不同时刻的推演中间结果,并从不同角度来描述此次推演过程。图5(a)显示了在t=60 h时刻,洪水刚开始从溃口处向外蔓延;图5(b)显示了在t=120 h时刻,主要居民区暂时还未受到洪水过程的影响;图5(c)显示了在t=180 h时刻,将地形透明后更加清楚地看到淹没范围逐渐扩大;图5(d)和图5(b)从同一视角显示了t=240 h时主要居民区的建筑物受洪水影响的淹没情况。
图5 三维环境下的雄安新区南拒马河右岸洪水动态推演过程
将图5的三维动态推演结果与图4的二维洪水风险图成果比较发现,3DGIS支持下的洪水风险三维动态推演方法可以在宏观、中观和微观多个尺度对淹没过程进行模拟和表达,满足不同研判人员对洪水灾情过程的需求。
本文总结了洪水风险的现有表达手段,研究了洪水过程在3DGIS场景中的融合和表达方法,形成了一套可用于洪水风险三维动态推演的程序框架。以雄安新区内的主要河流南拒马河右岸为例,基于MIKE11和MIKE21模型计算溃坝后的洪水过程,应用OSG技术为基础搭建三维GIS环境,并通过洪水计算得出的网格淹没水深变化情况,对三角网格的着色和高度变化进行动态表达,直观反映溃口发生后的洪水过程。为了进一步提高对洪水推演过程中受影响的建筑、农田等细化变化的认知,本文将试验区高精度倾斜摄影数据集成到三维场景中,通过洪水推演过程中淹没面在三维场景中的高度变化,更加直观高效地反映洪水动态过程和淹没损失情况。
本文的洪水过程三维动态推演方法可为洪水风险分析和决策提供辅助支持,后续进一步在三维GIS平台上进行淹没损失动态计算、应急避险转移等应用研究,充分发挥三维GIS与洪水计算成果结合的优势和扩展性。