陈笑娟,张静
(1.河北省气象灾害防御中心,河北 石家庄 0 5 0 0 2 1;2.河北省气象与生态环境重点实验室,河北 石家庄 050021)
随着气候变化加剧、人口增长和城市化进程加快,各类极端天气事件呈现频发、多发的趋势[1-2]。气象灾害占自然灾害的70%以上[3],影响气象灾害防御能力的要素在快速变化[4],因此开展气象灾害风险普查以便掌握本地区气象灾害综合风险水平十分必要,气象灾害的防御工作重心逐渐从临灾应急转变为灾前预防和全面的气象灾害风险管理[5],以期提高防灾减灾效率和效力。
气象灾害风险数据的种类和数量与日俱增[5],致灾因子、承灾体、孕灾环境、灾情与气象灾害防御能力数据多样化、复杂化。气象灾害风险数据是气象灾害风险管理先决条件,也是气象灾害防御工作和相关防灾减灾科学研究的基础。目前,对于气象灾害风险资料收集、统计与普查多为某一特定承灾体展开[6],用以分析致灾因子的强度,进而对单一承灾体进行风险评估[7-8]。常规的气象灾害普查内容多采用填报方式进行数据信息的行列式上报,这就无法对复杂关系的历史灾情、气象致灾因子移动路径等时空关系准确描述。所以依托于气象信息技术[9-10]建立适用于各级气象防御单位的气象灾害风险普查系统是开展气象灾害防御工作和相关防灾减灾科学研究的先导性条件,也可以为自然灾害综合风险普查提供重要的数据和业务支撑与科学决策依据。
河北省气象灾害风险普查系统集数据采集、处理、分析于一体,完善灾情信息采集、传输、处理和存储等方面的标准和规范,主要目标是为开展以县为单位的气象灾害风险与减灾能力调查,建设气象灾害风险数据库,形成支撑气象灾害风险管理的数据资源体系[11]。气象灾害风险普查系统多端运行极大满足信息员到实地现场完成位置确定、属性录入、拍照录像的需求,并建立了具有时空关系的普查项目,对复杂气象灾害类型进行详细普查,方便工作人员绘制灾害影响范围、气象活动移动路径等空间图形等,为河北省气象灾害防御工作和相关各级用户获取统一、规范、详实的风险普查资料提供使用环境。
气象灾害风险普查系统主要承担河北省气象灾害风险普查数据标准规范制定、数据收集、处理、存储、共享服务,通过局域网、互联网、移动互联网为省、市、县三级气象灾害防御单位用户提供服务,为气象灾害风险信息规范采集、数据质量控制、普查结果综合生成输出提供技术支撑。
气象灾害风险普查系统部署在河北省气象局信息中心虚拟资源池上,由河北省气象灾害防御中心负责维护。
根据自然灾害学理论[12],气象灾害风险普查的对象包括气象灾害防御工作涉及的致灾因子、承灾体、孕灾环境、灾情与气象灾害防御能力5方面数据,系统需要解决的核心问题就是将数据从省、市、县三级气象灾害风险普查单位按照统一的数据标准[13]集中到河北省气象灾害风险数据库,主要目的是为各级用户提供高效便捷的数据采集、处理服务,提高信息处理与分析水平,完善灾情信息采集、传输、处理和存储等方面的标准和规范,完善灾害信息动态更新机制。
根据核心需求和设计目标,系统的基本设计思想是以数据为核心,以业务需求为导向,分析各类气象灾害风险数据的特点,考虑不同用户群的专业技术水平和硬件条件梳理数据现状和采集流程,结合地理信息系统、移动设备位置定位等技术,设计能够适用互联网、移动互联网使用环境下的气象灾害风险数据普查系统。
系统的主要目标是建设一套覆盖全省,融合数据规范收集、质控、存储管理和产品输出的省、市、县三级气象灾害风险普查资料共享业务平台,为河北省气象灾害防御部门及相关用户提供普查所得气象灾害风险资料和相应产品。
气象灾害风险普查系统的开发是基于SOA[14]技术模式,采用前后端分离设计架构,服务端的API设计,需面向通用服务设计,从而使服务器端可以实现一云多端,可提供面向Web端、Android、小程序、公众号等多终端的服务接口,不需要服务器端重复性的功能开发以提高系统服务的可用性。系统支持虚拟服务器跨平台部署和局域网、互联网环境下的同时访问,并通过互联网发布普查Web、APP信息,在C/S(Client/Server,客户/服务器模式)架构下利用局域网管理基础地理信息数据和各类普查数据。总体框架见图1。
图1 气象灾害风险普查系统总体架示意图
数据库平台采用PostgreSQL 12作为普查数据和空间数据的存储、索引、查询服务平台,在省信息中心的资源池上部署数据库、数据库管理系统、空间数据库引擎。地理信息系统(Geographic Information System,GIS)平台基于SuperMap Objects.Net9D开发用于数据分布式处理、数据质量控制、数据产品绘图、格式转换、空间分析的中间件。服务层采用标准的J2EE(Java 2 Enterprise Edition)规范搭建,用JAX-RS(Java API for RestfulWeb Services)架构设计遵循REST(Representational State Transfer,表述性状态传递)定义的WebService API提供给Android平台或者前端类库使用。气象灾害风险普查Web端和APP端在线地图数据以WMTS(Web Map Tile Service,Web地图切片服务)标准获取。
气象灾害风险普查系统由3个业务系统和1个数据库组成,业务系统分别是气象灾害风险普查Web端、气象灾害风险普查APP端、气象灾害风险普查服务系统,数据库是气象灾害风险普查数据库。
气象灾害风险普查Web端采用B/S结构(Browser/Server,浏览器/服务器模式)并基于WebGIS技术开发气象灾害信息的专题图表达、查询、汇总管理功能。Web端包括气象灾害风险信息可视化、气象灾害风险信息采集和查询统计汇总3个模块,能够实现全省气象灾害风险数据多条件查询、数据交互编辑功能、普查单位编辑及社会经济数据统计、批量数据导入等系统功能,对复杂气象灾害类型进行详细普查,提供基于在线地图、遥感影像的图形绘制、编辑功能,方便工作人员绘制灾害影响范围、气象活动移动路径等空间图形;实现社会经济数据的逐年度普查上报,对社会经济数据进行时空关系表达,利用WebGIS制作专题统计图表,实现实时上报、实时制图分析。
气象灾害风险普查APP端是基于Android平台开发的移动端气象灾害风险数据普查APP,主要为气象灾害风险信息采集模块,具有普查信息的位置定位、拍照、属性录入、数据上报等功能。
目前气象部门拥有的数据并不完整,数据来源也不够准确,需要市、县、乡镇级信息员对信息进行核对完善整理工作。同时常规的气象灾害防御重点单位普查内容多采用填报文字、数字、图片的方式进行数据信息的行列式上报,这就无法对复杂关系的历史灾情、气象致灾因子移动路径等时空关系准确描述。气象灾害风险普查APP端能够满足信息员到实地现场完成位置确定、属性录入、拍照录像的需求,可以完成GPS定位、图形绘制、灾害隐患信息的实时(离线)采集、报送、灾情数据上报等功能。并建立了具有时空关系的普查项目,对复杂气象灾害类型进行详细普查,提供基于在线地图、遥感影像的图形绘制、编辑功能,方便工作人员绘制灾害影响范围、气象活动移动路径等空间图形。
气象灾害风险普查服务系统包括普查数据管理和普查成果专题服务2个模块。在综合运用地理信息数据、气象灾害风险普查数据、气象灾情和相关部门提供资料基础上,采用C/S结构开发具有数据格式转换、投影转换、地图浏览、气象灾害风险分布图制作、专题图布局输出、数据统计等功能。
气象灾害风险普查系统的主要目标是为以县为单位的气象灾害风险与减灾能力调查建设数据库,形成支撑气象灾害风险管理的数据资源体系,其业务逻辑关系按照流程化梳理,核心业务之间基于数据定义来进行任务交互与数据流转。
根据气象灾害风险普查工作的业务逻辑关系,可以将普查过程分解为3个阶段:普查标准制定与参考数据准备阶段、普查数据采集与质量控制阶段、统计汇总与成果生成阶段。
普查标准制定与参考数据准备阶段由具有管理权限的省级用户通过气象灾害风险普查服务系统对拟普查对象划分类型、定义普查指标和质量管理规则。将气象灾害普查数据按照承灾体、致灾因子、防御能力、灾情4大类型进行划分,目前分为5个级别,共计150多种类型。系统采用树状结构管理,可灵活定义各类型间的继承关系。普查期别、状态管理按照普查年份或普查阶段对普查工作进行期别划分。质量控制规则管理对普查指标进行质量规则定义,为数据检查提供依据。指标的检查规则需要按照局部、全局分别进行控制,设计的规则函数模板能够被业务系统中的检查模块便捷利用。
普查数据采集与质量控制阶段是利用Web、APP或者普查服务系统将目标对象收集到数据库中,根据普查对象所属区域、对象类型、名称等必要信息新建普查对象,完善普查对象对应的指标内容并进行规则判断。坐标位置支持3种格式经纬度联动录入和地图上指定位置方式录入。通过下载相应的普查数据模板文件将数据整理后批量导入,填报字段模板列表显示该类型普查数据需要填写的字段名称、字段类型等信息,确认模板后可以下载,根据模板内容填写相应的记录,填写好的模板文件经过文件格式解析、数据质量检查、数据预览后可批量导入。针对复杂关系的历史灾情、气象致灾因子移动路径等时空关系数据,普查系统利用WebGIS技术开发基于在线地图、遥感影像的图形绘制功能,方便工作人员绘制灾害影响范围、气象活动移动路径等空间图形。对普查对象所包含的空间图形可提供空间图形编辑功能和选择功能。
统计汇总与成果生成阶段是指数据采集完成后根据普查数据的种类设计相应的地图显示图标,在地图上显示普查数据的分布图,对于密集的分布区域,利用图标聚合技术显示数量聚合图标。根据气象灾害风险数据制作地图专题图,可按照所属行政区制作,专题图地图背景能够根据需要调整为多种在线地图类型,设置好的图片可以导出为所需图片格式。根据普查的气象灾害数据,按照各级行政区或数据普查类型可绘制对应具体的统计图表。普查报告是在普查工作完成后根据各县的普查数据利用后台GIS系统自动生成普查对象分布图、普查数据列表、附件表格文件,按照县区进行文件打包、压缩,生成下载链接地址。
气象灾害风险普查系统业务流程示意图如图2所示。
图2 气象灾害风险普查系统业务流程示意图
数据库软件采用PostgreSQL作为普查数据、空间数据存储、索引、查询服务平台,在云服务资源池上部署数据库管理系统、空间数据库引擎以及数据库数据。空间数据库引擎采用GIS系统开发平台内置的SuperMap SDX+for PostgreSQL,空间数据库坐标系统采用2000国家大地坐标系。
气象灾害风险数据普查数据库由4类数据组成:灾害普查数据、气象要素数据、社会经济数据、地理信息数据。数据内容包含普查对象、气象数据、地理信息数据、社会经济数据和系统运行数据,涉及的数据格式涵盖纯属性数据、矢量数据、栅格数据、DEM数据、地形特征网格数据等格式。
文件系统包括普查过程中上传的各类参考资料、照片等文件,文件系统按照普查类型进行分类存储,每个普查对象设置单独目录,在服务器上发布文件上传和文件共享服务,在上传过程中对文件进行压缩、规范命名和更新文件索引、说明信息。
数据访问接口采用标准的J2EE(Java 2 Platform Enterprise Edition,针对企业级分布式应用的计算环境)规范搭建面向服务的架构(Service Oriented Architecture,SOA)技术模式的系统服务端,数据库访问利用JDBC(JavaDatabase Connectivity,Java数据库连接标准)类库连接数据库,用JAX-RS(Java API for RESTful Web Services)架构设计遵循表述性状态传递(Representational State Transfer,REST)定义的WebServcice API提供给前端平台使用,前端系统通过XML、JSON、GeoJSON、PBF等格式进行数据传输。
气象灾害风险数据库可以通过编程接口直接访问,具有包括C/C++、Java、.Net、Python、Ruby和ODBC等编程语言在内的编程接口。二次开发人员通过服务接口统一了解数据获取的接口信息,并在程序开发中调用产品数据获取接口。
气象灾害风险数据库系统具有分布式和事务安全特性,支持跨平台虚拟服务器部署,能够运行在包括Linux、Windows在内的主流操作系统上。气象灾害风险数据库空间数据存储特性能够被包括ESRIArcGIS、SuperMap等在内的主流GIS开发平台访问。
气象灾害风险普查服务系统基于专业的GIS平台开发[15]。具有访问PostgreSQL、MySQL、SQL Server、Oracle空间数据库的引擎,提供至少5种常用矢量数据格式文件交换接口和5种常用栅格数据格式文件交换接口,具备平面坐标系、地理坐标系、投影坐标系定义功能,具备国家地理信息数据常用的投影类型转换功能。针对不同类型的地理信息数据需要制定合理的数据编码、压缩方案,选择合适的数据编码,对数据集进行压缩。
根据数据的来源和入库方式设计相应的质量控制流程和错误数据处理方法,数据检查采用开发检查工具的方式来进行。错误数据处理采用程序批量处理和人工处理相结合的方式,对于有规律的共性错误采用程序批量处理,涉及到内容或无规律的错误采用人工处理的方式。
1)气象灾害风险普查系统运行以来承担了河北省气象灾害风险的普查标准制定、数据收集、数据处理、数据存储、数据共享服务。该系统运行以来制定了气象灾害风险数据普查标准,共计4大类190多项普查数据类型。整理、更新了12个市级单位(含雄安新区)、192个县级行政单位、2 356个乡镇行政单位、53 460个村庄社区行政单位的地理信息数据,使普查工作标准化、统一化。共采集普查对象246 000多条、照片37 800多张。
2)设计数据质量控制流程、开发全量检查工具,对普查数据进行数据质量控制,实现检查规则定义、数据检查、检查结果管理、问题定位、批量修改等功能。通过局域网、互联网、移动互联网为省、市、县三级气象灾害防御用户单位提供气象灾害风险信息采集、数据质量控制、普查成果生成提供了技术支撑。
3)针对气象部门拥有的气象灾害信息不完整,数据来源也不够准确,气象灾害风险普查系统多端运行的特点满足了气象信息员到实地现场完成位置确定、属性录入、拍照录像的需求,并建立了具有时空关系的普查项目,对复杂气象灾害类型进行详细普查。提供基于在线地图、遥感影像的图形绘制、编辑功能,方便工作人员绘制灾害影响范围、气象活动移动路径等空间图形。