基于云计算和 WebGIS 的河口水环境决策支持系统

2018-09-05 09:41方艺辉
水利信息化 2018年4期
关键词:决策支持系统河口盐度

方艺辉

(1. 福建商学院信息管理工程系,福建 福州 350012;2. 福建师范大学地理科学院,福建 福州 350007)

0 引言

河口水环境决策支持系统(Estuary Water Environment Decision Support System, EWEDSS)是将 DSS 技术引入到河口水环境规划、管理和决策等工作中,模拟河口污染物扩散和变化趋势,对河口区域内的生态环境进行科学评价,并提供河口水环境预警和决策支持,以实现对河口水环境的有效管理和保护[1-2]。针对感潮河口水环境管理,不少学者建立了相应的水环境模型,并成功地应用于所研究的河口[3-7]。由于水环境模型自身机制复杂、参数繁多、专业性强,非专业人士往往难以胜任;而且水环境模型缺乏直观友好的图形界面和对水环境数据空间分析、查询和可视化等方面的支持,不能充分发挥效能,很难实现有效的决策支持。通过云计算和 WebGIS 等技术搭建决策支持系统,强化模型的模拟和预报能力,提供友好的操作界面,满足系统快速响应等要求,让非专业的一般人员和决策者都能够轻松使用,极大地提高了水环境模型的应用价值。

一些学者对此进行了相关的研究工作。RAO等[8]采用 ArcIMS 和 SWAT 模型构建基于 Web 的决策支持原型系统,应用于俄克拉荷马的小流域(Panhandle),模拟泥沙和营养物质的变化。Zhang 等[9]提出了一种通过集成开源的 WebGIS(Geoserver)和云计算平台(Hadoop)、SWAT 模型构建流域管理决策系统的方案,提供准实时决策支持。万鲁河等[10]探讨了在云计算服务模式下,以地理信息系统等关键技术为支撑,构建了可对水环境实现综合管理的信息系统。陈洋波等[11]基于云计算,以流域洪水预报模型为系统的模型,设计并开发了包含模型参数自动优选、实时流域洪水预报等功能的云计算服务平台。尹炜靖等[12]提出了基于 Hadoop 的云计算平台,利用云计算平台实现过程中服务器虚拟化、大规模异构水文数据存储及元数据管理等关键性问题。相关研究主要以流域为研究尺度,对感潮河口水环境决策支持系统的研究较为少见。本研究将在前期研发的二维水动力水质和河口盐度预报等模型[13-14]的基础上,结合云计算、WebGIS 等计算机技术,采用 B/S 三层模式,构建河口水环境管理决策支持系统,应用于闽江河口水环境管理。

1 系统设计

1.1 体系结构设计

河口水环境决策支持系统体系结构如图 1 所示,系统采用基于 B/S 模式三层体系结构,包括数据服务层、应用服务层和用户表示层。数据服务层存储和管理了系统所使用的空间和属性数据,并分别通过 ArcSDE 和 ADO.net 实现数据访问。应用服务层包括地图和水环境模型服务 2 个部分,地图服务是以 ArcGIS Server 创建并发布的;水环境模型是整个系统的核心,包含了水动力、水量、水质动态分析和河口盐度预报等专业的数学模型,并在此基础上通过 Web Service 对其进行封装,以接口的方式对外提供决专业的决策支持服务。用户表示层是用户直接操作的界面,通过访问应用服务层的服务就可以方便地在客户端的浏览器上进行辅助决策。云计算服务平台是系统建设的硬件基础,利用中心控制单元管理所有的网络设备和计算节点,采用虚拟化的方式创建的。根据用户(或任务)的请求和硬件的使用情况,科学合理地对硬件资源进行调度,以实现资源利用率的最大化。

图 1 决策支持系统体系结构图

1.2 WebGIS 地图服务

WebGIS 是在 Internet/ Intranet 网络环境中获取、存储、处理、分析和显示地理信息的空间信息系统。通过互联网上提供地理信息,用户可以方便地访问地图服务等功能。WebGIS 具有操作简单、扩展方便、平台独立等优点,受到广泛应用[15-16]。利用 WebGIS 技术可以实现地图服务发布、地图基本操作、空间/属性数据查询和空间分析等功能,为实现河口水环境决策支持平台提供了有力的技术支撑。

河口水环境决策支持系统以 ArcGIS Server 为WebGIS 地图服务开发平台。 WebGIS 地图服务执行流程如图 2 所示: 1)客户端向 WebGIS 服务器发出地图服务的请求; 2)WebGIS 服务器在接收到请求后,对请求进行解析,并生成相应的任务交给服务对象管理器(Server Object Manager,SOM);3)SOM 在接收到任务后,分配其中一个服务对象容器(Server Object Container,SOC)执行该任务; 4)SOC 通过空间数据引擎(ArcSDE)访问空间数据服务器获取专题数据,对专题数据执行相应的处理,并将结果最终反馈给客户端。

图 2 基于 ArcGIS Server 的地图服务流程图

2 系统功能实现

2.1 河口水环境地图服务

河口水环境决策支持平台建立在 ArcGIS Server架构的基础上,实现以下常用地图服务功能:

1)河口水环境专题图发布功能。用户通过客户端浏览器可以轻松访问专题图。

2)图层控制功能。打开/关闭图层,调整图层显示顺序,图层渲染等功能。

3)视图操作和查询功能。放大、缩小、漫游、移动、全幅等视图操作,实现断面/采样点水位、断面流速、采样点水质、距离测量等查询功能。

4)空间分析功能。污染源缓冲、叠加分析等功能。

2.2 流场浓度场动态模拟

水动力水质模型计算输出结果是具体的计算单元(网格节点或断面)上的计算数值,通过一系列的插值、转换运算,形成不同时刻的流场和浓度场。传统的做法是将每一时刻的流场或浓度场通过图像编程技术生成一张与之对应的静态图片,将所有时刻所生成的静态图片通过动画视频技术生成可视动画,并以一定的时间间隔顺序播放,从而形成模型输出成果的动态模拟。但是,这样的动画视频播放方式缺乏与 GIS 数据的交互操作功能,不能实时进行空间数据分析与模型数据查询。结合 GIS 的图层管理功能,以计算网格图层为基础,通过读取每一时刻的流场或浓度场数据,动态地生成一个可交互的 GIS 图层,保存在缓冲区中。由于流场或浓度场模拟结果被保存到 GIS 图层中,可以使用ArcGIS Server 实现数据的交互查询,很好地解决模型计算数据与 GIS 实时交互操作难题,实现真正意义上的动态模拟。

流场和浓度场模拟结果都是按小时时间顺序逐个保存为单独文件,采用欧拉法对流场浓度场进行表达。欧拉法把运动要素表示为时间和空间坐标的连续函数。对于二维浅水水动力水质模型,流场和浓度场都可以表示为 s = f(t,x,y),

式中:t 为时间坐标;x 为横轴坐标;y 为纵轴坐标;s 为质点的流场或浓度场模拟结果。流场与浓度场动态模拟流程基本相同,以浓度场动态模拟为例,如图 3 所示。

动态模拟流程如下:

1)加载水动力水质模型的计算网格面图层,将面要素的 label 点设置为网格中各个单元格质点;

2)根据时间轴 t,以文件流方式逐个读取浓度场文件;

3)根据横坐标 x 逐行扫描 t 时刻浓度场文件;

4)根据纵坐标 y 逐列扫描 t 时刻浓度场文件中的 x 行,读取相应单元格的浓度值;

5)按照不同的浓度值范围分成不同的等级,每一浓度等级给予不同的颜色等级来表达;

6)根据单元格浓度值定级;

7)若本列处理结束,则转至 8),否则,转至 4);

8)若本列处理结束,则转至 9),否则,转至 3);

9)渲染图层,生成第 t 时刻浓度场动态图层;

10)若时间序列处理结束,则转至 11);否则,转至 2);

图 3 浓度场动态模拟流程图

11)浏览时间序列浓度场动态图层,交互查询。

2.3 河口盐度预报模型构建

准确的河口盐度预报有效地抑制因咸潮入侵而产生的不利后果,是防治咸潮入侵的有效非工程措施。系统集成了基于遗传支持向量机河口盐度预报模型,提供了盐度预报服务。文献 [13] 对基于遗传支持向量机河口盐度预报模型进行了详细的论述,本文只作简要概述,并对模型实现进一步补充。支持向量机(Support Vector Machine,SVM)具有泛化性能好等优点,但模型参数选择对模型计算结果具有很大的影响。传统参数选择方法在效率和计算准确性等方面往往不尽如人意,而且需要一定的先验知识。遗传算法(Genetic Algorithm,GA)通过复制、选择、交叉和变异等操作实现种群的不断进化,最终产生最优的染色体。结合遗传算法全局搜索能力强的优势,对支持向量机的参数进行寻优,构造基于遗传支持向量机耦合模型。通过相关性分析,选取高潮位、径流量和前期盐度作为影响盐度变化的主要因素。盐度对径流和潮流的响应存在一定的时间间隔,具有相对滞后性。以径流量、高潮位和前期盐度 3 个方面在时间上的不同组合,经过反复实验比较,确定了盐度变化的主要影响因子,并作为耦合模型的输入向量。最终,构建了基于遗传支持向量机河口盐度预报模型。

河口盐度预报模型是基于 C#.net 2010 平台与开源软件 LIBSVM 工具箱,在 C#.net 2010 平台中调用 LIBSVM 下的动态链接库接口,引用命名空间,采用面向对象技术编程。LIBSVM 工具箱是台湾大学林智仁教授等研发的简单实用的 SVM 模型分类与预测软件包。遗传算法采用 C# 语言,定义类geneticAlgorithm 对算法进行实现,定义如下:

public class geneticAlgorithm

{

private int POPSIZE; 种群规模

private int MAXGENS; 最大进化代数

private double PXOVER; 交叉系数

private double PMUTATION; 变异系数

public void InitPopulation (int tempPOPSIZE,int tempMAXGENS,

double tempPXOVER, double tempPMUTATION,string tempReaderPath)

* 功能:初始化种群

* 参数:种群规模、迭代次数、种群交叉系数、种群变异系数、窗口句柄

* 返回值:无

public void PopulationSelect ( )

* 功能:遗传算子—选择操作(采用轮盘赌方法选择适应度较高个体)

* 参数:无

* 返回值:无

...

}

在定义类 geneticAlgorithm 时,采用 Thread 类实例化单线程,每个线程代表 1 个染色体。为了提高遗传算法收敛的速度,引入多线程技术,采用线程池用于构造多线程,将构造好的染色体线程置于线程池中,由线程池负责调度管理,实现多线程并行运行,实例如下:

for (int i = 0; i < intThreadCount; i ++)

{

Chrosome chrs = new Chrosome ( ); //实例化染色体对象

ThreadPool.QueueUserWorkItem (chrs.Evolution( ), i ); //创建染色体线程添加到线程池

}

3 系统运行结果

近年来,由于人为活动的剧烈干扰,闽江下游河床严重下切,改变了河道的水动力水质特征。再加上城市扩张,居民排放的生活污水不断增加,闽江河口水环境面临很大压力。将河口决策支持平台应用于闽江河口,搭建闽江河口决策支持系统,为闽江河口的水环境管理提供决策支持。

系统运行主界面包括图层管理器、功能面板和地图窗口 3 个部分。系统提供了通用的 WebGIS 服务功能,如视图管理(地图缩放、地图漫游、全幅等)、图层控制(打开/关闭图层、图层渲染等)、查询分析(空间、属性查询等)功能;还提供了专用的河口水环境管理功能,如断面水位流速查询、采样点水质查询、河口盐度预报、水动力水质模拟和流场浓度场动态模拟等功能。

系统根据水动力水质模拟结果,通过读取每一时刻的流场(浓度场)数据,动态地生成一个可交互的 GIS 图层。用户可以选择浏览任一时刻的流场(浓度场)图层,也可以通过 GIS 工具实现与图层的交互操作。图 4 为流场浓度场动态模拟运行结果。流场(水位和流速)模拟结果较好,平均误差均 < 10%,浓度场(COD 和氨氮)模拟结果平均误差为 11%~24%。用户在选择盐度影响因子文件、盐度类型、预报站点后,实现盐度预报,图 5 为盐度预报运行结果。盐度预报模型计算结果平均误差在 27% 以内,基本上能满足实际应用需求。

4 云计算性能分析

4.1 方案设计

为了对云计算性能进行分析,以基于遗传支持向量机河口盐度预报模型为例,分析在遗传算法不同种群规模和迭代次数条件下,模型的率定时间。

图 4 流场浓度场动态模拟

图 5 河口盐度预报

种群规模表示并行计算进程的数量,种群规模越大,所需的并行计算资源越多。迭代次数表示种群进化的次数,迭代次数越大,所需的串行计算资源也越多。种群规模设置为 100 和 1000个,迭代次数设置为 100,500 和 1000次。运行环境为 PC 机和云计算服务器,硬件主要配置如表 1 所示。

4.2 性能分析

表 1 PC 机和云计算服务器硬件配置

如表 2 所示,将基于遗传支持向量机河口盐度预报模型对应的不同方案在 PC 机和云计算服务器的计算时间进行对比。从表中可以看出,情景 A 的3 种方案种群都是 100 个,随着迭代次数的增加,PC 和云的计算时间大致呈线性增加的趋势,并行计算加速比基本保持稳定。情景 B 与 A 特征基本相同,这 3 种方案并行计算加速比也是基本稳定的。原因在于情景 A 和 B 的 3 种方案,种群规模是一样的(100 或 1000个),迭代次数的增加只是意味着串行计算量增大,但并行计算量并没有变化,所以并行计算加速比保持基本稳定,云计算服务器的并行计算优势并没有体现出来。而另一方面,从情景 A到情景 B,种群规模从 100 个增大到 1000个,并行计算量增大,并行计算加速比显著提升,云计算服务器并行计算的优势得到有效的发挥。实验结果表明,云计算服务器对模型串行计算速度提升效果不大,并行计算速度提升效果显著。因而,在遗传支持向量机河口盐度预报模型中,考虑到云计算服务器突出的并行计算性能,适当地增大种群规模,有利于提升遗传算法对支持向量机参数的优化速度。

表 2 云计算性能分析

5 结语

1)结合云计算、WebGIS 等先进计算机技术,采用基于 B/S 三层架构开发模式,集成水动力水质和河口盐度预报模型,成功地构建了河口水环境决策支持系统。系统具备了通用的 WebGIS 服务功能,同时提供了河口盐度预报、流场浓度场动态模拟等专业功能。

2)PC 机和云计算服务器的性能对比分析结果表明,云计算服务器对模型串行计算速度提升效果不大,对并行计算速度提升效果显著。对于基于遗传支持向量机河口盐度预报模型,适当地增大种群规模,有利于提升遗传算法对支持向量机参数的优化速度。

3)系统简化了繁杂的专业模型操作,提供了直观的图形操作界面,强化了模型的模拟和预报能力,为闽江水务管理部门提供决策支持,可进一步推广应用于其他河口的水环境管理,也可以为其他环境管理领域的决策支持系统提供借鉴。

猜你喜欢
决策支持系统河口盐度
护理临床决策支持系统的理论基础
面向知识转化的临床决策支持系统关键技术研究
临床决策支持系统应用于呼吸疾病的现状概述
电务维修决策支持系统研究
盐度和pH对细角螺耗氧率和排氨率的影响
他们为什么选择河口
河口,我们的家
特殊的河口水
河口
盐度胁迫对入侵生物福寿螺的急性毒性效应