安徽省防汛抗旱地理信息云服务平台研究与建设
2019-09-05王封祚王新福高庆方徐东彪
王封祚,王新福,高庆方,徐东彪
(黄河勘测规划设计研究院有限公司,河南 郑州 450003)
0 引言
安徽省位于中国东部,覆盖淮河、长江和新安江三大流域。由于特定的地理位置和地形地貌,干旱和洪水频繁而严重,安徽省防汛抗旱任务繁重。近年来,在水利信息化及国家防汛抗旱指挥系统建设的大背景下,安徽省全力推进水利信息化建设,取得了显著成绩。但是,与安徽省水利发展的新形势及新要求相比仍存在不足,针对目前存在的问题,安徽省水利厅启动防汛决策及山洪灾害预警地理信息系统建设项目,紧紧围绕防汛抗旱工作,结合其他业务需求,利用现代水利、测绘地理信息技术,通过现有信息资源的重组、更新和扩展,设计面向对象的水利数据模型,梳理整合资源,扩展功能,构建具有防汛抗旱业务特色的服务体系,搭建安徽省防汛抗旱地理信息云服务平台,为防洪、抗旱、山洪等管理工作提供全方位和高效率的技术支撑。
1 现状分析
1)信息化基础设施现状。安徽水利信息中心已建成基于云架构的信息化基础设施,即将硬件设备及必要的硬件资源监控软件通过虚拟化软件进行整合,形成硬件和软件资源池,通过虚拟化管理平台提供基础云服务,如数据存储、数据备份和运行环境。
2)地理信息资源现状。安徽水利信息中心有覆盖全省的多尺度、多种类地理信息资源,其中,数字线划图比例尺最高达到 1∶10 000,遥感影像分辨率最高达 0.5 m。存在问题为空间数据标准不同及存储分散,水利地理信息数据不完整,缺乏面向对象的水利空间数据模型,缺少面向水利业务的电子地图,地理信息数据共享困难,不能满足防汛抗旱业务对地理信息的需求。
3)基础 GIS 平台现状。安徽水利信息中心部署 ArcGIS 系列软件,包含 ArcGIS Server,Portal for ArcGIS,WebAdaptor 等服务端套件。各业务系统仅使用 ArcGIS Server 发布所需的地图服务,而针对服务管理的 Portal for ArcGIS 虽已部署,但未使用。
2 平台设计
综合分析安徽省信息化基础设施现状和基础GIS 软件平台现状,进行安徽省防汛抗旱地理信息服务平台架构设计:采用虚拟化、弹性化、服务化的设计思想,以安徽水利信息中心基础设施作为硬件系统支撑平台,以 ArcGIS 系列软件作为地理信息服务平台基础软件,按照“四层”架构体系进行设计。平台分为基础设施层、数据层、平台服务层和业务应用层,并通过贯穿多个层次的管理与调度系统实现各层之间的协同工作,实现平台的应用集成。
分析安徽水利信息中心地理信息资源现状,针对存在问题,通过水利地理信息数据统一整编建库、制作防汛抗旱电子地图、发布地理信息服务,满足防汛抗旱业务对地理信息的需求。
分析基础 GIS 平台现状,通过搭建 ArcGIS Server 集群来提高地理信息服务高并发访问保障能力,基于 Portal for ArcGIS 开发服务平台门户系统,实现地理信息资源统一高效管理,最终实现地理信息资源的共享利用。平台总体框架如图1 所示。
图1 总体架构图
3 关键技术研究
3.1 面向对象的水利地理数据建库技术
面向对象的数据模型利用面向对象的技术,该数据模型将 GIS 处理的空间数据抽象为不同的地理对象(地理实体),并且将各对象的唯一标识符、属性与方法封装在一起,建立各对象的联系[1]。
安徽省境内河网纵横交错,水利工程众多,水利相关基础地理信息数据量大且碎片化严重。水旱灾害频发,防汛防旱相关业务信息数据量大而分散。根据安徽省防汛抗旱业务的需要,基于面向对象的数据模型进行安徽水利地理数据模型的设计,基于 ESRI 地理空间数据模型和大型关系数据库Oracle 进行水利地理实体库的具体实现。通过整合海量多源异构数据,建立面向安徽省防汛抗旱业务的水利地理实体库。
3.2 防汛抗旱电子地图编制技术
电子地图编制首先需要收集数据,并且进行格式及空间参考统一转换,然后进行地图分级设置及其相应地图数据源设定、制作地图符号库,并且通过在地图符号和相应的比例尺电子地图数据之间制定匹配策略,实现符号与地理数据的自动匹配,最后为了网络浏览地图顺畅,需制作地图瓦片,通过地图服务器将地图发布为 REST 风格地图服务[2]。
安徽省防汛抗旱电子地图采用 ArcMap 软件编制,结合安徽水利信息中心已有数据资源和防汛抗旱业务需求,制作安徽水利系列综合和业务专题电子地图。
3.3 微服务架构及服务开发技术
Web 应用系统架构由早期的单体式架构发展到后来的面向服务的架构 SOA,近些年来,基于 SOA发展而来的微服务架构得到越来越多的应用,其特点是松耦合、服务独立部署、应用系统前后端分离等,极大增加了应用系统开发的灵活性及开发效率。微服务设计思路是服务开发组件化、通信接口标准化、服务功能单元独立化[3]。
安徽省防汛抗旱数据服务基于微服务策略设计,由一系列服务组成,每个服务相对独立,内部实现一定的业务逻辑,对外承担特定的任务,通过服务组合实现更大程度上的业务逻辑。数据服务开发通过 JaveEE 平台开发实现,服务接口风格为表述性状态传递 REST(Representational State Transfer),通过基于 JavaScript 语言的轻量级的数据交换格式JSON(JavaScript Object Notation)进行交换数据。
3.4 地理信息服务平台门户开发技术
目前国内行业地理信息门户开发平台主要有Portal for ArcGIS 和 SuperMap 的 iPortal 平台。其中,Portal for ArcGIS 是 ArcGIS10.2 正式发布的产品,最新版本是 10.7,其定位是地理信息资源协同管理平台,核心功能是通过和 ArcGIS Server 集成实现服务托管。目前已有包括江苏水利[4]、智慧广州[5]在内的多个行业地理信息平台采用 Portal for ArcGIS 构建服务平台门户系统。
安徽水利信息中心已部署 Portal for ArcGIS,故安徽省防汛抗旱地理信息服务平台门户系统基于Portal for ArcGIS 构建,通过 Portal REST API 和前端开发框架实现门户界面的个性化定制。通过门户系统实现地理信息服务托管、资源使用权限管理、Web 快速制图等功能。
4 平台建设
4.1 水利地理实体建库
1)水利地理实体分类。安徽水利地理实体内容包括基础、水利地理及相关联的水利业务等信息。
基础地理信息基于全省范围 1∶10 000 脱密矢量数据,选取政区、境界、交通、居民地等图层;水利地理数据主要来自于 1∶50 000 水利普查地理和国家防汛抗旱指挥系统二期工程建设扩充的数据,包括河流水系、防洪工程、抗旱工程等空间图层;防汛抗旱业务信息包括河道堤防断面、险情、历史灾情、防汛责任人、工程施工管理、洪水风险、社会经济、档案、多媒体等信息。数据来源基层水利单位上报。
2)水利地理实体整编入库。通过对基础和水利地理信息等进行分层、编辑、统一编码、格式转换,以及对防汛抗旱业务信息的格式化处理构建安徽水利地理实体库。
按照国家标准,采用 FME 和 ArcMap 软件对基础和水利地理信息数据进行统一的格式转换、空间参考转换、图形整编、数据更新、统一编码,建立规范、统一的水利地理实体库。防汛抗旱专题数据存储的形式多样、结构不一,数据格式包括 .mdb、Excel 表格、Word 文档、多媒体等,为了实现业务专题信息与地理对象的挂接,对非格式化的业务专题信息进行规范化整理。按照相关标准对各项目的专题数据进行整合,采用面向对象的思想,将水利业务中涉及的对象按行业要求进行分类和分级,构建框架稳定的分类分级体系,并为后续扩展预留空间,满足水利数据长期管理的需要。对业务专题数据赋以唯一的代码,以便于地理对象与之关联。
通过安徽水利地理实体库建设,入库 21 万余条地理实体记录,涵盖安徽省政区、流域、河流、湖泊、水库、水闸、泵站、堤段、行蓄洪区、灌区、渠道、水井、控制站、险工险段等多种水利要素。
4.2 防汛抗旱电子地图制作与发布
1)地图数据源。安徽省防汛抗旱业务电子地图的数据源包括 DLG,DEM 和 DOM 3 种类型数据源。其中,矢量数据主要包括全省 1∶4 000 000,1∶100 000,1∶250 000,1∶50 000,1∶10 000 等多尺度的地理信息数据,用于制作水利综合地图;高程数据主要采用全省 30.0 m 分辨力 DEM 数据,用于制作地貌晕渲地图;影像数据包括全省 30.0 和2.1 m 分辨力卫星遥感影像及全省 0.5 m 分辨力航空遥感影像数据,以及重点水利工程区域优于 0.1 m 分辨力无人机遥感影像,用于制作影像地图。地图数据源空间参考统一转换至 CGCS2000 国家大地坐标系。
2)地图分级。按照 CH/Z 9011—2011《地理信息公共服务平台电子地图数据规范》要求对地图进行分级设置,并且基于安徽省 1∶4 000 000 等 5 个比例尺数据源,兼顾地图负载量和数据跨级平滑过渡,进行不同级别下数据源的设置。为了保证制图效果的美观,在现有数据的基础上根据不同的显示级别对道路、河流、湖泊、水库、堤防、灌区等线状、面状要素进行编辑,以保证数据在相应显示级别下线条光滑,图面美观。
3)地图符号化。以 SL 73.7—2013《防汛抗旱用图图式》和 GB/T 20257.3—2017《国家基本比例尺地图图式》为基础,制作安徽省防汛抗旱多比例尺电子地图符号库。
4)瓦片制作。地图瓦片可以在访问电子地图时有效缩短地图服务器的响应时间,从而提高电子地图的访问效率。电子地图制作完成后,对其进行瓦片制作,地图瓦片在 ArcGIS Server 中完成,按照电子地图分级设置,结合安徽省电子地图数据范围,瓦片制作级别为 L7~L15,瓦片格式为 PNG32、瓦片大小为 256×256、存储格式为紧凑格式、像素为96 dpi,兼顾瓦片质量及网络传输,单张瓦片大小控制在 20 kB 以内。
5)服务发布与托管。通过 ArcGIS Server 将电子地图发布为 REST 风格服务,并且通过 Portal for ArcGIS 进行服务托管,地图服务遵循 WMS,WFS,WMTS 等 OGC 规范。
制作了安徽防汛抗旱系列电子地图,包括水利综合线划图、地形晕渲图、卫星影像图等多类型基础地图,以及涵盖水利工程、监测站点、防汛、抗旱、实测断面、地貌单元、流域、行政区和交通、山洪灾害等专题图。符号样式及地图表示符合行业标准和习惯,满足安徽省防汛抗旱使用。
4.3 防汛抗旱数据服务开发
从服务开发规范、接口参数调用、接口响应及返回值这 4 个方面进行安徽省防汛抗旱数据服务设计与实现:
1)服务开发规范。数据服务接口统一使用Web Service 的标准进行设计,采用 REST 风格,基于 JavaEE 平台开发,程序编码遵循 JSR168 规范要求,通过 JSON 进行数据交换。
2)接口参数调用。接口调用参数分为必须和可选参数,其中 TokenID 为必须参数,由应用系统前端自动传给服务端,与地理实体相关联的查询还必须传入 ClassCode 和 EntityCode 参数。
3)接口响应及返回值。统一采用标准的 JSON 数据响应客户端请求,响应对象为 RespData。返回值包含服务返回码:标记服务请求数据是否成功;服务返回数据:服务调用成功后返回给客户端的数据,包含数据类型、名称、属性值等,返回值如图2 所示。
图2 RespData 对象结构示意
4.4 服务平台门户构建
安徽省防汛抗旱地理信息服务平台门户系统通过 Portal for ArcGIS 构建,提供多方面、多层次的空间信息服务,主要功能包括:访问控制、地理信息资源目录、应急制图、二次开发中心。
1)访问控制。门户系统对地理信息服务资源访问权限进行控制。用户登录后可以查看个人发布的及经授权查看使用其它用户所有的地理信息资源,具有特定权限的用户可使用应急制图等功能。
2)地理信息资源目录。资源目录汇集了安徽防汛抗旱地理信息云服务平台所有的地理空间和功能服务。提供空间信息服务资源目录,授权用户可以通过关键字、服务类型、服务分类过滤地理信息服务资源,实现快速检索查找和预览获取。
3)应急制图。应急制图主要针对安徽省防汛业务,用户可在浏览器端快速制作专题地图,满足挂图作战的需求。用户可以使用系统中提供的底图,选择叠加系统中已有的防汛抗旱、水系分布、水利工程分布等各种水利业务专题信息,也可叠加上传的文件或者第三方地图服务,还可以在线添加点、线、面、文本注记等标绘,并配置符号,添加地图辅助要素及图廓整饰要素,完成专题图制作,保存地图并且自动发布为专题地图服务,用户可选择导出为 pdf 格式。
4)开发者中心。安徽防汛抗旱地理信息云服务平台提供多层次的二次开发组件和接口,提供面向安徽省防汛抗旱用户的开发框架。为了方便用户调用数据服、功能服务和二次开发接口构建专题应用系统,平台提供开发应用示例,包括代码、控件示例等,以及快速入门、类参考手册等相关帮助文档。
5 平台应用
5.1 典型应用
安徽省防汛地理信息系统以微服务架构为基础进行架构设计、以安徽省防汛抗旱地理信息服务平台提供的地图服务和地理实体服务为基础进行地图功能开发、以主流 MVVM 框架-Vue2.0 为基础,使用 Webpack 和 Node.js 搭建开发环境,结合 HTML5,AJAX,Babel,ECMAScript6 标准等进行前端页面的开发,实现防汛业务信息与地图对象关联挂接,可以在地图上可视化展示并查询各类防汛抗旱业务信息,给用户提供 “一站式”业务信息查看体验,如图3 所示。
图3 安徽省防汛地理信息系统信息展示界面
主要功能有以下 4 点:
1)基本功能。基本功能包括多主题电子地图浏览,地图量测,动态图层叠加,按政区和流域快捷定位,防洪工程统计分析,卷帘分析等。
2)综合查询。综合查询功能是系统的核心功能,包括模糊和点图查询。对于模糊查询,用户可以选择类别、输入关键字进行查询,也可以同时指定上述条件,查询结果同时以列表和图形的形式在地图上展示,点击查询结果,弹窗显示所有与该结果相关所有信息;对于点图查询,用户可在视图范围内点击任意水利对象,直接弹窗显示与该水利对象相关的所有信息。
3)专题信息查询。专题查询实现了开口工程、崩岸预警、险工险段、险情灾情、防汛责任人、断面、台风路径、山洪预警、重点水利工程全景影像、沿淮行蓄洪区洪水风险图、重点水利工程多媒体介绍等防汛业务信息的专题查询。
4)实时信息查询。实时信息包括实时水雨情及工情监控视频。对于水情信息,显示监测站点实时水位数据及任意时段的水位过程线,同时叠加显示该站所在河段“三防水位”;对雨情信息,可进行全省雨量站降雨量数据的查询、统计及可视化分析。工情监控视频浏览可根据流域、工程类型及级别、是否为干流站点等条件进行筛选,以及按照关键字过滤视频站点,并且在监控视频播放窗口可控制摄像头云台。
5.2 其它应用
目前,安徽防汛抗旱地理信息服务平台已为多个防汛抗旱业务系统提供地理信息应用服务:包括安徽省洪灾损失评估、水情遥测系统、安山洪灾害预警管理信息、河湖及水工程信息管理等系统、淮河洪水及行蓄洪区调度决策风险管理[6]、排灌泵站综合管理信息等系统。为防汛抗旱、山洪灾害等业务管理工作提供全方位和高效率的技术支撑。
6 结语
安徽防汛抗旱地理信息服务平台建立了基础地理数据与多种防汛专题数据之间的关联机制,构建了面向对象的水利数据框架,形成了防汛专题知识库,实现了地理信息和防汛抗旱业务数据的一体化管理与应用,为安徽省防汛抗旱决策提供了数据支撑;集成了虚拟存储与管理、Portal for GIS、二三维可视化、水利工程实景显示等技术,搭建了安徽防汛抗旱地理信息服务云平台,创新了安徽防汛抗旱地理信息业务管理模式;综合运用基础、专题、概化等多种地图表达形式,实现了静态与动态地图合理组织与个性化定制,满足了安徽省多种防汛抗旱业务的应用需要。
但是,安徽省防汛抗旱地理信息云服务平台涉及的业务范围主要包括防汛抗旱工作涉及的防汛、抗旱、山洪灾害等业务内容,对于水利行业的其他业务内容,例如水资源、水环境、水土保持和农村水利等内容未涉及,不能充分发挥水利行业大数据的价值,下一步应加强安徽涉水空间信息资源整合力度,为安徽水利的决策支持提供支持。