婁世平,賈榮光,楊玉永,潘 健
(山東省地震局,濟(jì)南 250102)
地震事件是一種突發(fā)性自然災(zāi)害,人類對(duì)其發(fā)展規(guī)律難以了解、難以預(yù)測(cè),一旦發(fā)生則會(huì)造成巨大的破壞和災(zāi)難性后果。地震事件的發(fā)生、發(fā)展速度很快,決策時(shí)間緊急,信息獲取難度大,必須采取非常規(guī)手段加以應(yīng)對(duì)[1]。震后應(yīng)急管理具有多主體、多因素、多尺度、多變性的特征,涵蓋決策指揮、救援處置、調(diào)查評(píng)估、監(jiān)測(cè)預(yù)報(bào)、后勤保障等多個(gè)關(guān)鍵環(huán)節(jié)。震后的信息管理在震后處置工作中尤為重要,這既關(guān)系著指揮部能否在充分的信息支撐下做出科學(xué)、有效的指揮決策以及更好地回應(yīng)媒體、公眾關(guān)切,也關(guān)系著指揮命令能否到達(dá)工作網(wǎng)絡(luò)的每一個(gè)末端節(jié)點(diǎn),協(xié)調(diào)各工作組有序開展工作[2]。
中國(guó)現(xiàn)行地震事件響應(yīng)和處置原則是“屬地為主”,各救援隊(duì)伍抵達(dá)災(zāi)區(qū)后,向地方指揮部領(lǐng)受任務(wù)并匯報(bào)工作進(jìn)展。救援隊(duì)伍不僅包括各行業(yè)的專業(yè)救援隊(duì),還包括各地的綜合救援隊(duì)伍和志愿者隊(duì)伍。這些隊(duì)伍的人員組成、隊(duì)伍能力、裝備配置都有差異,需要在統(tǒng)一的領(lǐng)導(dǎo)下協(xié)調(diào)開展工作。但是,汶川地震之后的幾次地震處置行動(dòng)反映出現(xiàn)場(chǎng)協(xié)同缺乏必要的技術(shù)手段,工作組之間、工作組與指揮部之間的溝通主要靠打電話、發(fā)短信等方式,信息共享范圍有限,協(xié)同效率低下,現(xiàn)場(chǎng)指揮部快速、及時(shí)、準(zhǔn)確把握全局工作的能力弱,直接影響了地震處置工作的開展。
地震應(yīng)急處置中的信息管理目前已經(jīng)有不少研究。賴俊彥[3]提出了利用物聯(lián)技術(shù)在地震現(xiàn)場(chǎng)快速構(gòu)建協(xié)同網(wǎng)絡(luò),實(shí)現(xiàn)災(zāi)區(qū)范圍內(nèi)不同主體間互聯(lián)互通的方法;孫曉葉[4]設(shè)計(jì)了一套地震應(yīng)急救援物資管理系統(tǒng),為相關(guān)救災(zāi)管理部門提供了一個(gè)物資信息管理平臺(tái);學(xué)峰等[5]基于Android 平臺(tái)設(shè)計(jì)了地震災(zāi)害信息采集系統(tǒng)。以上研究對(duì)地震現(xiàn)場(chǎng)信息管理做了有益探索,但主要是理論構(gòu)想,或者其研究對(duì)象主要是震后物資管理、災(zāi)情搜集等單一環(huán)節(jié),沒有形成對(duì)震后應(yīng)急管理工作全過(guò)程、全節(jié)點(diǎn)的信息管理。
為了更好地服務(wù)于地震現(xiàn)場(chǎng)處置工作,實(shí)現(xiàn)工作信息快速匯集、指揮命令準(zhǔn)確傳達(dá),本文設(shè)計(jì)研發(fā)了一套地震現(xiàn)場(chǎng)信息管理系統(tǒng)。依托本系統(tǒng),各類信息從震后出隊(duì)伊始便源源不斷地匯集、分發(fā),現(xiàn)場(chǎng)信息在不同主體間進(jìn)行了共享,指揮命令也可以快速傳達(dá)到指定工作組。地震現(xiàn)場(chǎng)的工作緊張、忙亂,辦公條件有限,本系統(tǒng)基于微信小程序開發(fā),兼容了移動(dòng)端不同的操作系統(tǒng),最大程度簡(jiǎn)化了系統(tǒng)的分發(fā)、安裝。在功能設(shè)計(jì)上,也盡量節(jié)省工作人員的操作步驟,充分調(diào)研,以現(xiàn)場(chǎng)工作的實(shí)際需要作為本系統(tǒng)的開發(fā)原則。
總結(jié)分析汶川地震、玉樹地震等破壞性地震發(fā)生后的現(xiàn)場(chǎng)應(yīng)急處置工作[6],將震后的現(xiàn)場(chǎng)工作歸納為10 個(gè)工作組(圖1)。盡管不同的地震現(xiàn)場(chǎng)處置工作中,其組織結(jié)構(gòu)不盡相同,但是現(xiàn)場(chǎng)工作基本都可以納入本文所歸納的工作組。指揮部指令,任務(wù)完成后及時(shí)反饋。指令流轉(zhuǎn)的過(guò)程中,信息流向必須明確,任務(wù)執(zhí)行時(shí)可以通過(guò)本系統(tǒng)溝通協(xié)調(diào),任務(wù)狀態(tài)發(fā)生變化時(shí)即時(shí)更新。
圖1 震后現(xiàn)場(chǎng)應(yīng)急處置工作分組
信息管理系統(tǒng)也應(yīng)具備信息廣播功能,將地震現(xiàn)場(chǎng)編發(fā)的工作簡(jiǎn)報(bào)、通知公告等盡快傳達(dá)到每一個(gè)人。
系統(tǒng)還應(yīng)具備用戶的分級(jí)、分組管理功能。每一名現(xiàn)場(chǎng)工作人員除了對(duì)應(yīng)一個(gè)組別之外,在系統(tǒng)中還應(yīng)對(duì)應(yīng)一個(gè)權(quán)限,以區(qū)分其不同的操作層級(jí)。管理員權(quán)限最高,可以進(jìn)行用戶信息審核、地震事件管理、發(fā)布通知公告等操作;指揮員可以進(jìn)行任務(wù)下達(dá)等操作;普通用戶可以進(jìn)行信息上報(bào)、信息查詢、受領(lǐng)任務(wù)并反饋結(jié)果等一般性操作。
根據(jù)以上需求分析,對(duì)用戶、需求、系統(tǒng)功能單元之間的關(guān)系進(jìn)行規(guī)劃設(shè)計(jì)(圖2)。
圖2 系統(tǒng)功能結(jié)構(gòu)圖
地震現(xiàn)場(chǎng)信息管理系統(tǒng)分組以圖1 為依據(jù)。組別的配置參數(shù)保存在云端,如果現(xiàn)場(chǎng)需要臨時(shí)調(diào)整組別,可以很方便地修改云端的配置參數(shù),即可實(shí)現(xiàn)小程序端組別的變化,而不需要修改小程序代碼再重新發(fā)布,很好地適應(yīng)了復(fù)雜多變的現(xiàn)場(chǎng)情況。
地震一旦發(fā)生,地震預(yù)案立即啟動(dòng),人員到位,裝備就緒,一切處于緊張、忙碌的狀態(tài)。在震后的應(yīng)急處置工作中,需要一根線,將時(shí)間、空間上的各環(huán)節(jié)聯(lián)系起來(lái),才能有效形成合力,讓震后應(yīng)急工作忙碌而不慌亂、緊張而有節(jié)奏。要實(shí)現(xiàn)這個(gè)目的,信息暢通是關(guān)鍵。
震后信息管理系統(tǒng)首先應(yīng)該是一個(gè)信息共享的平臺(tái)?,F(xiàn)場(chǎng)所有工作人員都可以通過(guò)本系統(tǒng)報(bào)送信息,現(xiàn)場(chǎng)信息通過(guò)系統(tǒng)不斷更新拓展信息匯聚的渠道。系統(tǒng)也要提供一種便捷的信息查詢方式,用戶可以根據(jù)需要,設(shè)置查詢條件,查詢自己關(guān)注的信息。信息要能夠?qū)С龅奖镜兀欣诤笃谔幚怼?/p>
地震現(xiàn)場(chǎng)情況不斷變化,指令傳達(dá)的及時(shí)性、準(zhǔn)確性至關(guān)重要。信息管理系統(tǒng)也應(yīng)建立一套指令流轉(zhuǎn)機(jī)制:現(xiàn)場(chǎng)指揮部在全面掌握現(xiàn)場(chǎng)情況的前提下,做出決策,并對(duì)相關(guān)組下達(dá)指令;工作組受領(lǐng)
隨著微信功能的不斷擴(kuò)張,微信已經(jīng)從一個(gè)聊天工具逐漸轉(zhuǎn)變成了一個(gè)生態(tài)系統(tǒng)??梢酝ㄟ^(guò)微信小程序設(shè)計(jì)師生交互系統(tǒng)、野外調(diào)查系統(tǒng)、實(shí)驗(yàn)室管理系統(tǒng)等[7-9],展現(xiàn)了微信小程序在輕量化應(yīng)用上的巨大潛力?;谖⑿怒h(huán)境開發(fā)的微信小程序兼容了IOS、Android 等不同的操作系統(tǒng),而且與原生App 相比,無(wú)需下載安裝,用戶掃描二維碼即可運(yùn)行,也非常適應(yīng)于緊張、快節(jié)奏的地震現(xiàn)場(chǎng)工作環(huán)境。
微信小程序的開發(fā)框架被命名為MINA(圖3),目標(biāo)是通過(guò)盡可能簡(jiǎn)單、高效的方式讓開發(fā)者可以在微信中開發(fā)具有原生APP 體驗(yàn)的服務(wù)。MINA 框架通過(guò)封裝微信客戶端提供的文件系統(tǒng)、網(wǎng)絡(luò)通信、任務(wù)管理、數(shù)據(jù)安全等基礎(chǔ)功能,對(duì)上層提供一整套JavaScript API,讓開發(fā)者方便地使用微信客戶端提供的各種基礎(chǔ)功能與能力,快速構(gòu)建應(yīng)用。
圖3 微信小程序MINA 框架示意圖
MINA 框架主要分為頁(yè)面視圖層和應(yīng)用邏輯層兩大部分。頁(yè)面視圖層由WXML 和WXSS 文件構(gòu)成,開發(fā)者使用WXML 文件來(lái)搭建頁(yè)面的基本視圖結(jié)構(gòu),使用WXSS 文件來(lái)控制頁(yè)面的表現(xiàn)樣式。AppService 應(yīng)用邏輯層是MINA 框架的服務(wù)中心,使用JavaScript 編寫,通過(guò)微信客戶端啟動(dòng)異步線程單獨(dú)加載運(yùn)行,頁(yè)面渲染所需的數(shù)據(jù)、頁(yè)面交互處理邏輯都在其中實(shí)現(xiàn)。MINA 框架的核心是一個(gè)響應(yīng)式的數(shù)據(jù)綁定系統(tǒng),能讓數(shù)據(jù)與視圖很簡(jiǎn)單地保持同步,只需要在邏輯層修改數(shù)據(jù),視圖層就會(huì)做相應(yīng)的更新。
地震現(xiàn)場(chǎng)信息管理系統(tǒng)系統(tǒng)采用微信小程序云開發(fā),無(wú)需搭建服務(wù)器,可免鑒權(quán)直接使用平臺(tái)提供的 API 進(jìn)行業(yè)務(wù)開發(fā)。云端提供了一個(gè)文檔型數(shù)據(jù)庫(kù),采用JSON 對(duì)象記錄數(shù)據(jù);提供了一塊存儲(chǔ)空間,可以將文件、圖片等上傳到云端;提供了一個(gè)云函數(shù)的運(yùn)行環(huán)境,開發(fā)者在開發(fā)工具中編寫云函數(shù)代碼,一鍵上傳部署到云端。
該系統(tǒng)用戶信息、工作信息、任務(wù)信息、通知公告等都通過(guò)客戶端小程序上傳到云端數(shù)據(jù)庫(kù),組別、權(quán)限等配置數(shù)據(jù)也保存在云端數(shù)據(jù)庫(kù)(圖4)。用戶登錄時(shí)首先從云端加載配置數(shù)據(jù),實(shí)現(xiàn)了配置修改的靈活性。用戶上傳的文件、圖片等保存在云端存儲(chǔ),通過(guò)傳遞File ID 調(diào)用。鑒權(quán)管理、消息推送、大文件產(chǎn)出等部分功能通過(guò)部署在云端的云函數(shù)進(jìn)行了實(shí)現(xiàn)。
圖4 系統(tǒng)架構(gòu)
系統(tǒng)登錄時(shí),會(huì)首先調(diào)用云函數(shù)login,自動(dòng)鑒權(quán)獲得微信用戶的openid,返回小程序端。小程序端以openid 為參數(shù),查詢數(shù)據(jù)庫(kù)里是否保存有該用戶的注冊(cè)信息。如果該用戶處于正常狀態(tài),則自動(dòng)登錄系統(tǒng);如果該用戶未通過(guò)審核,或者已被加入黑名單,則禁止登錄;如果數(shù)據(jù)庫(kù)里沒有該用戶注冊(cè)信息,則進(jìn)入用戶注冊(cè)界面,用戶填寫個(gè)人信息提交審核。具備管理員權(quán)限的用戶審核注冊(cè)信息,對(duì)于申請(qǐng)管理員、指揮員權(quán)限的用戶,需要進(jìn)一步核實(shí)用戶身份。管理員也可將不符合要求的用戶加入黑名單,禁止其登錄系統(tǒng)。已注冊(cè)用戶可進(jìn)入修改用戶信息界面,修改權(quán)限、組別等個(gè)人信息,重新提交審核。用戶管理功能的狀態(tài)如圖5所示。
圖5 用戶管理功能狀態(tài)圖
用戶登錄主要代碼如下:
工作信息、任務(wù)信息都與特定地震相關(guān)聯(lián)。用戶在登錄系統(tǒng)后,首先要選擇當(dāng)前要響應(yīng)的地震,才能進(jìn)行信息上報(bào)和任務(wù)管理。
管理員具備地震事件管理權(quán)限,可以創(chuàng)建地震事件,更新地震列表,用戶在列表中選擇地震事件,進(jìn)行后續(xù)響應(yīng)。選定地震后,在首頁(yè)的地震信息欄中,除顯示地震的震級(jí)、發(fā)震位置、發(fā)震時(shí)間外,還通過(guò)自動(dòng)抓取當(dāng)前位置信息,實(shí)時(shí)更新與地震的直線距離。為便于現(xiàn)場(chǎng)人員迅速趕往震中,系統(tǒng)設(shè)計(jì)了一鍵導(dǎo)航功能,自動(dòng)將震中位置作為目標(biāo)點(diǎn),規(guī)劃導(dǎo)航路線。
信息共享功能提供了一個(gè)現(xiàn)場(chǎng)各類信息匯聚和訪問(wèn)的通道,充分考慮了現(xiàn)場(chǎng)工作的緊迫性,最大程度降低用戶填報(bào)信息的工作量。系統(tǒng)同時(shí)設(shè)計(jì)了震時(shí)和平時(shí)兩套信息共享渠道,既可用于震后的應(yīng)急響應(yīng),也可用于平時(shí)現(xiàn)場(chǎng)技術(shù)系統(tǒng)的運(yùn)行、更新、維護(hù)等方面的工作信息報(bào)送。
系統(tǒng)根據(jù)各個(gè)組別的任務(wù)分工,設(shè)計(jì)不同信息上報(bào)模板。點(diǎn)擊“信息上報(bào)”,系統(tǒng)會(huì)根據(jù)用戶所在的組別,自動(dòng)進(jìn)入相應(yīng)的上報(bào)頁(yè)面。進(jìn)入上報(bào)頁(yè)面后,系統(tǒng)將用戶個(gè)人信息、組別信息等登錄狀態(tài)信息自動(dòng)填入相關(guān)字段; 通過(guò)JSBridge 調(diào)用Native 功能接口,獲取當(dāng)前經(jīng)緯度數(shù)據(jù),該經(jīng)緯度為GCJ-02 坐標(biāo)系,為便于后期在ArcGIS 等軟件中加載處理,小程序端將GCJ-02 坐標(biāo)自動(dòng)轉(zhuǎn)換為WGS-84 坐標(biāo),兩種坐標(biāo)一并上傳到云端保存;獲取經(jīng)緯度坐標(biāo)后,調(diào)用騰訊位置服務(wù)接口,獲得當(dāng)前參考位置;調(diào)用天氣API 接口,將參考位置作為參數(shù)傳入,獲得當(dāng)前地區(qū)的天氣情況。用戶填寫工作信息,選擇現(xiàn)場(chǎng)照片,連同系統(tǒng)自動(dòng)抓取的信息,一起上報(bào)到云端。照片經(jīng)過(guò)壓縮后上傳,節(jié)省了數(shù)據(jù)流量。信息上報(bào)的狀態(tài)如圖6所示。
圖6 信息上報(bào)功能狀態(tài)圖
位置獲取主要代碼如下
上報(bào)信息保存在云端,用戶通過(guò)輸入上報(bào)時(shí)間、上報(bào)地區(qū)、相關(guān)地震、上報(bào)內(nèi)容等查詢條件,查詢所需要的信息。信息以JSON 字符串的形式返回小程序端,在“信息詳情”頁(yè)面上解析顯示。如果信息包含圖片,則通過(guò)File ID 訪問(wèn)云端存儲(chǔ),在小程序端下載并顯示圖片。
地震應(yīng)急處置過(guò)程通過(guò)本系統(tǒng)詳盡記錄,留存了一份重要的檔案資料,震后每個(gè)階段發(fā)生了什么、哪些單位哪些人做了哪些事、任務(wù)是否按要求完成……在云端都有記錄。如果要組織新聞報(bào)道,或者工作總結(jié),都可以按需查詢。為便于信息使用,系統(tǒng)設(shè)計(jì)了將查詢信息導(dǎo)出為Excel 文檔的功能。鑒于小程序客戶端有存儲(chǔ)空間限制,本系統(tǒng)通過(guò)上傳部署云函數(shù),在云端實(shí)現(xiàn)了自動(dòng)鑒權(quán)訪問(wèn)數(shù)據(jù)庫(kù)和產(chǎn)出查詢結(jié)果的Excel 文檔,Excel 文檔的一行對(duì)應(yīng)數(shù)據(jù)庫(kù)中的一條記錄。產(chǎn)出的Excel 文檔保存在云端存儲(chǔ),小程序端通過(guò)File ID 獲取資源,可以直接保存到手機(jī)存儲(chǔ),也可以生成下載鏈接,分享給其他用戶,或者通過(guò)電腦端下載。
云函數(shù)中生成Excel 的主要代碼如下:
任務(wù)列表分所有任務(wù)、已完成任務(wù)、未完成任務(wù)3 個(gè)標(biāo)簽頁(yè)分類顯示,并且顯示每個(gè)任務(wù)狀態(tài)。指揮員可以創(chuàng)建任務(wù)、設(shè)定任務(wù)時(shí)限、選擇任務(wù)流向、指定工作組完成任務(wù)。任務(wù)下達(dá)后,指定工作組的所有人員都會(huì)接到通知,在任務(wù)列表中顯示已下達(dá)的任務(wù)。在任務(wù)執(zhí)行過(guò)程中,如果需要溝通協(xié)調(diào),可以在任務(wù)詳情頁(yè)面中進(jìn)行交流,一個(gè)任務(wù)詳情頁(yè)面就相當(dāng)于一個(gè)任務(wù)主題的聊天室。完成交辦任務(wù)后進(jìn)行回復(fù),系統(tǒng)自動(dòng)計(jì)算任務(wù)是否超時(shí),為后期的工作考核提供客觀依據(jù)。
對(duì)于需要廣播周知的內(nèi)容,管理員可以創(chuàng)建并發(fā)布通知公告。通知公告除了可以發(fā)布文字信息,還可以添加文件、圖片等附件,是地震現(xiàn)場(chǎng)動(dòng)態(tài)信息的發(fā)布窗口。
2020年8月,系統(tǒng)開發(fā)基本完成,在山東省地震局的日常工作中進(jìn)行了試運(yùn)行。山東是少震省份,缺少真實(shí)地震響應(yīng),故以日常演練為契機(jī),對(duì)系統(tǒng)各功能模塊進(jìn)行了測(cè)試。
在2020年8月、10月、12月的常規(guī)演練中,通過(guò)本系統(tǒng)設(shè)置了地震事件,啟動(dòng)地震應(yīng)急響應(yīng)。現(xiàn)場(chǎng)應(yīng)急指揮車機(jī)動(dòng)到距離駐地100 km 之外的濟(jì)南市萊蕪區(qū),進(jìn)行應(yīng)急技術(shù)保障工作。
以10月26日的演練為例,選擇地震事件后,在首頁(yè)顯示了當(dāng)前地震相關(guān)信息,并不斷更新與震中的直線距離(圖7)。在任務(wù)管理界面中,每個(gè)任務(wù)都有任務(wù)狀態(tài)標(biāo)識(shí)(圖8)。首先受領(lǐng)12 時(shí)31 分下達(dá)的2 h 內(nèi)機(jī)動(dòng)至萊蕪區(qū)預(yù)定地域的任務(wù)(圖9)。13 時(shí)50 分,抵達(dá)預(yù)定地域,回復(fù)任務(wù),狀態(tài)更新,任務(wù)狀態(tài)顯示“已完成”、“未超時(shí)”。在任務(wù)處置過(guò)程中,隨時(shí)在“任務(wù)詳情”匯報(bào)工作進(jìn)展。
圖7 系統(tǒng)首頁(yè)
圖8 任務(wù)列表
圖9 任務(wù)詳情
演練中的工作信息通過(guò)“信息上報(bào)”模塊進(jìn)行上報(bào),系統(tǒng)自動(dòng)選擇“現(xiàn)場(chǎng)應(yīng)急技術(shù)組”上報(bào)模板。在上報(bào)頁(yè)面中,上報(bào)人、位置、天氣等信息都是自動(dòng)獲取的,上報(bào)時(shí)只需要專注于上報(bào)內(nèi)容的填寫(圖10)。點(diǎn)擊上報(bào)后,上報(bào)是否成功有明確反饋。上報(bào)信息保存在云端,系統(tǒng)用戶共享該信息。在“信息查詢”頁(yè)面,通過(guò)設(shè)置起始時(shí)間、上報(bào)人組別等查詢條件進(jìn)行查詢(圖11),返回2020年10月26日演練記錄列表(圖12)。點(diǎn)擊下方的“導(dǎo)出Excel”按鈕,將云端數(shù)據(jù)庫(kù)里的演練信息導(dǎo)出為Excel,并下載到本地。點(diǎn)擊信息列表,進(jìn)入信息詳情,詳細(xì)顯示了上報(bào)的文字、圖片信息,以及上報(bào)位置和震中位置(圖13)。為防止個(gè)別用戶上報(bào)無(wú)關(guān)或者有害信息,管理員具備信息管理權(quán)限,可以甄別刪除上報(bào)信息。
圖10 信息上報(bào)
圖11 信息查詢
圖12 信息列表
圖13 信息詳情
在演練中,也模擬發(fā)布了通知公告(圖14)。管理員在微信小程序客戶端即可編輯通知、添加附件,便于在地震現(xiàn)場(chǎng)操作。通知發(fā)布后,所有用戶接收到消息提醒。通知詳情頁(yè)面采用了大家熟悉的WEB 頁(yè)面布局,通知內(nèi)容、附件等排版清晰,閱讀方便。
圖14 通知列表
演練信息通過(guò)本系統(tǒng)導(dǎo)出為Excel 文件后,在ArcGIS 中進(jìn)行了加載,將經(jīng)度、緯度字段作為X、Y坐標(biāo),展布到底圖上,震中位置、信息上報(bào)位置一目了然,是一個(gè)非常好的工作總結(jié)和展示(圖15)。
圖15 演練信息制圖
地震現(xiàn)場(chǎng)各工作隊(duì)由于來(lái)自不同單位,相互之間缺少了解和默契,在地震現(xiàn)場(chǎng)工作中的信息暢通就顯得尤為重要。本文基于微信小程序,設(shè)計(jì)了一套地震現(xiàn)場(chǎng)信息管理系統(tǒng),通過(guò)信息共享、任務(wù)管理、通知公告等功能模塊,實(shí)現(xiàn)了地震現(xiàn)場(chǎng)的信息融合,增強(qiáng)了地震現(xiàn)場(chǎng)工作的協(xié)同性。本系統(tǒng)還需在后期的實(shí)際應(yīng)用中不斷反饋需求,修改完善,真正發(fā)揮其信息融合平臺(tái)的作用。