APP下载

测震站网仪器标定管理软件的研究与设计

2023-12-31宫卓宏闫美蓉彭丽娟

山西地震 2023年4期
关键词:站网测震台站

宫卓宏,梁 艳,闫美蓉,刘 发,彭丽娟

(1.山西省地震局,山西 太原 030021;2.山西省地震局大同地震监测中心站,山西 大同 037000;3.太原大陆裂谷动力学国家野外科学观测研究站,山西 太原 030025)

0 引言

地震计是测震站网的观测仪器部件,标定是检测地震计是否正常工作的手段,标定合格才能保证观测数据的质量。目前,在实验室环境下,采用振动台测试法对地震计进行绝对标定。由于振动台复杂且昂贵,省地震局很难用到振动台[1],因此,测震站网运维人员主要采用电标定法对地震计进行标定[2]。

山西数字测震站网现有57个台站,专业设备由宽频带地震计和多通道数采组成,专业设备的正常运行是做好地震监测预报预警和区域性地震危险评估等工作的重要基础,对专业设备定期开展正弦标定和脉冲标定,是监控地震计运行状态的主要手段。

山西测震站网目前采用基于MATLAB的标定计算脚本进行日常标定数据的处理[3-4],随着近年来测震站网不断增加,设备标定的工作量越来越大,采用现有的标定流程,问题越来越突出,主要有:各台站数采和地震计的组合多种多样,标定参数各异;标定计算的结果参数文件分布在不同目录的不同文件中,手动汇总较繁琐,易出现失误;各类标定步骤繁杂,缺乏记录和整理。 为此,结合工作实际,开发适用于山西测震站网仪器标定的管理软件非常必要,用以实现标定和计算数据的信息化管理,方便省地震局和各地震监测中心站维护人员管理仪器的标定和计算以及上报仪器的标定结果,针对测震站网标定结果上报所需设计不同报表模板,用户可以根据需要对标定参数信息、标定记录等进行查询和统计,既减少测震标定、计算、上报等工作量和手动汇总造成的人为错误,又能提高标定工作效率和上报结果的准确度。下面从设计思路、模块化设计实现等方面对此款标定管理系统进行介绍。

1 总体设计

为提高日常的标定工作效率,管理软件需满足以下设计目标:

(1) 契合标定流程的管理功能。

创建标定信息数据库,包含台站信息、用户信息、标定结果等多个数据表,便于管理标定流程和结果。考虑台站参数因改造等原因会有变动,需实现台站信息的录入和修改。实现标定结果直接从文件读取、入库,避免手动输入带来的操作失误。

(2) 标定流程规范化和管理汇总快捷化。

之前各维护中心的标定、计算及结果上传的流程各有不同,易出现标定结果的录入、汇总因不规范操作而出现错误。因此,规范计算结果的文件目录,不仅便于软件入库,且有利于标定流程的规范化,为汇总做准备。

(3) 工作效率的持续提升。

通过便捷的标定结果导入和汇总功能,运维人员不需要进行重复的手动处理数据,可提升工作效率。其他类型的标定汇总工作也可以通过增设相应的模板来实现。

为达成上述设计目标,该软件采用模块化设计,基于C++[5]语言,使用Qt[6-9]框架进行开发,具有五个功能模块,分别是用户管理模块、信息查询模块、标定结果录入模块、表格输出模块和后台数据库模块。整体功能如图1所示,软件流程如图2所示,其中数据库[10]模块是存储和修改数据的关键模块,其数据表的构成如表1所示。

图1 功能模块图Fig.1 Software functional module diagram

用户管理模块用于管理用户权限,控制不同权限用户对不同界面的访问。信息查询模块用于查询、修改标定台站和仪器信息、查看处理记录等,方便用户了解标定相关信息。标定结果录入模块和表格输出模块是本软件的核心功能模块,用户选定标定处理结果所在路径,使用结果录入功能即可将各台站标定结果文件中的信息提取到数据库,便于查询和导出。用户使用表格输出功能将选定数据库中需导出的标定结果条目,按照预设格式以表格形式导出。

2 功能设计

信息查询模块主要进行标定信息的整理和查询。标定结果读取模块应按照标定流程规范,依据预设的逻辑读取指定文件内容到数据库中。表格输出模块按照表格模板,将数据库中的对应内容,规范输出到表格文件中。设计的各模块要便于操作,平台要方便维护,实现及时处理异常、更新。

2.1 标定结果读取模块

该模块可解决手动处理数据带来的人为失误。由于标定结果的各项关键参数分布在结果路径下不同文件的不同数据段,按照文件规则读取时方便快捷。

结果读取的过程大致如下。首先,用户选择标定结果的文件路径,根据标定流程规范,该路径下应当以各个台站代码命名子文件夹,也是标定的各结果文件;其次,程序从数据库中读取台站代码,指定的路径+台站代码+特定文件名,得到单个台站标定结果的完整文件路径。标定结果数据以文本文件形式存储,用文件流读取到对应行,然后处理字符串即可获得所需的数据。依据此文件路径,读取对应文件中的数据并存储到数据库中。按此做法遍历台站列表,至所有台站读取完毕。文件读取界面如图3所示。

图3 信息查询和读取文件界面Fig.3 Interface of information query and reading files

选择文件夹使用QFileDialog类中的getExistingDirectory静态成员函数,读取文件使用QDir类中的setNameFilters函数筛选出要读取的文件,使用QTextStream类即文件流按行读取文件内容。

日常标定计算过程中,将标定结果按台站分类存放在文件夹中,每个台站一个文件夹,每个台站需要录入的数据在标定结果文件夹中的两个结果汇总到文本文件中。标定结果录入模块可以在用户选择对应文件夹后,逐个读取每个台站对应的两个文本文件,将该文件夹下所有台站的数据全部录入数据库中。读取流程如图4所示。

图4 读取文件流程图Fig.4 File reading process flowchart

2.2 信息查询模块

此模块主要包括三部分功能。第一是标定信息的查询(见图3)。包括各台站经纬度、标定灵敏度等。第二是标定记录查询。在标定结果读取模块将标定结果存入数据库后,在标定记录查询页面查看已经入库的标定结果条目。第三是台站更新及更新记录。各台站的标定信息可以在程序页面中进行增加、删除、修改等,历史改动都可以在更新记录页面查看,只需在台站更新页面选择记录修改信息即可。

2.3 表格输出模块

表格输出模块在用户选择需要输出的台站和格式后,把标定数据输出到对应的表格模板中,表格模板存放在软件目录下,程序跳过表格的前三行即表头,从第四行开始逐个写入数据。每个台站每个分向的数据占一行,每行有台站信息、标定时间、周期振幅等数据,分别对应表头的每一列。

用户选择需要输出的台站和格式并确定输出后,程序打开表格模板文件,从数据库中提取第一个台站的各项数据并保存到对应的单元格中;再操作下一个台站,直到写完所有选中的台站数据,最后保存表格文件。表格输出界面如图5所示。

图5 表格输出界面Fig.5 Interface of table output

用QAxObject类映射excel表格,用一些对象来对应表格中的各元素。如,workBook对应excel中的工作表,worksheet对应excel中的一个sheet表单。

外层while循环遍历各个台站,对应excel表中的一个台站(占三行);三个内层for循环对应一个台站的三个分向,每个分向占一行,每遍历完一个分向就运行“row++”即行数加1;三个分向全部遍历完后,就运行“station++”即台站数加1。重复上述过程,再对下一个台站进行操作,直到全部完成,最后保存整个excel文件。

2.4 一键读取功能的实现

由于读取、选择、输出表格的流程较繁琐,故设计一键读取功能。其原理是:选定已经整理好的标定资料目录,根据目录名或文件名遍历整个目录,一次性获取所有标定结果的资料,再将其输出到表格中(见图6)。其优点是与原有工作流程更加契合,可提高工作效率。

图6 一键读取流程图Fig.6 One-click reading process flowchart

3 系统应用

该软件自2017年部署到山西测震站网后,对57个站点的57台套测震仪器标定结果进行流程化导入,实现在数分钟内即可汇总标定结果,有效提升测震站网的标定效率。同时利用该软件建立山西地区测震仪器标定结果数据库,首次实现标定结果的信息化管理,为今后仪器运维工作提供基础数据支撑。经过几年的运行,已实现标定流程规范化和管理汇总快捷化,不仅缩短运维人员的工作时间,还可避免手动处理数据带来的人为失误,提升了测震站网标定管理的水平。

4 结语

该软件自投入运行以来,得到地震监测中心站运维人员的认可,已成为日常工作中的必要工具,其实用性和易用性得到实践的检验。对该软件的设计、开发和长时间运行结果进行分析表明,基于Qt的标定管理软件,设计方案合理,人机互动界面良好;可提高上报结果的准确性,避免手动处理数据带来的人为失误;可实现标定流程规范化和管理汇总快捷化,有效提升测震站网标定管理的水平。

猜你喜欢

站网测震台站
中国科学院野外台站档案工作回顾
基于信号精度分析的高速铁路沿线测震井地震动力反应研究
气象基层台站建设
钟祥台测震观测质量影响浅析
鲁北平原雨量站网分布与面雨量误差关系研究
辽宁流动测震观测系统现状分析
基层台站综合观测业务管理之我见
MDOS平台台站级使用方法及技巧
海河流域基本水文站网密度及布局评价
基于网络技术的测震系统在市县地震部门的应用