基于GIS的西藏水利工程信息管理系统研发*
2023-10-07陈翔宇郭永刚
陈翔宇 郭永刚
西藏农牧学院水利土木工程学院,西藏 林芝 860000
截至2018 年底,西藏已经建成水库约为112 座,总库容达到约34 亿立方米,且大型水库就达到了七座。面对如此数量众多的水利工程,西藏还在沿用传统的数据管理系统,方式落后,效率低下,甚至有些水库处于偏远地区,出现无人值守的情况。这种方式不仅不能满足水利工程日常的运行维护,而且不利于行政主管部门对西藏中小型水库的管理。同时自治区负责信息管理的技术人员数量有限、对水利工程业务了解不足,尤其缺乏信息管理专业人员,这就使得安全检测分析、预报调度方案工作开展变得困难,进而导致相关业务系统建成之后不能有效的发挥其作用[1]。目前,自治区水利工程的基本监测设施布置还不够完善,只有部分水利工程布设了自动化监测设备,很多偏远地区甚至连基本的监测设施都没有布置,这就造成了信息来源不透彻;自治区部分水库虽然已经建立信息化,但仍处于分专业,单机管理状态,各水利工程分散建设,通用性、扩展性差,缺乏多源信息的有效融合,这就造成了信息孤岛,各分级部分批次单独工作,互联互通不广泛;此外,大部分水利工程监测数据无法及时处理分析,工程安全状态的实时评价工作也就无法及时开展,使得安全预警工作变得极为困难[2]。
针对西藏水利工程基本信息的管理、数据共享、查询和统计分析的需求,本文基于C/S 架构建立了西藏水利工程信息管理系统。利用GIS二次开发技术的优势,将西藏水库信息以图层的形式显示出来,并且在图层上用点要素标注水库的具体位置;利用Chart将西藏水利建设概况以图表的形式直观的显示出来;并且基于装箱拆箱的思想,将西藏各水利部门分管的水利枢纽信息以集中和拆分的形式进行信息管理,提升系统的综合集成能力,分级水利部门又各自独立,更加科学地为水利枢纽调度管理提供统一、高效、便捷的远程管理平台[3];最后,利用完备且强大的数据支撑,结合机器学习为水利工程灾后的损失做出精确评估和决策。
1 系统功能分析与关键技术
1.1 系统功能分析
该系统主要有信息管理、图层信息、信息统计、评估决策和用户管理等功能[4]。其中信息管理功能主要是实现对水库基本信息的增删改查等功能,并且能够将水库信息以Excel 的形式导出到本地存储;图层信息功能主要是利用ArcGIS Engine 在系统中对图层进行二次开发,能根据水利工程的经纬度获取其具体位置,并以图层的形式存储其基本水文信息;信息统计功能主要是将西藏自治区历年水库工程建设概况、投资建设概况以Chart 的形式展现给用户;评估决策功能主要是根据数据库大量的数据支撑,通过散点图将其数据可视化呈现各用户,利用线性回归等方法为水利工程进行灾后损失评估,并对未来的建设与维护做出决策;系统管理功能主要是将用户分为不同的等级,不同等级的用户获取不同的操作权限;具体功能结构如图1所示。
图1 系统总体功能结构图
1.2 开发关键技术
1.2.1 Net Framework 框架。Framework 框架主要使用C#进行编写,其包含的WinForm 可视化窗体设计器是用于桌面应用开发的UI框架,使用Windows窗体可以开发制作出易于部署和更新的智能客户端应用,在脱机状态下或者连接到Internet 网络都可以使用[5]。其内置的CLR 托管负责分配和释放内存并处理对象生成期,不像C++等其他语言开发的应用程序任何人都可以自由访问内存,比传统的MFC开发的应用程序更加快捷和安全,这就保证了西藏水利部门人员在使用该系统的时候能够有更加简洁方便的操作界面,并且进行信息共享的同时还能降低其数据泄露的风险。
1.2.2 ArcGIS Engine 二次开发。ArcMap 是大家所常用的一款地图制图、图编辑与分析的桌面应用程序,但是如何将地图编辑功能与实际工程应用相结合起来一直是个问题,基于这个问题,ArcGIS Engine 于2004 年发布于美国ESRI,此开发包提供了一系列可以在Arc-GIS Desktop 框架外使用的组件,为实际工程中使用地图数据编辑与处理提供了一种新的思路与方法。
此系统建立了基于C/S 的ArcGIS Engine 的二次开发平台,将西藏自治区的矢量地图数据,河流湖泊数据,经纬度信息,水利工程位置属性信息等叠加发布,构建了基于GIS 的西藏水利工程地理图层[6]。使用户能够在系统中能够获取西藏自治区详细的河流湖泊分布信息,以及通过点要素的形式直观展现水利工程的位置,并且通过点击某水利工程的点要素,可以获取该水利工程的详细工程信息,用户可以根据自己的需求快速的在地理图层中获取所需信息。
1.2.3 利用决策树算法评估与决策。系统使用了决策树分类与回归算法,分类算法主要对离散数据进行处理,因此可以对水利工程受灾时进行受灾程度的判断,将水利工程受灾严重等级划分为0、1、2,再根据样本集训练得出模型,利用模型对严重程度进行分类判断[7]。回归算法主要是对连续型数据进行处理,因此可以根据水利工程的设计造价以及附近淹没耕地面积和人口损失等特征设计样本集,训练样本集得到回归模型进行经济损失的预测。用户可以利用此功能对灾后的水利工程进行快速的经济损失评估,并迅速的做出决策判断。
2 系统总体设计
系统总体是由使用端、基础应用层、应用支持层、数据资源层、基础设施层、数据采集层几部分构成[8],其各部分功能具体如下:(1)使用端:主要是利用PC端在线使用该水利枢纽信息管理与评估系统,并且将用户分为水利厅、各市级水利部门、各县级基层部门,每个权限等级对应不同的功能。(2)基础应用层:用户可以使用系统平台的一些基础应用功能,包括图层管理、水利工程地理图层、水利工程灾后损失评估与决策等。(3)应用支持层:是为了在应用层所使用的一些系统功能和相关的计算机技术提供支持,如GIS平台、日志管理、授权管理、Chart、机器学习等。(4)数据资源层:主要是对于整个系统所使用的数据库,包括用户管理数据库、水利枢纽信息数据库等。(5)基础设施层:主要是系统所涉及的一些外部硬件设施,包括相关硬件设施以及存储管理设备等。(6)数据采集层:是平台获取数据的途径,包括基本信息数据的录入和修改,大坝信息数据,受灾具体情况数据等,总体框图如图2所示。
图2 系统总体架构图
3 数据库设计
信息管理离不开数据的支撑,数据是系统正常运作的必要前提,只有在完备的数据基础上系统的功能才能得以实现,此次设计的西藏水利工程信息管理系统使用的数据库管理平台为Mysql+Navicat将各数据进行一体化管理。水利工程信息管理系统数据库设计严格遵循《基础水文数据库表结构及标识符标准》《水资源监控管理系统数据库表结构及标识符标准》等管理规范[9],根据西藏自治区水利数据采集传输、动态显示、共享交互,以及数据存储、挖掘、分析的需求,完成元数据库、基础数据库、空间数据库、共享数据库的字段设计与功能设计,基本实现对基础数据的统一管理和存储,见图3。
图3 系统数据库的设计
元数据库是系统能够实现相应功能的关键,其包含了基础应用层、应用支持层的重要数据,是整个系统的核心[10];基础数据库则包含了整个系统最全面的基础信息,空间数据库主要类型是点、线、面,包含了西藏自治区的市区边界、河流信息、湖泊信息以及各水利工程地理位置信息,而共享数据库是存储了根据用户身份信息来判断是否开放的基础数据。
4 系统功能实现
4.1 系统管理功能
系统将登录用户权限分为水利厅、主管部门和基层部门三个等级[11]。其不同等级的系统登陆界面如图4所示。
图4 系统登录界面
4.1.1 用户登录。用户在选定自己身份后,需要输入账号,密码和验证码,所有输入项与数据库一致才能登录成功,进入系统管理界面。
4.1.2 用户管理。水利厅账号等级权限最高,可以查看和修改主管部门、基层部门的账号信息,而主管部门和基层部门的用户只能查看自己的账号信息[12]。
4.1.3 退出系统。在完成各项管理和维护工作之后,用户可以通过点击退出系统按钮安全退出系统,信息会直接保存在数据库中不会丢失。
4.2 信息图层功能
水利工程信息图层功能效果如图5所示。其主要是利用了ArcGIS Engine 的二次开发功能,首先在Arc-Map 中将自治区某市边界、该市的河流湖泊等要素制作成地图文件,在将水利工程位置以点要素的形式添加在地图上,编辑点要素的属性表,将水库的基本信息存储到属性表中[13]。之后在系统中利用二次开发功能,读取本地地图文件,选中某点要素(某水利工程),使其高亮显示,双击该点要素还可弹出新窗体显示该点水库的基本信息,并能根据获取到的经纬度利用高德地图API(应用程序接口)查询到该水利工程的具体地理位置。
图5 信息图层功能展示
4.3 信息管理功能
4.3.1 水库信息录入。如图6 所示,基层用户可以使用该系统将自己负责的地区水利工程的各项基本信息输入到界面中,并且点击添加按钮后在Mysql 数据库中形成一条水利工程记录[14],具体效果如图6所示。
图6 水利工程信息录入功能
4.3.2 水利工程信息管理。根据C#语言中的装箱拆箱原理,先将自治区全部水利工程的信息存储到数据库,再根据自治区各级部门的权限分别设定了水利工程信息管理功能,原理图如图7 所示。根据用户权限不同,水利工程信息可操作的功能也不同。水利厅用户登录可以查看全部水利工程信息,但是没有修改权限,需要联系基层部门进行修改;主管部门用户可以查看自己辖区内的中小型水利工程(大型水库由水利厅专门负责),同样的修改权限也是需要联系基层部门;基层部门用户只能查看和修改自己县区域所管水利工程。
4.3.3 水库信息检索[15]。为了方便基层用户快速的对某一水利工程信息的快速检索,用户可以根据水利工程所在地区搜索某一区域内的所有水利工程信息,或者根据某一水利工程的名称来搜索该水利工程的基本信息,如图8所示为搜索阿里地区的结果。
图8 水利工程检索功能
4.4 灾后评估与决策功能
水利工程灾后评估与决策模块主要包含了水利工程受灾情况、水利工程灾后评估和水利工程灾后决策子模块[16]。水利工程受灾情况子模块能够从数据库或者本地文件中读取数据,并以Chart的形式直观的展示给用户,使用户能对水利工程历年受灾情况有基本的了解;水利工程灾后评估子模块则是使用了决策树回归算法,根据具体的某个水利工程造价数据,在发生自然灾害(如地震、滑坡、泥石流等)之后,结合灾后受影响的耕地面积、房屋损失、人口损失等因子形成数据文件,将数据文件当作样本集进行训练,得到具体的训练模型,再根据模型来对新的数据集进行经济损失预测;水利工程灾后决策子模块是通过决策树分类算法来分析此次灾害对大坝的损害程度是否严重。该模块旨在实现水利工程在受灾之后的快速经济损失评估,并且用户能够在灾后快速的做出决策,为实时、快速、全面掌握水利工程的受灾形式及采取有效的救灾措施提供科学依据,如图9是决策树分类的功能示例图。
图9 决策树分类功能
5 结语
本文以现代信息技术和水利工程建设的深度结合为切入点,以西藏水库水坝为设计实例,结合GIS二次开发等功能建立了西藏水利工程信息管理系统。该系统实现了西藏自治区全部水库信息存储的海量存储与共享,为水利厅、各市级水利部门、各基层部门对各自分管的水库提供基础的信息服务功能。鉴于西藏水利资源丰富,水库位置分布范围较广,信息搜集是一个艰巨的任务,因此建立一个健全的数据库是非常必要的。加强对系统用户的培训,使他们将系统应用于日常管理任务中,提高他们的日常工作效率,提升水库应急管理与决策能力水平。