馬秀丹 陳姝蕎 龍海云 張晉輝
(中國北京100045 中國地震臺網(wǎng)中心)
為了及時了解國(境)外地震和火山的破壞性信息,協(xié)助相關(guān)單位制定對國(境)外地震的應(yīng)對策略,如及時提供國際援助,進一步發(fā)展各國間的友好關(guān)系,加強國際合作等,2018 年7 月中國地震臺網(wǎng)中心成立國(境)外地震和火山應(yīng)急值班小組。該小組的工作職責為對國(境)外陸地大于5.9 級、海域大于6.9 級地震的破壞性信息及時上報和持續(xù)跟蹤,規(guī)定第1 期專報產(chǎn)出時間不超過震后2.0 h。但對于國外地震,地震發(fā)生后約0.5 h 才能收到正式測定結(jié)果,2.0 h 之內(nèi)很難獲取地震的破壞性信息和確切的現(xiàn)場信息,因此,在短時間內(nèi)獲取震區(qū)人口信息、歷史地震信息顯得尤為重要。僅通過人工搜索、編輯地震的背景信息來編寫專報是一個耗時費力的過程,而且容易產(chǎn)生信息錯誤?,F(xiàn)今,利用計算機技術(shù)解放勞動力(楊伯舫,1993)已成為各行業(yè)的發(fā)展趨勢之一,同樣,利用計算機技術(shù)開發(fā)應(yīng)用軟件以提高工作效率也成為地震行業(yè)的一大特色,如地震預警系統(tǒng)(趙紀東等,2009;高峰等,2014)的研發(fā)、地震應(yīng)急指揮管理信息系統(tǒng)(姜立新等,2003)設(shè)計、地震速報系統(tǒng)的使用等。目前,多種計算機語言已應(yīng)用于地震系統(tǒng)的工作中,如基于Java 語言的(梁艷等,2019)、基于Android 系統(tǒng)的(常亮等,2019)、基于MATLAB語言的(趙志遠等,2019)、基于C#.NET 的(劉穎等,2017)等等。其中,C#語言是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C 和C++衍生出來的面向?qū)ο蟮木幊陶Z言(韋東,2011),這些特點使其得到了廣泛的應(yīng)用,如基于C#.NET 的遠程智能管理系統(tǒng)(朱濤,2015),基于C#的全球地震速報信息接收系統(tǒng)(陶鑫等,2017),基于C#的三維可視化顯示系統(tǒng)(李宇航等,2014),等等。鑒于C#語言的友好性,本文作者通過長期地震專報值班工作的積累,采用C#語言設(shè)計開發(fā)了交互式國(境)外地震背景信息產(chǎn)出系統(tǒng)。該系統(tǒng)解決了專報生成過程中重復勞動、時效性等方面的問題,降低了工作人員操作的復雜度及錯誤率。作為交互式產(chǎn)出系統(tǒng),該系統(tǒng)只需要簡單的選擇與少許的數(shù)字填寫就可以導出1 次地震的第1 期專報,縮短了專報的產(chǎn)出時間,為各單位及時應(yīng)對提供支持。
地震發(fā)生時間的不確定性,增加了編輯地震專報時獲取地震信息的難度。短時間內(nèi),第1 期專報只能給出地震的相關(guān)背景信息。這些信息包括地震基本信息、人口信息、海嘯信息、災(zāi)害評估信息、歷史地震信息等。其中,基本信息包括地震發(fā)生時間(北京時間和當?shù)貢r間)、震中位置、震級和震源深度;人口信息為震中附近一定范圍內(nèi)的人口數(shù)量;海嘯信息是指,如果地震發(fā)生在海里或者近海,可能引發(fā)海嘯的情況;災(zāi)情評估信息為地震造成人員傷亡的可能性;歷史地震信息為近10 年震中周邊一定范圍內(nèi)5 級以上地震的信息。
國(境)外地震背景信息交互產(chǎn)出系統(tǒng)是基于C#語言開發(fā)的半自動化產(chǎn)出系統(tǒng),需要少許的人工交互操作幫助產(chǎn)生專報。系統(tǒng)以Visual Studio 2012 作為開發(fā)工具,基于C#.NET 平臺開發(fā),可在裝有office 的windows 系統(tǒng)上運行。系統(tǒng)工作流程見圖1。
圖1 國(境)外地震背景信息生成流程Fig.1 Flow chart of overseas Earthquake background information generation
程序啟動后系統(tǒng)會自動獲取地震的基本信息,然后依次獲取地震的人口信息、海嘯信息、歷史地震信息和傷亡估計信息,最后程序整理獲取的地震相關(guān)內(nèi)容,導出到Word中,生成地震背景信息專報。
地震基本信息以中國地震臺網(wǎng)速報官方網(wǎng)站(http://www.ceic.ac.cn/speedsearch)發(fā)布的為基礎(chǔ)。系統(tǒng)通過訪問web 服務(wù)器,獲取到中國地震臺網(wǎng)速報官方網(wǎng)站頁面數(shù)據(jù),系統(tǒng)內(nèi)使用HtmlAgilityPack 對html 數(shù)據(jù)解析,獲取相關(guān)的地震信息數(shù)據(jù),并將其存儲到地震基本信息列表中,部分代碼及實現(xiàn)內(nèi)容如下:
獲取地震基本信息后,該信息能夠在主界面中顯示,并且以點擊“上一個”“下一個”按鈕的形式切換地震及其相關(guān)信息。系統(tǒng)界面見圖2。
圖2 國(境)外地震背景信息交互產(chǎn)出系統(tǒng)主界面Fig.2 The main interface of the system
本系統(tǒng)采用全球災(zāi)害預警與協(xié)調(diào)系統(tǒng)(GDACS)網(wǎng)站(https://www.gdacs.org/)頁面中的人口信息作為地震人口信息,其來源為歐盟委員會聯(lián)合研究中心(JRC)。由于專報須在地震發(fā)生后較短時間內(nèi)生成,因此在獲取地震人口信息過程中,先獲取GDACS 網(wǎng)站記錄的時間最近的5 次地震的人口信息。若獲取的地震中沒有某次地震的信息,則根據(jù)震中的經(jīng)緯度獲取美國地質(zhì)調(diào)查局(USGS)網(wǎng)站的人口數(shù)據(jù)。地震人口信息獲取流程見圖3。
圖3 人口信息獲取流程Fig.3 Flow chart of population information acquisition
可獲取海嘯信息的常用網(wǎng)站有美國國家海嘯預警中心和我國自然資源部海嘯預警中心,國(境)外地震背景信息交互產(chǎn)出系統(tǒng)使用自然資源部海嘯預警中心(http://www.nmefc.cn/haixiao/haixiaoxxdetail.aspx?)發(fā)布的海嘯信息作為地震的海嘯預警信息。系統(tǒng)獲取到自然資源部海嘯預警中心最近發(fā)布的20 條海嘯信息后,通過地震發(fā)生時間判斷是否為當前地震的海嘯預警信息,從而得到該地震目前的海嘯信息。自然資源部海嘯預警中心一般在地震震級達到6.5 級時發(fā)布海嘯信息,專報中的地震海嘯信息是在地震發(fā)生后2 h 內(nèi)獲取的,因此只獲取最近發(fā)布的20 條海嘯信息可以滿足需要。獲取海嘯信息的步驟:①程序讀取自然資源部海嘯預警中心網(wǎng)站的html 源代碼;②解析網(wǎng)頁源代碼獲取該網(wǎng)站最近發(fā)布的20 條海嘯信息及其鏈接;③循環(huán)讀取每個鏈接下的地震發(fā)生時間,判斷是否為當前地震的海嘯信息;④若為當前地震的海嘯信息,則從該鏈接下讀取自然資源部海嘯預警中心發(fā)布的海嘯信息內(nèi)容,并提取相關(guān)內(nèi)容應(yīng)用到專報中,同時退出循環(huán);⑤若鏈接下不存在該地震對應(yīng)的海嘯信息,則認為自然資源部海嘯預警中心對某次地震未發(fā)布海嘯信息。
使用美國地質(zhì)調(diào)查局(USGS)開發(fā)的全球地震快速評估系統(tǒng)(PAGER,https://earthquake.usgs.gov/earthquakes/eventpage/us700098qd/pager)自動產(chǎn)出的評估結(jié)果作為某次地震的人員傷亡參考信息。PAGER 是USGS 開發(fā)的一個自動系統(tǒng),通過把處于每一地震烈度的人口與基于全世界每個國家或地區(qū)歷史地震中的經(jīng)濟、人員損失模型進行比較來快速評估地震的影響(孫振凱,2013)。通常,在重大地震發(fā)生之后30 min 內(nèi)就可以得到PAGER 的估算結(jié)果。
系統(tǒng)在獲取周圍人口信息的同時會下載PAGER 估計的此次地震可能會造成的人員傷亡概率圖,值班人員人工填寫圖片中的數(shù)據(jù),最后點擊“確定”按鈕,生成專報的人員傷亡信息(圖4)。人員傷亡概率圖會隨著地震信息內(nèi)容的積累持續(xù)更新,更準確也更接近此次地震的破壞程度,通過點擊人口信息頁面中的“刷新”按鈕獲取最新的人員傷亡概率圖。值班人員可根據(jù)地震的震級、深度、位置、人口信息等對地震的破壞程度有個初步的判斷,以便于更有時效性的查詢地震的災(zāi)情信息。
圖4 地震人員傷亡信息的界面Fig.4 Interface for inputting casualty information
歷史地震信息的獲取,來源為地震科學專業(yè)知識服務(wù)系統(tǒng)網(wǎng)站(http://earthquake.ckcest.cn)的地震速報目錄庫,系統(tǒng)自動檢索出近10 年陸地距震中100 km、海域距震中200 km 范圍內(nèi)5 級以上地震信息。涉及到用經(jīng)緯度計算距離時,采用球面模型,將地球看成1 個球體,球面上2 點之間的最短距離即大圓弧長度。系統(tǒng)中采用基于球面模型計算地理空間距離的Haversine 公式來計算震中距,假設(shè):某次地震的震中為點A(lat1,lon1),歷史地震震中為點B(lat2,lon2),其中l(wèi)at 為緯度,lon 為經(jīng)度。2 個震中之間距離的計算過程如下。
(1)采用角度轉(zhuǎn)弧度公式分別將震中的經(jīng)度和緯度轉(zhuǎn)換成弧度
(2)計算震中A 和震中B 經(jīng)緯度差值的絕對值
(3)采用Haversine 公式計算∠AOB 的弧度數(shù),O 為地球的球心。
(4)根據(jù)弧長的計算公式,代入地球半徑計算2 點之間在球面的距離
R 為地球半徑,這里取平均值6 371 km。
(5)通過統(tǒng)計一定范圍內(nèi)地震的震級,計算出每個震級范圍內(nèi)的歷史地震數(shù)量以及時間最近、空間最近和震級最大的歷史地震信息。
系統(tǒng)主界面如圖2 所示。系統(tǒng)啟動后會自動獲取最新地震的基本信息,然后值班人員人工選擇要生成專報的地震、編輯人員、審核人員以及導出路徑。點擊“人口信息”頁面會自動獲取全球災(zāi)害預警與協(xié)調(diào)系統(tǒng)(GDACS)網(wǎng)站頁面中的最近5 次地震的人口信息。點擊“海嘯信息”頁面會獲取自然資源部海嘯預警中心頁面的海嘯預警信息。最后系統(tǒng)根據(jù)選擇的地震信息,匹配對應(yīng)地震的人口信息和海嘯信息,導入Word 模板。
在系統(tǒng)的調(diào)試目錄下,創(chuàng)建了一個Word 模板。在將地震背景信息導入模板過程中,系統(tǒng)首先通過復制模板創(chuàng)建1 個新文檔,然后把獲取到的地震相關(guān)消息插入到文檔中,最后生成專報。圖5 為生成的專報樣例,展示了2020 年2 月24 日伊朗西北部發(fā)生的5.9級地震的信息。
圖5 地震專報樣例Fig.5 Example of an earthquake special report
國(境)外地震背景信息交互產(chǎn)出系統(tǒng)已投入使用,借助Internet 能夠流暢獲取地震相關(guān)信息,生成背景信息專報。在各種信息源齊全的情況下,第1 期專報的產(chǎn)出時間不超過1 min,系統(tǒng)減輕了工作負擔,提高了工作效率。本文主要介紹了第1 期專報的產(chǎn)出過程,在收集地震后續(xù)相關(guān)信息時,系統(tǒng)會對幾個常用信息源自動進行監(jiān)測,如GDACS、央視網(wǎng)和中新網(wǎng)等。最新地震信息的自動監(jiān)測,降低了獲取地震信息工作的難度,進一步提高了信息的時效性。