韓貞輝 王斐斐 樊華
破壞性地震發(fā)生后,如何快速準(zhǔn)確地獲取地震災(zāi)情信息,影響著政府的救援行動,也是學(xué)者們研究的熱點(diǎn)。2007年10月中國地震局申請了“12322”號碼作為防震減災(zāi)公益服務(wù)熱線,并在全國推廣使用,河南省地震局立即響應(yīng)號召開通12322熱線,使群眾能夠在震后通過撥打熱線獲取相關(guān)災(zāi)情信息。除此之外,河南省地震局現(xiàn)有的地震災(zāi)情獲取手段還有12322短信平臺、“應(yīng)急通”災(zāi)情上報(bào)系統(tǒng)App。但這些手段被動等待人員上報(bào),時(shí)效性較低,嚴(yán)重影響了震后災(zāi)情處置效率。實(shí)踐表明,主動向?yàn)?zāi)情速報(bào)員撥打電話可以快速獲取災(zāi)情信息。目前河南省地震局已建立了多達(dá)3萬多人的災(zāi)情速報(bào)網(wǎng)絡(luò),并利用點(diǎn)抽稀方法建立了6000多人的災(zāi)情速報(bào)骨干網(wǎng)(王斐斐等,2019),成為震后黑箱期獲取地震災(zāi)情的主要渠道之一。
但此種方法也存在一定的弊端,不僅需要人工撥打,費(fèi)時(shí)費(fèi)力,而且是以紙質(zhì)地圖為基礎(chǔ)選取震中所在區(qū)域的災(zāi)情速報(bào)員,無法得知該災(zāi)情速報(bào)員與震中的準(zhǔn)確位置。無法完全滿足地震應(yīng)急工作對災(zāi)情快速獲取的工作要求。
隨著信息技術(shù)高速發(fā)展,在大眾信息化、移動互聯(lián)化的生活習(xí)慣趨勢下,微信小程序以其占用內(nèi)存小、開發(fā)框架簡單、無須下載安裝、便于后期維護(hù)升級、在iOS和安卓系統(tǒng)手機(jī)上同時(shí)運(yùn)行等優(yōu)勢,在氣象、水利、林業(yè)、醫(yī)療等行業(yè)獲得了廣泛應(yīng)用(陳靜嫻,2020;胡寒冰,2019;何瑞娜等,2020;李查瑋等,2020;原世偉等,2016),在地震行業(yè)領(lǐng)域也開展了初步應(yīng)用(王琛等,2018;肖本夫等,2020),但在地震災(zāi)情收集與處置方面總體應(yīng)用還比較少。
基于此,本文設(shè)計(jì)一套基于微信小程序的地震災(zāi)情信息收集與處置系統(tǒng)(以下簡稱“災(zāi)情速報(bào)小程序”),以期能夠?qū)崿F(xiàn)對災(zāi)情速報(bào)骨干網(wǎng)人員的空間化有效管理,為災(zāi)情調(diào)查組工作人員自動分配調(diào)查任務(wù)并通過手機(jī)端實(shí)時(shí)填報(bào)災(zāi)情,從而實(shí)現(xiàn)災(zāi)情信息的自動快速匯總展示,產(chǎn)出災(zāi)情報(bào)告,為河南省防震抗震指揮部提供決策支持和便捷化服務(wù)。該系統(tǒng)可用于河南等小震、弱震省份開展真實(shí)地震應(yīng)急或應(yīng)急演練工作,在一定程度上提高災(zāi)情信息處置效率。
本文所設(shè)計(jì)的地震災(zāi)情信息收集與處置系統(tǒng)的小程序部分,采用MINA開發(fā)框架,該框架通過封裝微信客戶端提供的文件系統(tǒng)、網(wǎng)絡(luò)通信、任務(wù)管理、數(shù)據(jù)安全等基礎(chǔ)功能,對上層提供一整套JavaScript API,有效使用了微信客戶端提供的各種基礎(chǔ)功能,快速構(gòu)建應(yīng)用??蚣芊譃橐晥D層和邏輯層,視圖層和邏輯層通過系統(tǒng)層JS Bridage進(jìn)行業(yè)務(wù)處理(圖1);并通過數(shù)據(jù)綁定和事件響應(yīng)來實(shí)現(xiàn)交互(鄭鋒等,2021)。
圖1 微信小程序MINA框架示意圖
由于小程序渲染和邏輯分離的運(yùn)行機(jī)制與傳統(tǒng)的網(wǎng)頁存在差異,所以無法使用傳統(tǒng)的網(wǎng)頁的開發(fā)調(diào)試工具,為此采用微信小程序自身開發(fā)工具IDE進(jìn)行開發(fā)調(diào)試,從而實(shí)現(xiàn)小程序的代碼開發(fā)、 編譯運(yùn)行、 界面和邏輯調(diào)試、 真機(jī)預(yù)覽和提交發(fā)布版本等功能。
地震災(zāi)情信息收集與處置系統(tǒng)主要依托微信小程序運(yùn)行。系統(tǒng)功能主要分為首頁、災(zāi)情速報(bào)、我的3個模塊。系統(tǒng)功能結(jié)構(gòu)如圖 2 所示。
圖2 系統(tǒng)功能模塊設(shè)計(jì)結(jié)構(gòu)圖
第一時(shí)間獲取災(zāi)情,是震后應(yīng)急工作的重中之重,因此災(zāi)情速報(bào)模塊是本平臺設(shè)計(jì)的核心模塊。根據(jù)震后需要及時(shí)收集災(zāi)情速報(bào)員所在位置災(zāi)情信息的工作需求,設(shè)計(jì)了急速上報(bào)子模塊,用于實(shí)現(xiàn)基于地理位置實(shí)時(shí)上報(bào)災(zāi)情或代災(zāi)情速報(bào)員上報(bào)災(zāi)情;為了快速圈定震中影響范圍內(nèi)災(zāi)情速報(bào)員信息,本系統(tǒng)設(shè)計(jì)了預(yù)估評判子模塊,能夠在震后及時(shí)獲得震中地震影響范圍,判定災(zāi)情速報(bào)員與震中的距離,為地震災(zāi)情調(diào)查人員合理分配撥打電話任務(wù)提供了重要依據(jù);隨著災(zāi)情信息的不斷收集,需要將收集到的災(zāi)情信息以行政區(qū)為單元進(jìn)行匯總統(tǒng)計(jì),并產(chǎn)出震后有感范圍圖和災(zāi)情報(bào)告,為地震應(yīng)急指揮人員提供重要的輔助決策支持,以此需求為依據(jù),設(shè)計(jì)了匯總統(tǒng)計(jì)子模塊。
同時(shí),本系統(tǒng)設(shè)計(jì)了以騰訊地圖為工作臺,實(shí)時(shí)展現(xiàn)災(zāi)情速報(bào)人員位置信息、地震事件和斷裂帶等數(shù)據(jù)的首頁功能模塊。另一方面,為了保障用戶登錄安全和滿足在震后第一時(shí)間快速添加地震事件的工作需求設(shè)計(jì)了我的功能模塊,能夠?qū)崿F(xiàn)添加地震、用戶登錄、權(quán)限管理、日志記錄功能,用于提高系統(tǒng)的安全性和完整性。
1.首頁模塊
首頁設(shè)置了6個功能按鍵的入口,分別為地圖首頁、地圖切換、手機(jī)定位、災(zāi)情速報(bào)人員分布、斷裂帶分布和地震事件分布。該模塊采用微信小程序地圖組件,實(shí)現(xiàn)了加載騰訊地圖平臺的電子地圖和衛(wèi)星影像、地圖縮放、平移等地圖的基本操作;設(shè)計(jì)了地圖圖層控制功能,系統(tǒng)將分圖層顯示地震事件、人員分布、斷裂帶分布和街景圖等數(shù)據(jù),可在界面直接點(diǎn)擊想要瀏覽的圖層;調(diào)用微信小程序?qū)崟r(shí)定位API,實(shí)現(xiàn)地圖用戶定位與地圖跳轉(zhuǎn)功能。用戶只需要在首次登錄時(shí),授權(quán)獲取開放數(shù)據(jù)并存儲,以后每次打開小程序都可以調(diào)出用戶數(shù)據(jù)。
2.災(zāi)情速報(bào)模塊
災(zāi)情速報(bào)模塊是本系統(tǒng)的核心模塊。采用原生的列表組件顯示近期地震災(zāi)情基本信息,如地震級別、發(fā)生時(shí)間、發(fā)生地點(diǎn)、震源深度等,針對列表中的單條記錄可對災(zāi)情信息進(jìn)行急速上報(bào)、預(yù)估評判、統(tǒng)計(jì)分析等功能操作。
該模塊的急速上報(bào)子功能引用小程序表單組件,自動拾取設(shè)備位置或地圖選取位置,自動解析地址填入表單作為上報(bào)地址。點(diǎn)擊災(zāi)情速報(bào)頁面急速上報(bào)按鈕,可進(jìn)入急速上報(bào)界面,系統(tǒng)會自動將災(zāi)情基本信息代入,同時(shí)上報(bào)人員可填寫上報(bào)類型、有感程度、受災(zāi)人口等災(zāi)情信息。
該模塊預(yù)估評判子功能采用地圖組件顯示地震位置、附近斷裂帶、預(yù)估有感范圍、涉及災(zāi)情上報(bào)人員等信息。點(diǎn)擊災(zāi)情速報(bào)首頁的單條災(zāi)情記錄預(yù)估評判按鈕,可進(jìn)入預(yù)估評判頁面,系統(tǒng)將分區(qū)顯示震中影響范圍內(nèi)災(zāi)情速報(bào)員所在區(qū)域以及災(zāi)情的詳細(xì)信息;點(diǎn)擊地圖區(qū)域中的對應(yīng)人員圖標(biāo),可實(shí)時(shí)顯示人員基本信息,同時(shí)可對人員實(shí)現(xiàn)通知管理和代為上報(bào)功能,即能夠調(diào)用撥號盤一鍵撥打聯(lián)系電話通知上報(bào),或代填上報(bào)信息表單。
該模塊的匯總統(tǒng)計(jì)子功能采用地圖組件顯示地震災(zāi)情影響范圍,依據(jù)上報(bào)信息分別以不同的顏色繪制顯示極災(zāi)、受災(zāi)和有感范圍,以列表按鄉(xiāng)鎮(zhèn)匯總各類受災(zāi)人員人數(shù)信息,采用docx報(bào)告模板進(jìn)行數(shù)據(jù)填充與下載分享。點(diǎn)擊災(zāi)情速報(bào)首頁單條災(zāi)情記錄匯總統(tǒng)計(jì)功能按鈕,進(jìn)入到災(zāi)情統(tǒng)計(jì)匯總頁面,可對地震災(zāi)情損失情況進(jìn)行統(tǒng)計(jì)分析,同時(shí)包含導(dǎo)出首報(bào)續(xù)報(bào)功能;點(diǎn)擊首報(bào),即可導(dǎo)出災(zāi)情首報(bào)內(nèi)容;點(diǎn)擊續(xù)報(bào),即可導(dǎo)出災(zāi)情續(xù)報(bào)內(nèi)容。
3.我的模塊
我的模塊包括微信關(guān)聯(lián)登錄驗(yàn)證、個人信息查看、新增災(zāi)情等功能。在用戶首次打開小程序時(shí),需要以手機(jī)號和驗(yàn)證碼方式驗(yàn)證用戶為災(zāi)情速報(bào)員,同時(shí)關(guān)聯(lián)并存儲用戶微信的唯一識別碼,支持后續(xù)打開小程序免認(rèn)證快速登錄。
點(diǎn)擊小程序菜單欄我的菜單按鈕,可進(jìn)入到我的信息頁面,頁面包含我的信息、登錄記錄、上報(bào)歷史、新增災(zāi)情等功能模塊;點(diǎn)擊上報(bào)歷史按鈕,進(jìn)入到當(dāng)前用戶上報(bào)災(zāi)情歷史列表頁面;點(diǎn)擊單條記錄的詳情按鈕,即可查看上報(bào)災(zāi)情的詳細(xì)信息;點(diǎn)擊新增災(zāi)情按鈕,進(jìn)入新增災(zāi)情頁面,可添加新的地震信息開展災(zāi)情收集或地震演練。
其中,新增災(zāi)情功能以表單方式錄入地震信息,并可實(shí)現(xiàn)地圖選點(diǎn)作為地震位置;可對標(biāo)準(zhǔn)模板的短信文本進(jìn)行解析,快速添加地震記錄。
地震信息收集與處置系統(tǒng)結(jié)構(gòu)如圖3所示,采用前后端分離的架構(gòu),前端負(fù)責(zé)數(shù)據(jù)的展現(xiàn)與用戶交互,后端負(fù)責(zé)業(yè)務(wù)邏輯的實(shí)現(xiàn),前后端通過應(yīng)用程序接口進(jìn)行交互。借助微信開發(fā)者工具,將Nginx作為Web服務(wù)器,PostgreSQL作為數(shù)據(jù)庫軟件,部署到阿里云服務(wù)器上。
圖3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖
前端選擇微信小程序平臺是因?yàn)槲⑿判〕绦蚰芎芎玫亟鉀Q傳統(tǒng)App的弊端,包括應(yīng)用下載安裝復(fù)雜、賬號注冊煩瑣、分享傳播不便等,而且還可以跨平臺使用,對于用戶有著輕量、便捷、流暢的體驗(yàn),對于開發(fā)者來說具有靈活、可靠和高效等優(yōu)勢(董傲通等,2019;栗琳等,2021)。WXML語言類似于傳統(tǒng)Web前端開發(fā)語言HTML,可用來搭建小程序界面組件結(jié)構(gòu);WXSS語言類似于CSS語言,可以用來定義界面組件的樣式;小程序的業(yè)務(wù)功能通過JavaScript語言來編寫。
后 端 采 用MCV(Model-Cotroller-View)模 式,Model代表數(shù)據(jù)模型,可以用來定義業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)邏輯,View代表界面組件,Controller負(fù)責(zé)具體業(yè)務(wù)的控制。前端和后端通過HTTP協(xié)議進(jìn)行JSON格式的數(shù)據(jù)傳輸,前端和后端可以靈活地選用各自的技術(shù)棧,達(dá)到前后端解耦的目的。該模式利用開發(fā)人員的分工合作,可實(shí)現(xiàn)前后端同時(shí)進(jìn)行開發(fā),前端大量代碼可以組件化,后端提供的接口一次開發(fā),多種前端平臺共用,大幅提升了開發(fā)效率。
由于河南近期沒有發(fā)生過地震,本研究選擇模擬演練的形式來檢驗(yàn)小程序的功能。本文假設(shè)2022年3月9日23時(shí)8分,在河南省鄭州市中牟縣(北緯34.78°,東經(jīng)113.95°)發(fā)生5.2級地震,震源深度10km。
首先在“我的”模塊中,選擇新增災(zāi)情功能,輸入地震三要素,經(jīng)緯度和地址信息也可以通過騰訊地圖手動選取,點(diǎn)確認(rèn)災(zāi)情,開始地震演練;此后在首頁模塊就可以查看本次地震的位置信息,并且在災(zāi)情速報(bào)模塊上就有了本次地震事件的列表(圖4)。
圖4 地震事件確定(演練)
選擇該地震事件后,點(diǎn)預(yù)估評判功能,就會自動顯示本次地震的地震影響范圍,并按照四象限把震區(qū)范圍內(nèi)的地震災(zāi)情速報(bào)員信息顯示出來(圖5),然后點(diǎn)擊該速報(bào)員的名字,可以自動撥打電話詢問災(zāi)情并代為上報(bào)災(zāi)情信息,也可以由災(zāi)情速報(bào)員自行填報(bào)災(zāi)情信息。
圖5 災(zāi)情預(yù)估評判和災(zāi)情上報(bào)
最后可以通過匯總統(tǒng)計(jì)模塊,分時(shí)段顯示本次地震的災(zāi)情情況,并導(dǎo)出相應(yīng)的報(bào)告(圖6)。
圖6 災(zāi)情統(tǒng)計(jì)及簡報(bào)生成
本研究以微信小程序?yàn)檩d體,結(jié)合地震災(zāi)情信息收集的業(yè)務(wù)需求,開發(fā)了災(zāi)情收集與處置系統(tǒng),可實(shí)現(xiàn)震后快速獲取災(zāi)情信息,自動化評估影響范圍、選取范圍內(nèi)速報(bào)人員,并進(jìn)行任務(wù)分配,實(shí)時(shí)繪制地震有感范圍圖,統(tǒng)計(jì)受災(zāi)情況,自動生成震后有感范圍圖和災(zāi)情報(bào)告。
經(jīng)過測試運(yùn)行,該系統(tǒng)能夠有效提升震后地震災(zāi)情收集效率,可用于滿足河南及鄰區(qū)小震、弱震較多情況下的地震應(yīng)急工作需求,能夠在省、市、縣地震應(yīng)急或開展地震演練時(shí)提高災(zāi)情處置效率,對于其他應(yīng)急系統(tǒng)建設(shè)也具有一定的技術(shù)參考價(jià)值。