吕 筱,吕品姬,彭懋磊,张 萍,李 垠
(湖北省地震局(地震预警湖北省重点实验室),湖北武汉)
中国地震局于2020 年开始推进地震台站改革,2021 年初,湖北省地震局正式挂牌成立了四个地震监测中心站,分别位于武汉、宜昌、襄阳和恩施。地震监测中心站履行省地震局赋予的辖区内地震监测工作职责,同时承担相应的地震监测设施运行维护保障任务以及地震预报预警、地震灾害风险防治和地震应急响应等业务工作[1]。
为了全面掌握地震监测中心站业务工作情况,湖北省地震局业务管理部门于2021 年推行了全省每月地震运维通报制度。通过对测震站网和地球物理站网的运行情况、仪器运维保障情况、震情跟踪会商情况以及信息网络通断情况等业务环节设立不同的指标,动态了解每个中心站业务工作状况。由于业务环节多、每个中心站运维强度不同,运维通报文本内容冗长,难以实现纵向和横向的指标对比。因此,迫切需要通过可视化技术提升运维指标的可读性和指导作用。
本文通过ECharts 数据可视化图表库设计开发出具有地图和图表数据显示功能的地震监测中心站运维指标可视化平台,方便管理部门和中心站对运维情况有更为直观的认识,为提高中心站运维效率进一步打下基础。
湖北省地震监测中心站运维指标主要包括站网运行、仪器运维、震情跟踪和信息网络类,基本涵盖了地震监测业务的各个环节。
站网运行类指标根据站网类型的不同而设置不同的指标,如测震类站网(包括测震站网、强震站网、预警站网)主要通过运行率和连通率等指标表征站网运行状况;地球物理类站网(包括地形变站网、电磁站网、地下流体站网)主要通过数据有效率和资料汇集率等指标表征站网运行状况。
仪器运维类指标主要包括各种仪器的数量情况、备机备件维护以及检修和管理情况。震情跟踪类指标主要根据分析预报中会商技术方法应用情况、异常跟踪分析情况、数据与报告质量等指标表征震情跟踪状况。信息网络类指标主要包括连通率、网络安全维护情况、系统维护情况等指标。
本平台主要实现以下几点功能:
(1) 规范化的运维指标数据的输入输出。本平台提供规范化的运维指标打分表格下载和上传,并实现图表数据的导出功能。
(2) 运维指标的可视化。本平台分别将测震站网、地球物理站网、分析预报、信息网络与应急、技术保障五个分项下运维指标数据进行可视化展示。地图标注出四个中心站的位置并用不同颜色表示出不同中心站所管辖区域。
(3) 平台用户的登录。为管理人员和运维人员提供登录功能。
用户可以通过浏览器访问该平台,图1 是系统结构图。
数据库主要负责数据存储和访问[2]。MySQL使用简单易于维护并且有高可靠性[3]。本平台通过MySQL存储、更新、检索四个地震中心站在不同时间的考核数据。
本平台设计数据表分别用来存储指标得分情况、中心站信息、考核指标信息以及用户信息。数据库结构见图2 所示。
图2 数据库关系图
本平台以SpringBoot 框架为基础、以Vue 为前端框架,配合MySQL数据库来实现。Spring是主流java web 开发框架[4],Spring Boot 又在Spring 框架的基础上简化了配置过程和开发流程[5],能够快速搭建基于Spring 框架的项目,极大提高了开发和部署效率[6]。Vue 是轻量的、易开发的前端框架[3],用vue-cli 脚手架能够快速搭建前端框架[5]。
ECharts 是一个基于Zrender 绘制库,使用JavaScript开发的开源可视化库[7]。它可以提供多种丰富的数据统计图表,能够提供直观、生动、可交互、可高度个性化定制的数据可视化图表[8]。近年来,ECharts 技术逐步应用于地震、水文及气象等数据可视化系统[9-11]。本平台在vue 项目的main.js 文件中通过import * as echarts from'echarts' 来引入echarts,使用Vue.prototype.$echarts =echarts 来设置全局echarts。地震中心站运维指标显示页面利用DataV 结合ECharts 来显示运维数据。DataV 能够为平台提供全屏容器和各种边框组件。
系统分别部署后端和前端。在服务器上安装、配置并部署jdk、mysql、node.js 和nginx,开启mysql 和nginx服务。本文使用IntelliJ IDEA 下maven 的package 对后端代码进行打包,并将target 文件夹下生成的jar 包文件移动到服务器的目录下并运行jar 包。在IntelliJ IDEA的控制台下使用npm run build 命令将前端代码打包成dist 目录,将打包完成的文件移动到服务器的文件夹下。然后对nginx.conf 配置文件的路由映射、请求位置、首页等进行配置。
使用SpringBoot、Vue 和MySQL 能够轻易实现Java Web 开发的前后端分离。分别对前端和后端进行开发,通过数据接口来请求和获取数据,就能轻松实现前后端的解耦合,极大提升开发效率。
本平台主要分为以下三个页面:
(1) 登录模块。登录模块是平台默认首页,用户登录成功后能够显示ECharts 中心站运维平台页面。登录页面如图3 显示。
图3 登录页面
(2) ECharts 中心站运维平台模块。ECharts 中心站运维平台模块主要从数据库中获取各模块相关数据,利用ECharts 不同类型图表进行多角度、多维度展示。将鼠标移动到数据上方时能够显示各项对应数据。也可以对图例进行勾选只显示想要的数据进行图例交互。各模块还提供保存为图片的功能。不同模块可视化的展现方式不同,ECharts 中心站运维平台页面如图4 显示。
图4 中心站运维平台页面
图5 打分表页面
(3) 打分表模块。打分表模块页面提供中心站运维打分表的下载和上传。打分表模板设置有测震预警站网、地球物理站网、信息网络、震情跟踪会商、仪器运维保障五个分项下运维指标共50 余项。每个月可以下载打分表模板并且按照模板文件的固定格式要求填写四个中心站的得分情况并上传填写好的运维表格文件。
本平台首先验证文件内容是否符合格式要求并且是否已经存在于数据库中。如果格式正确并且数据库中尚未有对应数据,则能够成功上传。本平台把打分表中的各项数据解析并提交到数据库,再分别获取各个模块所需要的各项数据并将格式化的数据提供给表示层。以下是打分表模块页面。
ECharts 中心站运维平台模块包括以下八个显示模块,每个模块都使用不同的可视化展现方式。
(1) 测震预警台套数模块 该模块主要功能是显示四个中心站目前在测震类站网分别拥有的设备台套数。该模块选取堆叠柱状图来实现,不仅能够反映各中心站整体台套数与各部分的关系也能直观反映各中心站之间的数量差异。
(2) 测震预警站网运行率模块 该模块主要是显示四个中心站当前月份一般站、基本站、基准站等平均运行率的情况。该模块使用折线图来反映不同中心站的运行率情况,用不同颜色标识不同类别的运行率。动态选择运行率的最大值和最小值作为y 轴的取值范围,方便查看。
(3) 地球物理台套数模块 该模块显示四个中心站目前在地球物理站网方面分别拥有的设备台套数。该模块使用柱状图反映不同中心站的数量上的对比。
(4) 地球物理站网运行情况模块 该模块显示四个中心站当前月份地球物理站网资料汇集率和数据有效率的情况。动态选择资料汇集率的最大值和最小值作为y轴的取值范围,方便查看。
(5) 分项指标统计图模块 该模块显示四个中心站当前月份分别在五项分项中的得分情况和总分情况。该模块既能直观比较四个中心站的总分情况又能比较各分项的情况。因为总分一般都在85 分以上,所以选择85 分到最高分作为y轴的取值范围,方便查看。
(6) 分项情况模块 该模块使用雷达图显示四个中心站当前月份在五项分项中的得分情况。雷达图能够更直观显示出五项指标的得失分情况。
(7) 总分统计模块 该模块主要功能是使用折线图显示四个中心站最近半年的总分走势。折线图方便纵向和横向对比查看总分情况。
(8) 湖北省中心站分布显示模块 该模块在湖北省地图上标注出四个中心站的位置和各中心站所辖市州行政区域。该模块使用ECharts 中的geo 组件引入的湖北地图json 文件, 并在地理坐标系上对中心站绘制带有涟漪效果的散点图以突出中心站的位置。该模块还设置了鼠标滚动缩放和鼠标移入区域变色等交互功能。
本平台已经成功上传2023 年各类考核项目的部分打分情况,管理人员和运维人员可以通过该平台纵向和横向对比查看四个地震监测中心站的各项业务的最新信息和各考核项的得失分情况。应用效果良好。
本文设计并实现了一种基于ECharts 的地震中心站运维指标可视化平台。根据地震中心站运维指标管理的需求,实现了各项指标多维度的可视化管理,能够极大提高工作效率,为管理人员和运维人员提供了更方便、更直观的服务。本文提出的可视化平台后续还可以进一步完善,为地震中心站运维管理工作提供更多支持。