纪 传 波,周 建 中,冯 快 乐,张 余 龙
(1.华中科技大学 土木与水利工程学院,湖北 武汉 430074; 2.数字流域科学与技术湖北省重点实验室,湖北 武汉 430074)
“数字流域”是由“数字地球”结合水文流域的概念衍生提出的,是水利管理现代化的一个重要组成部分,涉及到流域水文地理信息的查询、显示和多媒体输出[1]。其研究内容是综合处理流域的空间、地理、气象、水文和历史信息,应用模拟、显示等技术手段,描述流域过去、现在和未来的各种行为,并为流域管理提供决策支持[2]。
发达国家“数字地球”研究起步相对较早,随着计算机技术的逐步发展,基本实现了客户端智能应用上的数字化、建模、系统仿真与虚拟现实。尽管如此,由于在不同国家和地区的水系河流差异性很大,且水文水资源数据完整性也不尽完善,流域水资源的现代化管理仍然没有被系统化的提出。21世纪初,张勇传院士在“数字地球”研究的基础上,以水文流域为切入点,提出了“数字流域”概念[3]。在国内外研究学者不懈努力下,“数字流域”理论得到了长足发展,尤其是近年来水利信息化的快速推进,“互联网+”理念也在不断冲击水利行业,无疑更加需要将计算机新技术应用到数字流域的建设中来。
随着遥感(RS)、地理信息系统(GIS)及全球定位系统(GPS)[4]三项技术的日益融合、完善和成熟,流域信息可以被有效且较完整地提取,再通过数据模拟计算,可以进一步对水情灾情进行仿真推演,以达到及时处理、及时管理的目的[5-8]。但传统的数字流域GIS应用系统可扩展性较差、难以跨平台使用,使得流域水资源管理中专业化仿真需求无法得到有效满足并投入实际使用。基于高速计算机网络的高精度、高仿真度流域仿真平台则成为了流域水资源管理的重要技术支撑,其支持跨地域、跨终端访问的互联特性使其在数字流域领域得到了广泛的应用。然而,现有WebGIS仿真技术难以对多元且海量的地理信息及系统应用数据进行合理管理,无法发挥GIS结合专业化业务的重要仿真作用。为此,本文综合水动力学、计算机图形学、计算机网络技术以及多媒体技术等多项技术,在客户端层面上优化流域仿真模式,设计系统架构,搭建了基于轻量级WebGIS技术的流域仿真平台,实现了“数字流域”功能的高效呈现。本文重点围绕水库与河道模拟两个流域仿真环节的模型建立与分析,以金沙江下游-三峡梯级水库为研究对象,结合WebGIS技术对其相应的水库及河道模拟仿真两大模块的业务需求进行设计与实现,探索并提出了计算机技术在水利信息化领域应用中流域虚拟仿真的多重应用场景功能方案,实现了库群调度过程中河道沿程水面线和库区淹没实景的三维实时重现,构建了大规模、高集成度的数字化流域仿真平台体系。
WebGIS技术,顾名思义,是GIS技术在Web端的应用,即网络地理信息系统。它以计算机网络为载体,整合传统GIS数据和方法的技术,实现在Web客户端的地理信息查询、展示、编辑、管理与制图输出等工作任务[9-10],其基本原理如图1所示。
图1 WebGIS原理框架Fig.1 Principle architecture of WebGIS
WebGIS的数据及服务通信是基于Internet的,极大地方便了大流域范围的信息传输及分布式应用,避免了以C/S架构执行客户端和服务端之间GIS交互的不便[11]。一方面随着计算机前端技术的发展,以JavaScript语言为核心的WebGL编程模式使得二维屏幕能够展示丰富图形图像,随之涌现出了如Three.js、Cesium等优秀开源的三维组件库。Cesium将瓦片式的卫星地图及地形数据作为支撑,实现几何图形、建筑模型、区域渲染等信息的动态展示,在WebGIS中可以快速地构建三维地球并实现基本功能。另一方面GIS与WebGL技术的结合,显著提升了水利领域虚拟仿真能力。然而,由于GIS信息的数据海量性与多维异构性,以及客户端与Web服务器间网络带宽的限制,传统的WebGIS平台难以组建丰富的GIS基础功能并合理构建流域仿真模式,且仿真渲染效率不高,系统难以管理维护。为此,以计算机三维地球仿真技术为核心,采用Cesium丰富的API(应用程序接口)在客户端搭建轻量级WebGIS架构,直接读取地理数据并快速渲染,同时将GIS数据与业务数据分布式存储、多元化管理,实现流域水资源WebGIS系统三维仿真。图2给出了流域仿真中涉及到的Cesium相关技术元素及相应渲染功能要求,该结构基本涵盖仿真平台的实现方式。该平台的主要技术流程为:以瓦片地图分布式贴图及地形高程构建三维地球基础,通过在场景内加入几何、实体、模型,再加入时间控制以实现动画和渲染,达到三维场景虚拟仿真目的。此外,通过客户端交互还可进行数据的实时显示,实现信息呈现方式的多元化。
图2 Cesium视图层技术结构Fig.2 View layer technology structure of Cesium
大型流域往往涵盖大量的控制性水库形成水库群,使得径流失去了原有的天然特性,改变了时空分布及水文要素规律。水库模拟包括水文过程还原还现、库群调度规则提取与库群模拟调度等模块,前两者业务流程可简单通过图表展示实现,在此不予详述。库群模拟调度模型按照从上游到下游的方式,逐级模拟上游各个水库的运行状态,再得到子流域出口断面的流量过程,不仅可为河道模拟模型及库群优化调度模型提供边界输入,还可为分析上游水库调蓄对下游重点水库的影响提供参考。模拟模型的流程图如图3所示。
图3 水库群调度模拟流程图Fig.3 Flow chart of reservoir group dispatch simulation
模拟过程需要的资料包括流域及水系拓扑图、各水库地理信息与运行参数、各水库历史水文数据等,经过模拟演算得到不同调度周期和尺度下水库入出库流量过程,并虚拟再现其场景。
在天然流域中,河水流动时空变化随机,不易实现大流域范围内的河道流态监测与水资源管理。目前发展成熟的一维水动力数值模拟方法,可用于建立河道洪水演进模型,在一定的精度要求前提下,略去了复杂详细的河道地形及水文资料,能够有效地模拟径流过程以及洪水传播等水文变化,为流域水资源管理的进一步分析提供了基础。
一维水动力数学模型以断面积分的连续性方程、断面平均的时均Navier-Stokes方程(即圣维南方程)为基础,如式(1)和(2)所示。
(1)
(2)
式中:Q为流量,q为侧向入流,A为过水面积,η为水位,R为水力半径,n为曼宁系数,g为重力加速度,x为河道里程坐标,t为时间。基于以上模型,针对研究流域枝状河网,建立干流河段与支流河道的连接关系,对模型求解得到各河道沿程水面线及各断面水位流量过程。
由以上流程可知,河道模拟过程需要的主要资料包括流域及水系拓扑图、河流沿程断面资料、河道地形资料、区间河网矢量数据、区间径流水文数据、水文站与水电站水文数据等,经过模拟演算得到河道沿程水位及流量数据。
由2.1节与本节模型流程与分析资料,得到如表1所列的水库及河道仿真设计资料汇总。
表1 流域仿真资料汇总Tab.1 Watershed simulation data summary
Cesium基本目标为实现三维地球渲染,将卫星遥感影像文件发布为地图服务后,直接加载到地球场景中使用,大视野的流域信息则以影像为载体进行展示。根据前述相关模型建立流程与资料,在研究流域实景影像的基础上,对流域水文数据进行全范围展示,并结合人机交互执行相关业务流程,通过图表、GIS要素、拓扑、动画渲染等模式对水库与河道模拟仿真方法进行设计。
流域范围内,针对水资源管理与流域仿真,一般涵盖的基本信息有:流域范围、水系河流、水电站、水文站、水位站等,在WebGIS平台下,各部分均可控制显示与否,也可在不同的影像缩放级别下控制显示效果,且能够针对用户需求更新数据(包括地理位置及其属性)并实时同步存储,这些无疑是流域基础信息管理的重要组成部分。在以上基本的流域地理要素基础上,需辅以其相关属性来丰富功能与展示效果,提供给用户直观的实时统计信息。其中流域范围加入流域信息标签,如流域名称、流域气象情况、流域范围、涵盖省份等;河流加入河流名、河流长度、河流级别等;站点加入名称、流量、水位等信息。
此外,充分利用Cesium交互功能,结合Web开发中的图表展示,还可集成更多的流域直观信息,如流域各站点数据统计、流域水雨情过程分析等。经过影像、拓扑图层、数据标签、交互操作、基本图表等内容的整合叠加,实现流域全信息沉浸式再现及流域模拟仿真全流程展示。与传统GIS仿真应用不同,流域仿真轻量级WebGIS平台基础数据管理与场景渲染的程序执行机制如下:① 地理数据(包括地理要素Shp数据等)以文件形式存储,客户端对Shp数据直接解析并渲染到视图;② 客户端调用业务数据服务,获取流域水文信息并展示;③ 用户基于仿真视图编辑更改地理要素,客户端解析修改并更新Shp数据。
与3.1节中全信息平台相类似,对其加入丰富的交互操作之后,则可进行水库模拟仿真的流程设计。由于水库模拟主要针对研究范围内的各上游水库,于是可通过操作指定子流域、径流区间以及模拟水库,添加后通过颜色或形态变化予以区分。模拟过程中,对相应的径流数据进行实时更新展示,指示模拟进程与效果。例如,对金沙江中游梯级水库群进行模拟时,点选金沙江中游流域范围,视角跳转,流域内水库点(梨园、阿海、金安桥、龙开口、鲁地拉、观音岩)闪烁显示,选择模拟水库后点高亮并弹出相关参数以供计算。模拟计算完成后,在模拟水库位置三维展示其模拟运行结果,进而实现对下游水库运行影响的分析。水库模拟仿真架构流程如图4所示。
图4 水库模拟仿真流程Fig.4 Reservoir simulation process
模拟完成后,还可对水库进行三维展示,标识其模拟结果(即出库流量)信息。此流程涉及到近景视图的聚焦、三维模型加载与水域渲染等技术。其中建筑物的加载是轻量级WebGIS在三维仿真中比较重要的一环,通过影像及地形数据的加载能够基本实现实景三维效果。尤其是针对三维建筑物,采用Cesium提供的模型加载方案,不仅可以将流域水工建筑物三维模型数据转换为GLTF或BGLTF数据后使用,也可以加载具有Json描述的模型数据文件。
对建筑物模型的加载,关键在于调整模型的相对大小以及其坐标位置。以三峡大坝为例,需精准地将三维模型加载到对应位置并与卫星影像重合,同时契合地形高程。模型加载完成后,为增加其渲染效果,还需对大坝上下游水域按不同流速进行渲染。效果如图5所示。
图5 水库近景情景模拟效果Fig.5 Reservoir close scene simulation renderings
河道仿真模拟的基础为水动力学建模求解,依据河道仿真模拟展示需求,建模场景包括河道控制断面地理坐标、剖面形状、水位及流量等重要信息。河道模拟仿真的构建围绕以上数据信息展开,形成模拟仿真计算、河道断面GIS交互、断面水位动态模拟、沿程水面线动态模拟等主要模拟场景。仿真流程设计如图6所示。
图6 河道模拟仿真架构Fig.6 River simulation architecture
在河道断面GIS交互场景中数据量较大,一般将其数据信息存于数据库中,由平台向后台服务发起请求以获得使用。断面水位动态模拟是在断面剖面形状的基础上,以其剖面二维坐标点绘制断面图,再辅以实时水位绘制填充效果,跟随模拟时间的变化实时变化水位值,实现断面水位涨落的效果。沿程水面线动态模拟原理类似于断面水位模拟,不同的是断面形状并非获取所有断面全部高程数据,而是获取沿程所有断面的高程最低点来构建沿程断面纵切剖面形状图以模拟河床的二维效果,再绘制各个断面相应水位的连线序列,实现沿程水面线效果。同时,模拟图内还可根据控制断面点号标注主要站点信息、根据水库特征水位或其他信息标注特征线等。断面水位动态模拟效果如图7所示,沿程水面线模拟效果如图8所示。
图7 断面水位动态模拟效果Fig.7 Dynamic simulation effect of section water level
图8 沿程水面线模拟效果Fig.8 Simulation effect of water surface line along river
在水库和河道模拟仿真设计基础上,本文设计了河道洪水演进和库区淹没分析两个专业化仿真业务,并将其分体系集成为流域仿真功能全信息平台,实现了流域仿真中的水文水资源信息管理和水库、河道模拟仿真模型计算功能。用户可在客户端GIS环境中流畅地浏览和查询调度运行和流域水情灾情仿真模拟结果。平台架构如图9所示。
图9 流域仿真全信息平台架构示意Fig.9 Architecture of full information platform in river basin simulation
配合业务设计架构,平台代码组织结构如图10所示。
图10 流域仿真平台程序组织结构Fig.10 Program organization structure of river basin simulation platform
结合水库模拟和河道模拟结果,可进一步进行河道洪水传播与库区淹没分析等专业应用场景的构建,前者主要模拟展示场次洪水在全流域范围内的传播过程及流域各水库调度过程,后者以移民线作为参考,实景分析流域模拟河道的淹没情况并提供主要站点的预警信息。二者的配合使用,能够有效地模拟流域范围内洪水传播、库群调度过程、库区淹没等实际应用情景,为水库调度运行过程中水情、灾情处置提供指导。
河道洪水演进过程模拟是结合水库模拟模型和河道模拟模型,将流域内某一场次洪水在关键河道(一般为研究河段)的传播过程进行动态模拟,并同步展示传播过程中水库调度过程、沿程主要断面水位和流量信息。模拟流程为:① 加载场次洪水模拟结果方案,将全河段干支流的流量过程动态显示,以不同的颜色区分流量的大小,并通过效果图显示关键水库的水位及出入库流量过程;② 点击河道上关注点,展示该河道断面的流量信息,并以图形展示其模拟时段流量过程。模拟效果如图11所示,河道颜色深浅表示流量大小,且选取了断面号为45和132两个断面作为观测点查看其流量过程。
图11 洪水演进场景效果Fig.11 Rendering of flood evolution scene
其中,河道由模拟河段所有断面的区域面积构成,使用ArcGIS工具处理,主要流程如下:
(1) 将断面坐标数据导入到ArcMap中,生成所有断面左右岸点要素Shp数据;
(2) 依次分别连接所有断面左右岸的点,生成断面线Shp数据;
(3) 依据河流线图层与卫星影像底图,手动勾绘概化河道左右岸线要素,并将研究河段首尾左右岸连接,使得河段能够形成闭合面要素;
(4) 将所有断面线要素延伸至概化河道左右岸边界,一一生成断面区域封闭线要素;
(5) 线要素转换为面要素,生成所有断面区域面Shp数据;
(6) 依次检查所有断面属性中编号是否正确,若有误则修正。
库区淹没分析主要针对不同河道模拟边界输入情景、水库坝前不同水位及上游来水条件下,库区河道沿程淹没情况,并与沿程移民迁移线进行对比分析,提供类似于河道模拟功能中沿程水面线查看的方式和水情预警,用于专业淹没场景应用分析。模拟流程为:① 加载库区全河道断面水位数据,根据水位高度绘制断面区域水域;② 根据关键站点断面位置求取水位与移民线差值,生成水位示意标签;③ 依照安全水位限度要求,更新所有站点标签颜色,用不同颜色区分水情风险。
其中,河道断面Shp数据处理与4.1节处理流程基本类似,不同之处在于需进一步将各个断面区域的边界连接点只保留四边形4个顶点,并对边界上下游关系进行调整,便于水域渲染时进行区域绘制,调整算法流程如图12所示。水域渲染过程主要应用到Cesium内置的Primitive几何对象,设置水纹波动幅度、波动频率以及波纹数量为纹理动态地添加时钟参数,以实现水面动态波纹效果。此外,由于移民线数据通常只提供库尾沿程部分站点位置的移民线数据值,因此移民线的Shp数据需通过地形等高线进行提取,提取流程如图13所示。当然,该提取方法存在一定误差,在各站点等高线连接环节产生,由已知站点间距决定误差大小。且在数据加载时,为避免折点过多降低加载效率以及渲染性能,采取了每隔10个点取一个数据的方式进行处理。实践证明,对于长河道而言,上述二者对仿真效果的影响可忽略不计。
全河段场景模拟效果如图14所示,点击站点标签,可以缩放到当前站点视角,能够细节化该站淹没场景,如图15所示。
图14 库区淹没全河段概览Fig.14 Overview of inundation of entire reach in the reservoir area
图15 库区淹没分析站点近景图Fig.15 The station close-up view in the reservoir area inundation analysis
本文以流域仿真中水库模拟、河道模拟两个环节作为核心业务,提出了轻量级WebGIS流域仿真平台技术方案,解决了Web端仿真系统对庞杂GIS空间数据加载调用和管理维护的难题,合理地设计了流域仿真平台的功能体系以及洪水演进模拟、库区淹没分析两个专业功能场景,搭建了业务完善且性能突出的客户端流域仿真平台架构,并同步进行了编码实现及仿真逻辑优化,显著提高了系统响应性能和用户交互体验。设计模式已经集成到长江三峡梯调中心“金沙江下游-三峡梯级电站水资源管理决策支持系统”并部署应用,通过专业且直观的GIS操作体系页面,为流域仿真的功能设计、架构体系、技术实现各个环节提供了参考。