APP下载

GIS中的通用水文模型数据结构研究

2021-11-02卢家波向小华王志伟

水资源保护 2021年5期
关键词:数据结构图层水文

卢家波,向小华,李 超,王志伟

(河海大学水文水资源学院,江苏 南京 210098)

模型作为水文研究工具的重要性已经得到广泛认可,针对水文过程的每个环节目前已经发展了大量模型。“数字流域”的目标是采用数字化手段刻画整个流域,在此基础上模拟流域水文现象、预测水文行为、揭示水文规律、最终服务于流域管理[1-2]。在现代信息技术基础上,对支撑流域水文多过程模型耦合互馈机制的数字流域体系和方法的研究,必将促进流域水文过程的研究,也能更好地促进“数字流域”这一理念的实践与完善。

由于水文模型所需要的大量信息本质上都与时间和空间相关,因此现代GIS成了水文模型资料管理、分析以及存储的最佳工具[3-4]。随着分布式水文模型的发展,GIS与水文模型的紧密集成受到关注[5-7]。理论层面上,王船海等[8]在其构建的双对象结构中引入共享体,解决水文模型与GIS对象数据交换效率低的问题。Bhatt等[9]开发出GIS与分布式水文模型耦合框架,提高模型数据集成程度。应用层面上,Bruins等[10]基于GIS建立水文模型估计古农业梯田的径流量;Rahmati等[11]提出子流域自动精确划分GIS工具;朱亮等[12]运用GIS技术研究面源污染控制方案;李兰等[13]利用DEM、土地利用等地理信息数据构建数字流域水文模型,增强了模型的实用性。水文模型和GIS结合能极大提高模型的效率和精度,因此也能够提高水文研究和决策的能力[14-17]。

水文模型和GIS耦合面临的一个最大难题是双方之间的数据传递和交换。模型的数据结构是根据模型自身的需要而设计的,与GIS的数据结构并不一致;GIS采用通用的矢量数据结构,无法适应水文模型的需求。以ArcGIS系统为例,虽然其在地理相关领域应用广泛,但其相对封闭的数据结构使之很难做到与水文模型紧密耦合,只能作为水文模型的前后处理工具[18-21]。从水文模型的角度出发,如果模型数据结构能够完全融入ArcGIS等地理信息系统软件中,使得模型和GIS完全集成,实现最高效率和最优分析方式,将会有力推动水文模型的发展和应用[22-23]。

本文的目标是实现以ArcGIS为平台的水文模型通用地理数据标准,研究以模型数据视角为核心的GIS通用数据标准,实现不同尺度和维度下的模型地理数据标准化接口,以ArcGIS平台兼容任意水文模型数据为目标,支撑模型的显示、建模、运行、分析和结果展示。

1 问题的提出

水文模型地理数据能够无缝接入GIS平台,并被有效管理是实现数字流域模型框架的首要条件。然而,由于水文模型和GIS各自的研究领域目标不同,两者之间均不能较好地适应对方的需求,存在时空特征问题和拓扑结构问题[24]。一方面,水文模型需要从反演过去到预报未来,是了解水文过程的连续时序模型,其模型地理拓扑表达因人而异,不具有标准性;而另一方面,虽然GIS具有水文模型所需的存储、显示及分析地理资料的能力,但几乎所有的GIS都不是专为时序模型设计的,多数只能用来分析静态过程而不符合水文模型的需求。

一个较复杂的水文模型地理数据常由多种类型地理单元按照一定拓扑结构组合。以子流域型水文模型为例,其地理数据就包括一定数量的多边形子流域和折线构成的河道,每个子流域包含一条河道,而子流域之间又按照上下游关系形成固定汇流顺序。流域中还存在堤线、湖库、河道地形区域等复杂地理对象,它们内部有着自身特定的拓扑关系。常规方法采用一般GIS软件中既有图层之间的组合来代表模型的地理数据,如在ArcGIS中分别采用一个面图层和一个线图层来表达子流域型水文模型的地理数据,数据之间上下游拓扑关系采用复杂的字段关联加以维护。然而,这种地理数据管理方式存在两个问题:一是水文模型的地理数据拓扑关系往往由模型编制人员按照某种方式固定下来,模型自身无法控制GIS图层;二是GIS中图形的增删将导致模型数据与GIS数据对应关系错乱,当模型复杂时维护对应关系极其困难。

2 解决方法

2.1 自定义数据结构

为实现水文模型中地形、子流域、河道、站网、湖库、堤线等地理数据的一体化,本文自定义GIS兼容的地理数据结构,实现GIS中的地理数据与模型中数据结构的一致化。首先,利用GIS对地理数据进行计算单元划分、流域水文特征提取、模型参数获取及空间分析等预处理工作,再以自定义数据结构将多图层单对象管理方式发展为单图层多对象管理方式。这种方式既处理了复杂对象的拓扑关系,实现对地理数据的操作即是对模型对象的修改,又充分利用了GIS在流域划分、空间分析等方面的优势。自定义GIS兼容的地理数据结构见图1。

图1 自定义GIS兼容的地理数据结构示意图

2.2 模型地理接口及组件设计

流域水文模型中,子流域和河道作为基本单元不可再细分,可以理解为GIS中简单的子对象;整体流域在对象的特征之外还需要包容子流域与河道,为集合对象,形成“集合-子对象”拓扑关系。可以将子对象定义为简单对象,其组件接口应具有唯一标识符、名称、地形坐标、参数获取/设置等特性和操作;集合对象除了具有简单对象的特征外,还应具有一个集合接口管理子对象;所有的对象都应该实现微软标准序列化接口方便存取。模型地理对象通用接口和组件设计见图2。

图2 模型地理对象通用接口和组件设计

2.3 数字流域模型框架体系构建

在定义通用地理数据接口后,在逻辑上具备实现GIS与模型完全集成的可能,但实现目标还需要有一个数字流域平台实现模型数据录入、模型地理数据显示、动静态计算过程渲染、结果查询与输出、通用辅助组件服务等顶层功能。以ArcGIS平台为例,由于平台没有直接支持自定义数据的显示模块,因此需要构建平台对自定义数据的显示以及渲染模块。大多数GIS平台都以图层为基本的显示单元,在分析ArcGIS平台的图层显示方法后,首先可以设计一个自定义的图层来容纳任意类型的模型地理数据,并建立地理数据渲染模块;然后将图层加入ArcGIS平台中接受平台的管理和渲染。此设计应作为数字流域模型框架的通用功能,模型编制人员采用较简单的方法即可直接复用。自定义图层及渲染器设计如图3所示。

图3 自定义图层及渲染器设计

3 数字流域平台示例

分析ArcGIS平台关于组件容纳、管理、通信控制的框架,研究能够在GIS平台下对未知多过程模型组件进行统一管理、装配、结果存储与展示的数字流域平台,并建立不从属于模型的部分通用组件,如水文站网管理组件、水文序列管理组件、自定义模型可视化渲染组件等,方便外部模型组件直接应用,最终建立支撑模型互馈机制的数字流域模型自由扩展框架。以位于浙江省建德市的寿昌江流域作为示例。

3.1 ArcGIS地理数据结构

在ArcGIS中,将该流域划分为若干子流域,并利用工具提取河道。子流域划分及河道提取结果见图4。

图4 寿昌江流域示意图

打开子流域和子河道图层属性表,可以看到该流域的地理数据结构,见图5。

(a) 子流域属性表

子流域和子河道都采用下游标识符NextDownID构建拓扑关系,并在子河道属性表中添加流域标识符GridID记录该子河道所属流域。ArcGIS地理数据管理方式存在两个问题:一是水文模型的地理数据拓扑关系按照字段关联方式固定下来,模型自身无法控制GIS图层;二是GIS中图形的增删将导致模型数据与GIS数据对应关系错乱,当模型复杂时维护对应关系极其困难。

3.2 数字流域水文模型数据结构

在水文模型中,通常将一个大流域划分成多个子流域,分块计算出流过程再汇总。为了满足数字流域的构建需求,以面向对象的思想,将ArcGIS地理数据结构转化为数字流域水文模型数据结构,把子流域内地形、河道、站网等数据作为一个整体对象,方便水文建模和数据管理,有效解决GIS与水文模型耦合中存在的问题。水文模型数据结构见图6。

图6 数字流域水文模型数据结构

4 结 语

为实现数字流域体系下的流域综合过程模拟,针对GIS与水文模型耦合存在的时空特征和拓扑关系不相匹配这两个具体问题,提出了自定义GIS兼容的地理数据结构,通过分析目前水文、水动力、地下水等模型的地理数据结构,提炼了各模型内部地理数据之间的关联关系和拓扑关系,探讨了采用软件工程中的组件“包容”“聚合”等技术构建“集合-子对象”包容关系的模型地理数据表达方法,结合ArcGIS组件框架抽象出模型地理对象接口,可实现以ArcGIS为平台的水文模型通用地理数据标准。

猜你喜欢

数据结构图层水文
继往开来 守正创新——河北省水文工程地质勘查院
数据结构线上线下混合教学模式探讨
继往开来 守正创新——河北省水文工程地质勘查院
为《飞舞的空竹龙》加动感
水文
水文水资源管理
为什么会有“数据结构”?
解密照片合成利器图层混合模式
高职高专数据结构教学改革探讨
用Photoshop图层技术制作精美邮票