老哥学习网 - www.lg9.cn 2024年05月06日 15:12 星期一
当前位置 首页 >公文范文 > 公文大全 >

地震应急值班信息即时编发系统设计与实现

发布时间:2023-04-06 21:45:07 浏览数:

曾维祖,杨 力,晋云霞,黄新茹,潘勇杰,张力文

(四川省地震局,四川 成都 610041)

四川是一个多强震省份,2017年1月1日至2022年6月14日共发生4.0级以上地震88次。根据四川省地震局应急响应预案,将地震灾害事件等级应急处置工作分为I—IV级响应,而地震应急值班工作作为应急处置流程中的重要环节,如何为政府提供更精准、更具时效性的应急信息产品,从而辅助政府决策、减轻地震事件影响、提升地震部门公共服务能力是当前地震应急工作中的重要研究课题(邵永谦等,2020)。目前,四川省地震局总值班室应急信息产品产出主要依靠值班员在地震事件发生后手动采编地震事件信息,并向政府相关部门上报地震信息。在震情信息文稿撰写过程中,由于地震事件具有突发性,发生时间、地点无明显规律,无法提前准备相关工作,并且上行信息中关键内容较多,规定严谨,单纯依靠人为编写应急值班信息,费时费力、且容易因人为疏忽而导致严重错误,进而造成恶劣影响。若地震信息采编工作由网络和计算机通过相关程序自动完成,无疑是科学而有效的,这样既可满足政府对信息获取的时效性要求,又可减轻值班人员的工作量,提高应急值班工作整体效率(奚冲霄等,2019)。其他行业部门已经有关于上行信息编发系统的设计研究(张洪卫等,2002;
刘继敏等,2007)。地震系统在1998年有学者针对地震信息服务的工作程序提出设想(吴忠良,1998),而后福建省地震局于2004年采用C语言与UNIX系统实现数字地震台网地震速报信息发布程序(廖诗荣等,2004),此后相关研究机构通过不同方式实现地震速报信息的快速编发,如中国地震台网中心的国家地震台网地震速报综合信息发布系统采用了实时地震数据与WebGIS服务实现通过网络为用户提供快速服务(侯建民等,2009);
江西省地震局通过MATLAB7与基于web的Google地图服务开发了地震速报信息发送软件(曾文敬等,2013);
新疆维吾尔自治区地震局基于新疆地震信息互联网门户网站,使用网站脚本、EQIM地震信息共享平台数据库和软件编程技术实现了地震速报信息自动发布(刘平仁等,2016);
北京市地震局基于JOPENS数据处理系统,利用C#和MySQL数据库技术设计软件实现了地震速报和地震目录数据服务功能(奚冲霄等,2019),另外针对非天然地震事件信息发布也设计实现了自动处理软件(奚冲霄等,2021);
上海市地震局采用JAVAEE架构设计和开发了上海测震台网业务自动化产出系统(邵永谦等,2020)。本研究结合四川省地震局应急值班工作实际流程,研发实现地震应急值班信息即时编发系统,为准确快速编发地震应急值班信息、更好地开展地震应急值班工作提供一种可靠工具,可进一步增强地震应急值班信息产出的准确性及时效性,提高震情信息发布服务质量,为上级管理部门快速决策及时部署提供有力依据。

1.1 系统总体结构

本文采用Python3.8.10作为开发语言,利用PyQt5.15.4绘制图形用户界面,设计的地震应急值班信息即时编发系统如图1所示。考虑到四川省地震应急值班工作流程,系统采用中国地震台网中心开发的一款基于微信企业号的地震信息自动推送平台,即“地震信息播报机器人”作为输入信息源,同时系统添加针对适配12322、四川地震台等正式测定短信信息适配提取规则。为进一步提高地震事件自动监测效率,本系统基于中国地震台网中心“地震信息播报机器人”微信企业号和网页微信实现了对地震事件的实时监测。

本系统可以实现以下两个主要功能:快速生成时效性要求最严格的两期地震应急值班信息;
根据震中位置自动计算相关市县及省界距离,同时绘制距离图件辅助解释。系统整体而言,分为菜单栏、模式选择栏、输入参数栏、信息源输入栏、绘图结果显示栏、计算结果显示栏、规范化测距结果显示栏、底部状态栏共八部分(图1)组成。菜单栏提供打开重要文件位置、工具、日志、帮助及文件夹路径设置功能。输入参数栏根据编发地震应急值班信息审签流程共分为当期信息期号、值班员、值班处长、带班领导四部分,并在不同模式下提供锁定输入功能,保证自动监测模式下内容正常输出。界面下部为结果显示栏,均与距离计算模块有关,分别展示震中与主要城市距离以及震中与四川距离最近县城,并实现格式化输出具体距离。底部状态栏主要显示各重要运算过程节点。系统总体架构图如图2所示。

图1 地震应急值班信息即时编发系统主界面

图2 系统架构设计

1.2 系统流程图

首先值班员通过输入地震事件正式报网页链接、正式测定短信,或通过网页微信实时监控获取地震事件正式报网页链接,再进入系统运行流程(图3)。自动监测模式下,首先利用WeChat API接口实现对中国地震台网中心地震信息播报机器人推送的地震事件进行监控,再根据信息报送规则,识别邻省及本省不同震级的地震事件,对四川M>4.0地震进行后续处理,而不满足条件的地震事件则不处理,回到监控状态,当达到报送规定震级后继续执行下一步程序,最后系统自动提取推送的地震事件正式报网页链接,采用网络爬虫技术定位提取所需关键要素形成结构化信息,根据提取的震中经纬度与各县市经纬度代入式(4)计算得到震中距及震中距主要县市距离,进而实现震情信息、距离数据、图件产品规范输出。而手动模式则采用人工输入地震信息播报机器人正式报或地震事件正式测定短信作为数据源,省去规则匹配步骤,直接对信息源内容作后续计算处理,最后实现信息、图件产品的规范化输出。

图3 系统运行流程图

根据系统设计思路,各系统功能按执行顺序分别承担事件监控、信息提取、规则识别、文件输出等功能。考虑到系统的普适性,选择采用不同开发平台的数据、程序接口并严格按照各接口使用规范获取市县经纬度坐标等地图数据以及实现微信数据监控。而地震事件基础数据源采用中国地震台网中心地震信息播报机器人推送地震事件的正式报信息,其中除地震三要素信息外,还有历史地震信息、震中周边市县及与震中距离、震中地质背景等,内容详实,根据不同信息编发模板可选用不同的内容数据,极大地提高了系统维护与更新的普适性与灵活性。

2.1 WeChat API信息实时监控

采用开源项目wxpy库及itchat库调用网页微信数据接口,实现对地震信息播报机器人推送信息的实时监控。根据微信推送类型,可分为公众号信息与个人号信息,本系统仅保留公众号信息中地震信息播报机器人所推送地震事件速报及正式报信息,其余信息均被过滤不做保存或使用,信息接收接口均为内置,微信服务器收发数据均为微信内部加密数据,外部不可抓取或调用,减少信息泄露风险。根据规则识别需报送地震事件后,监控模块可直接利用该条正式报信息链接做进一步信息提取或数据计算。WeChat API信息实时监控模块输入:期号等预输入参数、登录Web WeChat;
输出:符合报送规定的地震事件正式报链接URL。

2.2 距离计算

由于数据源所提供距离信息不满足实际应急值班工作需求,存在部分地震事件缺失距离信息的情况,且以往多采用手动测定的方式求取距离,时效性有所欠缺,故本系统编写距离计算模块用于自动计算所需关键距离信息。本系统通过两地经纬度计算距离,使用Haversine(半正矢)公式来做距离计算。半正矢在三角函数中,称(1-cosα)/2为角α的半正矢,记作havα。对于球面上任意两点,圆心角的半正矢值可以通过式(1)计算:

式中:d为两点间的距离;
r为球半径;
φ1、φ2为两点对应的纬度;
λ1、λ2为两点对应的经度;
d/r为圆心角,以弧度制度量。通过反正切函数解出d:

代入可得:

计算时取地球半径为6 371.004 km。各县市经纬度通过高德地图开发者平台API接口获取,默认为政府驻地经纬度坐标。经过多次使用测算,系统测算的距离结果与中国地震台网中心地震事件正式报的距离结果是一致的,误差约为0.26%。

2.3 文档生成

四川省地震局总值班室承担着把震情信息报送至不同行政管理部门的任务,各期地震信息均以基本固定内容的Word文档进行上报。在梳理了不同期数地震信息后,针对时效性要求最为严格的前两期地震信息,预设对应的震情信息模板,通过计算机程序提取、计算关键信息,完成模板文件的填充渲染。类似于采用Word文档书签生成模板文档(阎楷,2010),本系统使用python开源项目docxtpl库编写,该库包含两个主要库:python-docx与Jinja2。前者用于利用python语言操作docx文件(读、写、新建),后者为Python的功能齐全的通用模板语言(模板引擎、模板系统),其具备完整的unicode支持。使用占位变量的模板文件在经过动态赋值后输出对应预期文件,可近似看作一个文档渲染的过程。系统对四川省地震局应急值班信息进行了Jinja2语法改写,对发震时间、震级、经纬度、距离等22个位置做了占位处理,形成两期震情信息模板。作为模板系统Jinja2还提供了独特的语法系统用以实现控制结构、表达式、过滤器等功能。模板中的特殊占位符允许编写类似于Python语法的代码,相较于Word文档的书签功能,Jinja2得益于控制结构、表达式等功能,在模板编辑渲染、图像处理等方面更加灵活,整体运行性能和模板可读性良好,因此非专业人员亦可对模板按需做简要修改。

系统运行过程中获取到对应变量后,即可对模板文件进行统一填充渲染,并自动生成以“月-日-时-分-震中位置-震级”为名的文件夹,内含两期值班信息与两张距离图件。经测试,在系统运行得到所有占位变量后,实际动态赋值渲染操作用时约0.285 s,其效率已满足实际工作所需。

四川省地震局应急响应预案对省内及省外地震事件有着不同的处理规则,为此本系统在设计时针对省内外地震事件处理时略有区别,其区别主要体现在省内外地震事件处理时所绘制的距离图件有所不同,对于省外地震事件而言,系统绘制震中与四川省界最近距离、与四川省最近县市距离,以及震中与成都市距离;
对于省内地震事件而言,系统绘制震中与周边县市距离,以及与成都市距离。所绘制图件主要用于辅助解释说明,以备值班员更好地应对上级行政管理部门的问讯。

以2022年6月1日17时四川省雅安市芦山县6.1级地震为例,在值班时,预输入信息编发期数及人员,待地震事件发生后通过输入短信、正式报链接或使用网页微信监控“地震信息播报机器人”消息推送,系统开始运行,提取关键要素、计算距离,最后显示运行结果(图4)、绘制距离图件、输出前两期地震应急值班信息(图5)。系统能够输出两种不同来源的格式化距离输出结果:1)地震信息播报机器人中周边市县距离信息(若存在,在文档生成过程中由红色字体突出显示);
2)系统测算出的主要市县距离信息。系统计算出的距离结果与中国地震台网中心发布的距离结果基本一致,当地震信息播报机器人无距离推送时,系统计算的结果可做有效替代,同时系统提供地震事件震中与四川省界、四川最近县市、成都市距离,实际应用上更加符合四川省地震局地震应急响应预案所划分的应急响应处置流程。除上述系统描述与说明外,系统设计与实现时使用多线程方式提高整体计算效率。当数据源中含有距离信息时输出结果中将会保留系统计算结果与数据源中提供的距离信息,可供使用人员按需删改。

图4 系统运行结果界面

图5 系统输出文档结果

经过多次地震事件实际使用测试,人工编发信息所用时间为7~10 min,系统自动监测模式生成信息用时在2~5 s,手动模式用时10~15 s,且信息提取、距离计算准确,说明使用本系统能够极大地提高地震应急值班信息编发效率,减少人为疏忽造成的遗漏与错误。

开发的四川省地震局地震应急值班信息即时编发系统,集成了数据快速提取、距离快速计算、模板自动填充、规则识别、自动监测等功能,实现了15~20 s内地震应急值班信息快速规范地编发。相较于传统手工填报方法,极大地提升了工作效率,有效地避免了人为导致的震中位置经纬度、地名输入错误等问题。地震应急值班信息即时编发系统在经过多个版本完善迭代后,已经应用于实际地震应急值班工作中,且取得了良好的应用效果。自2021年4月以来,系统测试与实际部署运行期间,截至2022年6月共有效应对地震事件70次,其中2021年56次、2022年14次,值班员均能在接收到地震事件正式测定信息后2 min内无差错自动产出相应的结果,满足了上级行政管理部门对值班工作的各项要求。随着应急值班工作规则的修订,系统的修改与优化可以快速适配新要求、新规则,具备较强通用性。下一步将着力于系统外部数据更新与维护、行业内部EQIM数据接入等多个方面的更新升级,争取进一步填补突发地震事件后信息填报自动化的空白。

猜你喜欢 台网模板距离 铝模板在高层建筑施工中的应用建材发展导向(2022年23期)2022-12-22高层建筑中铝模板系统组成与应用建材发展导向(2022年20期)2022-11-03铝模板在高层建筑施工中的应用建材发展导向(2022年12期)2022-08-19地球物理台网仪器维修信息管理的研究与实现地震研究(2021年1期)2021-04-13Inventors and Inventions考试与评价·高二版(2020年2期)2020-09-10算距离小学生导刊(2018年34期)2018-12-18每次失败都会距离成功更近一步山东青年(2016年3期)2016-02-28爱的距离母子健康(2015年1期)2015-02-28距离有多远延河(下半月)(2014年3期)2014-02-28澜沧江流域小湾、糯扎渡水库地震台网震级完备性初探地震研究(2014年3期)2014-02-27

推荐访问:编发 值班 应急

相关文章:

Top