基于C#语言的国(境)外地震背景信息交互式产出系统
2021-04-18马秀丹陈姝荞龙海云张晋辉
马秀丹 陈姝荞 龙海云 张晋辉
(中国北京100045 中国地震台网中心)
0 引言
为了及时了解国(境)外地震和火山的破坏性信息,协助相关单位制定对国(境)外地震的应对策略,如及时提供国际援助,进一步发展各国间的友好关系,加强国际合作等,2018 年7 月中国地震台网中心成立国(境)外地震和火山应急值班小组。该小组的工作职责为对国(境)外陆地大于5.9 级、海域大于6.9 级地震的破坏性信息及时上报和持续跟踪,规定第1 期专报产出时间不超过震后2.0 h。但对于国外地震,地震发生后约0.5 h 才能收到正式测定结果,2.0 h 之内很难获取地震的破坏性信息和确切的现场信息,因此,在短时间内获取震区人口信息、历史地震信息显得尤为重要。仅通过人工搜索、编辑地震的背景信息来编写专报是一个耗时费力的过程,而且容易产生信息错误。现今,利用计算机技术解放劳动力(杨伯舫,1993)已成为各行业的发展趋势之一,同样,利用计算机技术开发应用软件以提高工作效率也成为地震行业的一大特色,如地震预警系统(赵纪东等,2009;高峰等,2014)的研发、地震应急指挥管理信息系统(姜立新等,2003)设计、地震速报系统的使用等。目前,多种计算机语言已应用于地震系统的工作中,如基于Java 语言的(梁艳等,2019)、基于Android 系统的(常亮等,2019)、基于MATLAB语言的(赵志远等,2019)、基于C#.NET 的(刘颖等,2017)等等。其中,C#语言是一种安全的、稳定的、简单的、优雅的,由C 和C++衍生出来的面向对象的编程语言(韦东,2011),这些特点使其得到了广泛的应用,如基于C#.NET 的远程智能管理系统(朱涛,2015),基于C#的全球地震速报信息接收系统(陶鑫等,2017),基于C#的三维可视化显示系统(李宇航等,2014),等等。鉴于C#语言的友好性,本文作者通过长期地震专报值班工作的积累,采用C#语言设计开发了交互式国(境)外地震背景信息产出系统。该系统解决了专报生成过程中重复劳动、时效性等方面的问题,降低了工作人员操作的复杂度及错误率。作为交互式产出系统,该系统只需要简单的选择与少许的数字填写就可以导出1 次地震的第1 期专报,缩短了专报的产出时间,为各单位及时应对提供支持。
1 地震背景信息
地震发生时间的不确定性,增加了编辑地震专报时获取地震信息的难度。短时间内,第1 期专报只能给出地震的相关背景信息。这些信息包括地震基本信息、人口信息、海啸信息、灾害评估信息、历史地震信息等。其中,基本信息包括地震发生时间(北京时间和当地时间)、震中位置、震级和震源深度;人口信息为震中附近一定范围内的人口数量;海啸信息是指,如果地震发生在海里或者近海,可能引发海啸的情况;灾情评估信息为地震造成人员伤亡的可能性;历史地震信息为近10 年震中周边一定范围内5 级以上地震的信息。
2 系统设计与实现
国(境)外地震背景信息交互产出系统是基于C#语言开发的半自动化产出系统,需要少许的人工交互操作帮助产生专报。系统以Visual Studio 2012 作为开发工具,基于C#.NET 平台开发,可在装有office 的windows 系统上运行。系统工作流程见图1。
图1 国(境)外地震背景信息生成流程Fig.1 Flow chart of overseas Earthquake background information generation
程序启动后系统会自动获取地震的基本信息,然后依次获取地震的人口信息、海啸信息、历史地震信息和伤亡估计信息,最后程序整理获取的地震相关内容,导出到Word中,生成地震背景信息专报。
2.1 地震基本信息的获取
地震基本信息以中国地震台网速报官方网站(http://www.ceic.ac.cn/speedsearch)发布的为基础。系统通过访问web 服务器,获取到中国地震台网速报官方网站页面数据,系统内使用HtmlAgilityPack 对html 数据解析,获取相关的地震信息数据,并将其存储到地震基本信息列表中,部分代码及实现内容如下:
获取地震基本信息后,该信息能够在主界面中显示,并且以点击“上一个”“下一个”按钮的形式切换地震及其相关信息。系统界面见图2。
图2 国(境)外地震背景信息交互产出系统主界面Fig.2 The main interface of the system
2.2 地震人口信息的获取
本系统采用全球灾害预警与协调系统(GDACS)网站(https://www.gdacs.org/)页面中的人口信息作为地震人口信息,其来源为欧盟委员会联合研究中心(JRC)。由于专报须在地震发生后较短时间内生成,因此在获取地震人口信息过程中,先获取GDACS 网站记录的时间最近的5 次地震的人口信息。若获取的地震中没有某次地震的信息,则根据震中的经纬度获取美国地质调查局(USGS)网站的人口数据。地震人口信息获取流程见图3。
图3 人口信息获取流程Fig.3 Flow chart of population information acquisition
2.3 地震海啸信息的获取
可获取海啸信息的常用网站有美国国家海啸预警中心和我国自然资源部海啸预警中心,国(境)外地震背景信息交互产出系统使用自然资源部海啸预警中心(http://www.nmefc.cn/haixiao/haixiaoxxdetail.aspx?)发布的海啸信息作为地震的海啸预警信息。系统获取到自然资源部海啸预警中心最近发布的20 条海啸信息后,通过地震发生时间判断是否为当前地震的海啸预警信息,从而得到该地震目前的海啸信息。自然资源部海啸预警中心一般在地震震级达到6.5 级时发布海啸信息,专报中的地震海啸信息是在地震发生后2 h 内获取的,因此只获取最近发布的20 条海啸信息可以满足需要。获取海啸信息的步骤:①程序读取自然资源部海啸预警中心网站的html 源代码;②解析网页源代码获取该网站最近发布的20 条海啸信息及其链接;③循环读取每个链接下的地震发生时间,判断是否为当前地震的海啸信息;④若为当前地震的海啸信息,则从该链接下读取自然资源部海啸预警中心发布的海啸信息内容,并提取相关内容应用到专报中,同时退出循环;⑤若链接下不存在该地震对应的海啸信息,则认为自然资源部海啸预警中心对某次地震未发布海啸信息。
2.4 地震人员伤亡信息的获取
使用美国地质调查局(USGS)开发的全球地震快速评估系统(PAGER,https://earthquake.usgs.gov/earthquakes/eventpage/us700098qd/pager)自动产出的评估结果作为某次地震的人员伤亡参考信息。PAGER 是USGS 开发的一个自动系统,通过把处于每一地震烈度的人口与基于全世界每个国家或地区历史地震中的经济、人员损失模型进行比较来快速评估地震的影响(孙振凯,2013)。通常,在重大地震发生之后30 min 内就可以得到PAGER 的估算结果。
系统在获取周围人口信息的同时会下载PAGER 估计的此次地震可能会造成的人员伤亡概率图,值班人员人工填写图片中的数据,最后点击“确定”按钮,生成专报的人员伤亡信息(图4)。人员伤亡概率图会随着地震信息内容的积累持续更新,更准确也更接近此次地震的破坏程度,通过点击人口信息页面中的“刷新”按钮获取最新的人员伤亡概率图。值班人员可根据地震的震级、深度、位置、人口信息等对地震的破坏程度有个初步的判断,以便于更有时效性的查询地震的灾情信息。
图4 地震人员伤亡信息的界面Fig.4 Interface for inputting casualty information
2.5 历史地震信息的获取
历史地震信息的获取,来源为地震科学专业知识服务系统网站(http://earthquake.ckcest.cn)的地震速报目录库,系统自动检索出近10 年陆地距震中100 km、海域距震中200 km 范围内5 级以上地震信息。涉及到用经纬度计算距离时,采用球面模型,将地球看成1 个球体,球面上2 点之间的最短距离即大圆弧长度。系统中采用基于球面模型计算地理空间距离的Haversine 公式来计算震中距,假设:某次地震的震中为点A(lat1,lon1),历史地震震中为点B(lat2,lon2),其中lat 为纬度,lon 为经度。2 个震中之间距离的计算过程如下。
(1)采用角度转弧度公式分别将震中的经度和纬度转换成弧度
(2)计算震中A 和震中B 经纬度差值的绝对值
(3)采用Haversine 公式计算∠AOB 的弧度数,O 为地球的球心。
(4)根据弧长的计算公式,代入地球半径计算2 点之间在球面的距离
R 为地球半径,这里取平均值6 371 km。
(5)通过统计一定范围内地震的震级,计算出每个震级范围内的历史地震数量以及时间最近、空间最近和震级最大的历史地震信息。
3 效果展示
系统主界面如图2 所示。系统启动后会自动获取最新地震的基本信息,然后值班人员人工选择要生成专报的地震、编辑人员、审核人员以及导出路径。点击“人口信息”页面会自动获取全球灾害预警与协调系统(GDACS)网站页面中的最近5 次地震的人口信息。点击“海啸信息”页面会获取自然资源部海啸预警中心页面的海啸预警信息。最后系统根据选择的地震信息,匹配对应地震的人口信息和海啸信息,导入Word 模板。
在系统的调试目录下,创建了一个Word 模板。在将地震背景信息导入模板过程中,系统首先通过复制模板创建1 个新文档,然后把获取到的地震相关消息插入到文档中,最后生成专报。图5 为生成的专报样例,展示了2020 年2 月24 日伊朗西北部发生的5.9级地震的信息。
图5 地震专报样例Fig.5 Example of an earthquake special report
4 结束语
国(境)外地震背景信息交互产出系统已投入使用,借助Internet 能够流畅获取地震相关信息,生成背景信息专报。在各种信息源齐全的情况下,第1 期专报的产出时间不超过1 min,系统减轻了工作负担,提高了工作效率。本文主要介绍了第1 期专报的产出过程,在收集地震后续相关信息时,系统会对几个常用信息源自动进行监测,如GDACS、央视网和中新网等。最新地震信息的自动监测,降低了获取地震信息工作的难度,进一步提高了信息的时效性。