2) 中国北京 100036 中国地震局地震预测研究所;
3) 中国河北 075400 河北省地震局怀来地震台;
4) 中国北京 100080 北京市地震局
2) Institute of Earthquake Forecasting, China Earthquake Administration, Beijing 100036, China;
3) Huailai Seismic Station, Hebei Earthquake Agency, Hebei Province 075400, China;
4) Beijing Earthquake Agency, Beijing 100080, China
数据可视化技术是数据挖掘的重要方法之一,可以直观展现和分析数据,发现信息的规律(李学伟等,2019)。其交互性、抽象性、高认知性的特点,可以增强数据的呈现效果,方便用户以更直观的方式观察数据,进而发现数据中隐藏的信息。该项技术正逐步成为一项研究数据表示、数据处理、决策分析等问题的综合技术。
随着城市、交通、气象等数据容量和复杂性的与日俱增,数据可视化的需求越来越大,(谢然,2014),成为人类对信息的一种新的阅读和理解方式,数据可视化系统业已成为信息化建设不可或缺的核心基础。据调查,数据可视化已广泛应用于政府、物流、金融、地产、医疗、安全、制造和教育等行业,在地震行业近年来也得到广泛应用,如:吴双等(2020)基于Matlab的GUI开发环境,开发了地震计自噪声计算可视化软件;崔满丰等(2020)对Java easysite平台进行技术开发,设计了地震应急微直播信息平台;马士振等(2020)基于Python语言,开发了宽频带地震计零位状态的实时监控与发布系统。
从模拟记录到数字化记录,历经50多年建设与发展,我国地震台网地震监测能力得到大幅提升。相关研究有:贺巍等(2016)、高鹏等(2017)、赵楠等(2017)、何少林等(2019)、姜佳宁等(2019)使用不同编程语言,开发了供电、地震观测仪器设备的远程监视软件;李刚等(2012)、高东辉等(2013)使用Nagios免费开源软件,胡玉良等(2016)使用HostMonitor商用运维管理软件,实现了区域地球物理台网中心台网服务器、网络化仪器的监控与管理。上述软件多针对某特定台网台站、某类型仪器,实现某种特定功能,或需要硬件支撑来实现对仪器设备的监视和控制,适用范围相对狭窄,推广应用具有一定局限性(姜佳宁等,2019),且可视化程度低,不便于对仪器设备的高效管理和综合监控。
本文在对数据可视化技术研究和地震观测仪器自动监控软件(以下简称SIAM)深入开发基础上,通过研发地球物理台网仪器监控可视化系统,实现Web页面对地球物理观测仪器监控结果的可视化展示,达到所见即所得的效果,通过语音播报、短信、企业微信等方式发布告警信息,提醒用户进行人工判定干预。
1 研究思路及技术途径观测数据是地震学发展的基础(钟卫星等,2016),仪器连续稳定运行又是产出高质量观测数据的基础(姜佳宁等,2019)。地球物理台网仪器监控可视化系统充分考虑了先进性、可靠性、经济性、可扩充性和易维护性等原则,以适用地震系统的综合管理需求。地球物理台网仪器监控可视化构架见图 1。
![]() |
图 1 地球物理台网仪器监控可视化系统构架 Fig.1 Architecture of instrument monitoring visualization system for geophysical network |
本系统数据存储采用SQL Sever数据库,数据库结构设计充分考虑扩展需求、移植需要,具有良好的扩展性、伸缩性和适度冗余。采用分布式设计方案,实现软件间的互联互通、功能互补和所见即所得的可视化展示功能,确保长期稳定运行。对视觉元素、操作行为、数据格式等信息进行统一,防止重复设计,保证系统操作便捷、数据的一致性和有效性,便于管理和维护。网页发布功能通过配置,使用Microsoft Windows操作系统自带的IIS(Internet Information Services)互联网信息服务组件,读取“SIAM”对观测仪器和网络设备监控结果写入的对应JS文件,实现监控结果的Web页面访问,网内用户只需通过浏览器访问运行该系统的IP地址,便可方便、快捷、直观地通过可视化页面掌握设备运行状态,若网络路由策略允许,亦可实现跨网段或互联网地址访问。监控主机通过配置使用Microsoft Windows系统自带的语音助手功能,客户端电脑启用谷歌浏览器的语音播报代码,对SIAM监控结果和最新地震信息进行文本转语音播报。充分适应地震系统综合管理需求,满足地震观测仪器监控管理、数据管理、异常报警、地震监测能力展示等需要,把地震观测仪器监控与地震信息速报整合为一个相互关联协调的综合系统,实现地震监测业务的统一管理、信息共享及联动控制。
(1)SIAM软件深层次开发。SIAM软件采用Visual Basic作为开发语言,使用单进程、多线程的工作模式进行整体架构,采用流程化结构,设计实现地球物理类仪器定时自动监控功能。对SIAM进行功能优化,将观测数据、各种监控结果以JS文件方式产出,在可视化监控页面展示。
(2)开发EqDeal软件。使用Visual Basic开发语言编写EqDeal软件,实现从位于行业网的地震目录服务器进行地震目录数据的下载、提取并转换为JS文件,以备地球物理台网仪器监控可视化系统实时读取,Wechat Message软件予以信息发布。
(3)WechatMessage软件。使用Python开发语言,编写WechatMessage软件,从SIAM定时监控结果中读取告警信息,实现通过第三方短信平台或架设于中国地震局地震预测研究所内网环境的短信服务器,发送仪器设备告警短信,通过企业微信平台发送告警图形、告警信息以及全球、全国最新地震信息。
2 可视化模块设计与实现基于Python、Java Script、ASP.NET编程语言,采用B/S架构,开发地球物理台网仪器监控可视化系统。系统界面及模块功能示意见图 2。
![]() |
图 2 地球物理台网仪器监控可视化系统界面 Fig.2 Interface of instrument monitoring visualization system of geophysical network |
该系统采用模块化设置,可进行功能扩展,且支持在移动平台上的交互式应用功能,可适应地震系统综合管理模式,满足地震观测仪器监控管理、数据管理、异常报警、地震监测能力展示等需要。
2.1 台站分布与告警通过数据可视化设置功能,读取SIAM软件中所设置的台网中心、各观测站点名称、经纬度等信息,写入对应的JS文件,按隶属关系,在json格式的行政区划底图上予以展示。若为省、直辖市和自治区地图,可单击显示为地级市地图。展示内容包含台站数量、仪器数量、告警信息数量、监控进度,异常告警时站点标识、告警条数提示等。
2.2 台网仪器监控SIAM软件中所设置的站点仪器设备台套数以蓝色柱状图方式予以展示,检测过程中发现某站点、某仪器设备异常,则触发相应告警条件,异常仪器台套数以红色柱状图予以展示。
2.3 学科仪器监控SIAM软件中所设置的各站点仪器设备信息,按地球物理观测地磁、地电、形变、流体、重力、辅助等学科划分,用蓝色柱状图分别展示,某学科、某仪器检测过程中触发告警条件,异常台套数以红色柱状图展示。可视化代码如下
plt.rcParams[‘font.sans-serif’] = [‘SimHei’] # 添加这条可以让图形显示中文
plt.rcParams[‘axes.unicode_minus’] = False
xueke =(‘辅助’, ‘形变’, ‘流体’, ‘地电’, ‘重力’, ……)
shebei_number = [3, 4, 2 2, 1, ……]
plt.bar(xueke, shebei_number)
plt.title(‘学科仪器统计’)
plt.show()
2.4 全球、全国历史及最新地震EqDeal软件定时自动从位于行业网或公网的中国地震台网中心地震目录服务器下载已公开发布的全球、全国地震目录,存储于已加密的SQL Server数据库。全球地震分布:显示全球范围内近1年M≥7.0地震的震中分布。全国地震分布:可根据用户自定义设置,显示全国范围内MS或ML两种震级标度不同震级下限的震中分布。利用可视化监控页面写入的Python代码段,实时爬取中国地震台网地震编目发布的最新地震信息,予以声音和弹框告警,同时触发短信和企业微信告警条件,同步推送相应告警信息。微信推送代码如下
# 网站地址
url = f’http://news.ceic.ac.cn/index.html?time={int(time.time())}’
# 请求数据
res=requests.get(url, headers=headers).text.encode(‘ISO-8859-1’).decode(‘utf8’)
html_ele = etree.HTML(res)
#返回列表
res = html_ele.xpath(‘//*[@id=”news”]//td//text()’)
# 如果日志为空, 发送最新的一条地震信息
if rember == ‘’:
msg = f’北京时间: {res[1]}, 在纬度: {res[2]}, 经度{res[3]} 处发生了{res[0]}级地震, 震源深度{res[4]}千米, 参考位置: {res[5]}(5分钟更新一次)’
# 发送信息
group.send(msg)
print(‘日志为空, msg: ’, msg)
2.5 仪器状态展示模块仪器状态体现了设备随时间推移所产生的变化,该模块含网络连通率、仪器时钟差2个可视化模块,可视化界面结合时间轴折线图形式予以展示。以仪器时钟差为例,代码如下
mpl.rcParams[‘font.sans-serif’] = [‘SimHei’] # 添加这条可以让图形显示中文
x_axis_data = [1, 2, 3, 4, 5]
y_axis_data = [-60, -30, 0, 30, 60]
# plot中参数的含义分别是横轴值,纵轴值,线的形状,颜色,透明度, 线的宽度和标签
plt.plot(x_axis_data, y_axis_data, ‘ro-’, color=’#4169E1’, alpha=0.8, line label=’仪器时钟差’)
# 显示标签
plt.legend(loc=”upper right”)
plt.xlabel(‘x轴数字’)
plt.ylabel(‘y轴数字’)
plt.show()
2.6 观测数据状态展示模块通过对数据连续率、数据有效率和实时观测数据等进行监控,可避免造成严重的数据丢失和产出大量错误数据的现象,有助于及时掌握仪器产出观测数据的情况。
“异常”通常是指观测数据的“非正常变化”,如雷电和降雨等自然干扰、爆破与地下水开采等人为干扰以及同震效应等,均会对不同观测仪器产生不同影响。
可利用差分分析,识别观测数据中是否存在干扰、地震或前兆异常,实现对观测数据变化幅度(下文简称变幅)异常的监视。设置合适的变幅阈值(通常设置为一阶差分最大绝对值的1.5—2倍)、数据间隔和异常类型,可监视阶变、单点突跳、连续突跳和区段异常等。
阈值是指正常观测数据的数值范围。SIAM软件通过比较观测数据和阈值的方式,监视是否即将或已经产出错误数据,实现数据的有效性分析。比如:地震或爆破引起的竖直摆、水平摆靠摆(恒定某一数值);水位探头是否即将露出水面或被淹没(大于或小于某一数值);核旋、水氡、水汞、降水量等仪器<0为错误数据,等。
仪器记录因停电等出现数据缺测时,自动使用“NULL”字符补齐,利用软件进行数据完整性分析时认定为缺测。而在数据有效性分析时,“NULL”被视为有效数据,仅将超出阈值的数据视为无效数据。
在SIAM软件使用过程中,用户需结合台站实际,根据观测仪器产出数据情况,在相应功能模块进行阈值的合理设置,如:形变类仪器对同震波和爆破记录的变幅较大,有的摆式仪器会产生靠摆现象,需要尽可能对更多地震或爆破时段的观测数据进行一阶差分分析,通过设置合理的变幅阈值达到预期监视效果。数据间隔是指,大于所设置变幅阈值的2个数据之间允许的最大间隔个数。设置该值主要用于区分地震或者短时间内间歇性出现的阶变、单点突跳及连续突跳,达2次及以上则判定为异常或干扰。任意2次异常间隔个数≤此值将被归类为“区段异常”,≥|某值|被认为是靠摆或无效,产出>2个“NULL”字符即认为数据存在缺测。
根据SIAM软件设置,对地球物理观测仪器运行状态和观测数据进行自动读取、备份以及格式转换,按照用户在仪器状态与数据监视模块中预设的各项阈值、参数进行相应判定,将观测数据和异常信息写入可视化文件,当日观测数据按设置的时间间隔,在可视化页面轮动播放,无效数据、异常变幅、干扰(突跳、阶变)、地震(连续突跳)、限幅等告警信息在台(站)网分布与告警模块予以发布,并以语音、短信、企业微信等方式予以告警。各观测仪器运行和当天数据状况一目了然,有效避免了人工操作的不便和繁琐,提高了仪器故障和数据异常发现的及时性。以河南省郑州地震台观测仪器部分测项为例,给出数据异常判定方式及判定标准,结果见表 1。
![]() |
表 1 河南省郑州地震台数据异常判定方式及判定标准 Table 1 Determination method and standard of data anomaly (abnormal data) at Zhengzhou Seismic Station in Henan Province |
河南省郑州地震台下属观测站点4个,仪器11台(套),测项47个,自2020年部署SIAM软件和地球物理台网仪器监控可视化系统。以该地震台为例,分析SIAM软件应用的实效性。如图 3所示,该台站出现停电或网络通讯故障或观测数据异常现象后,通过可视化界面一目了然,且语音播报、手机短信、企业微信同期发出告警信息,提醒工作人员及时修复,故障解决效率大幅提升。如图 4所示,SIAM软件监测到周口地电仪时钟错误及气象三要素降水量出现阶变,手机短信和企业微信同期推送告警信息。如图 5所示,2020年7月7日加罗林群岛地区6.2级地震发生后,SIAM软件及时发出信息推送。
![]() |
图 3 可视化系统监控结果页面 Fig.3 Monitoring results page of the visualization system |
![]() |
图 4 周口地震台数据异常告警 Fig.4 Data anomaly alarming of Zhoukou Seismic Station |
![]() |
图 5 2020年7月7日加罗林群岛地区MS 6.2地震消息 Fig.5 The MS 6.2 earthquake struck the Carolingian Islands on July 7, 2020 |
目前,SIAM软件已在中国地震局预测研究所、河南省地震局郑州地震台、河北省地震局张家口中心地震台等单位得到初步应用,实现监控站点19个,仪器59台(套),测项分量总数183个。通过该系统的搭建,可直观展示监测业务,有效提高地震监测、运维管理等综合业务能力,信息化程度将得到大幅提升,地球物理观测数据价值得到充分体现。
4 结束语SIAM软件利用ASP.NET和Web技术,实现了地球物理台网仪器监控可视化和告警信息多样化,适应地震系统的综合管理模式,具备在移动平台上交互式应用功能,能够满足地震观测仪器监控管理、数据管理、异常报警、地震监测能力展示等需要,实现了统一管理、信息共享及联动控制。
目前可视化系统仅初步反映了少量地球物理台网数据的时序变化情况,对观测数据的连续率、有效率仅开展了简单的统计工作,告警信息之间视图的交互特性仍需人工分析和干预判断。如何智能分析总结各信息之间的相互关系,从采集的大量数据中提取更多关键信息,以更加灵活和智能的方式取代人工判断和干预,尚需进一步研究。
崔满丰, 项楠. 地震应急微直播信息平台技术及应用[J]. 地震地磁观测与研究, 2020, 41(1): 142-147. DOI:10.3969/j.issn.1003-3246.2020.01.021 |
高东辉, 孟祥龙, 张守国, 等. 基于Nagios的网络监控系统在黑龙江地震监测网络中的应用[J]. 防灾减灾学报, 2013, 29(2): 67-73. DOI:10.3969/j.issn.1674-8565.2013.02.013 |
高鹏, 韩英, 张淑珍. 基于短信平台的地震观测系统网络监控软件的设计与开发[J]. 通信电源技术, 2017(5): 127-129. |
何少林, 代光辉, 梁建宏, 等. 自动地震速报震级测定方法研究与实时运行监控软件研制[J]. 科技成果管理与研究, 2019(3): 84-86. DOI:10.3772/j.issn.1673-6516.2019.03.032 |
贺巍, 李垚奇, 汪伟明, 等. 地震仪器网络实时监控软件的开发与应用[J]. 通信电源技术, 2016, 33(3): 105-106. DOI:10.3969/j.issn.1009-3664.2016.03.041 |
胡玉良, 程冬焱, 李惠玲, 等. HostMonitor监控软件在山西地震前兆台网的应用[J]. 地震地磁观测与研究, 2016, 37(1): 131-135. |
姜佳宁, 吴利军, 徐磊, 等. 地震观测仪器自动监控软件设计与实现[J]. 地震地磁观测与研究, 2019, 40(4): 167-175. DOI:10.3969/j.issn.1003-3246.2019.04.025 |
李刚, 王晓磊, 孙路强, 等. 基于Nagios软件的综合短信联动告警系统在地震行业中的应用研究[J]. 地震研究, 2012, 35(1): 133-138. DOI:10.3969/j.issn.1000-0666.2012.01.022 |
李学伟, 王海起. 基于R语言的交通流量数据可视化应用[J]. 地理空间信息, 2019, 17(4): 95-102. |
马士振, 陈阳, 白立新, 等. 宽频带地震计零位状态的实时监控与发布[J]. 地震地磁观测与研究, 2020, 41(1): 128-135. |
谢然. 大数据可视化之美[J]. 互联网周刊, 2014, 11: 32-34. |
吴双, 胡旭辉. 基于Matlab的地震计自噪声计算可视化软件设计[J]. 地震地磁观测与研究, 2020, 41(3): 232-238. |
赵楠, 刘莉, 韩成成, 等. 中国市县防震减灾数据采集与处理平台研发[J]. 地震地磁观测与研究, 2017, 38(3): 218-222. |
钟卫星, 束亚一, 张欢, 等. 佘山地震台地震设备监控软件开发[J]. 地震地磁观测与研究, 2016, 37(4): 153-157. |