吳 倩 ,孫銘聰 ,陳國輝 ,陳 繼 ,馬曉平 ,劉敦龍
(1.四川省地質(zhì)工程勘察院集團有限公司,四川 成都 610072;2.成都信息工程大學(xué),四川 成都 610225)
我國地質(zhì)災(zāi)害種類多、分布廣、災(zāi)情嚴重,是世界上地質(zhì)災(zāi)害最嚴重的國家之一,威脅著人民生命財產(chǎn)安全[1]。據(jù)統(tǒng)計,除地震外的各類地質(zhì)災(zāi)害平均每年造成1000 多人死亡、經(jīng)濟財產(chǎn)損失上100 億元,地質(zhì)災(zāi)害防災(zāi)減災(zāi)工作顯得尤為迫切[2]。
隨著遙感衛(wèi)星、無人機與地理信息等技術(shù)被用于地質(zhì)災(zāi)害調(diào)查和監(jiān)測,地質(zhì)災(zāi)害數(shù)據(jù)呈現(xiàn)出多源性、多時相性、異構(gòu)性、多尺度、多分辨率等特點,地質(zhì)災(zāi)害數(shù)據(jù)日益呈現(xiàn)出海量發(fā)展趨勢[3]。傳統(tǒng)地質(zhì)災(zāi)害信息管理系統(tǒng)由于沒有統(tǒng)一的數(shù)據(jù)集成框架及直觀的數(shù)據(jù)展示,已無法滿足災(zāi)害信息管理的迫切需求[4]。REST(表述性狀態(tài)傳遞,Representational State Transfer)是一種輕量級的軟件架構(gòu)風(fēng)格,已普遍地取代了基于SOAP 和WSDL 的接口設(shè)計,具有很好的應(yīng)用前景。
本文的三維地質(zhì)災(zāi)害監(jiān)測預(yù)警平臺采用C/S 開發(fā)模式,結(jié)合REST 服務(wù),可對地質(zhì)災(zāi)害監(jiān)測數(shù)據(jù)實施有效的組織管理與集成、實時預(yù)警運算與發(fā)布、三維可視化展示。同時,本平臺具有性能可靠、開放易擴展等優(yōu)勢,對豐富地質(zhì)災(zāi)害信息管理系統(tǒng)的功能,提高工作效率和數(shù)據(jù)共享等方面具有很大借鑒意義。
基礎(chǔ)平臺提供了三維GIS 的基礎(chǔ)運行環(huán)境,包括地球橢球體模型構(gòu)建,三維場景瀏覽控制,矢量數(shù)據(jù)、地形數(shù)據(jù)與影像數(shù)據(jù)可視化展示,圖形數(shù)據(jù)緩存及投影轉(zhuǎn)換等基礎(chǔ)功能,并通過業(yè)務(wù)功能模塊的擴展使平臺在地質(zhì)災(zāi)害監(jiān)測方面的應(yīng)用更具專業(yè)性。
為充分利用本地運算能力以呈現(xiàn)更好的三維展示效果,平臺采用了桌面客戶端形式以C#語言進行開發(fā),以.NET Framework 4.0 為開發(fā)框架,結(jié)合了分布式數(shù)據(jù)庫架構(gòu)和第三方控件DevExpress。DevExpress 控件具有功能豐富、應(yīng)用簡便、界面華麗、方便定制等優(yōu)點。
基礎(chǔ)平臺的GIS 功能模塊利用ArcGIS Engine 開發(fā)組件,用戶界面采用DevExpress 提供的系列控件,三維呈現(xiàn)采用ArcGISGlobe 三維數(shù)字地球引擎構(gòu)建基礎(chǔ)地球結(jié)構(gòu);業(yè)務(wù)邏輯部分根據(jù)監(jiān)測預(yù)警平臺需求,包括了圖層管理、球體漫游、空間測量、空間標繪、數(shù)據(jù)可視化、REST請求處理等功能模塊;用戶界面結(jié)合業(yè)務(wù)邏輯模塊構(gòu)成了三維GIS 平臺。
基礎(chǔ)三維GIS 平臺主要由三維模型、可視視圖、事件監(jiān)聽和圖層數(shù)據(jù)四大模塊構(gòu)成。三維模型由球體模型,基礎(chǔ)圖層和拼接控制構(gòu)成;在三維模型基礎(chǔ)上建立可視視圖,視圖通過顯示器展示,并根據(jù)用戶操作通過場景控制反饋到可視視圖;事件監(jiān)聽可以對所有事件進行監(jiān)聽并執(zhí)行相應(yīng)程序,圖層數(shù)據(jù)可通過本地緩存文件或者通過基于HTTP 的Web 服務(wù)訪問地圖服務(wù)器獲取。
地質(zhì)災(zāi)害監(jiān)測是通過采用多種觀測設(shè)備對地質(zhì)災(zāi)害的發(fā)育、發(fā)展過程進行不間斷的長期觀測,并基于一定量的監(jiān)測數(shù)據(jù),通過分析、處理與計算等,判斷地質(zhì)災(zāi)害的穩(wěn)定狀況及其發(fā)展趨勢。其目的是為了獲悉并掌握地質(zhì)災(zāi)害的發(fā)展規(guī)律,及時捕捉到地質(zhì)災(zāi)害發(fā)生的前兆信息,提升科技防災(zāi)減災(zāi)水平。監(jiān)測的內(nèi)容主要為可反映地質(zhì)災(zāi)害穩(wěn)定狀況的相關(guān)信息,如雨量、地聲、次聲、地表位移、土壤含水量、地表裂縫、視頻、泥水位、撞線等。
平臺的數(shù)據(jù)管理主要包括監(jiān)測設(shè)備管理、報警閾值管理、警情數(shù)據(jù)管理和用戶管理四大模塊。具體如下:
(1)監(jiān)測設(shè)備管理包含測點管理和設(shè)備管理兩個模塊,測點管理是對監(jiān)測點位/區(qū)域的相關(guān)信息進行管理以及測點位置可視化展示;設(shè)備管理是對監(jiān)測儀器的相關(guān)信息進行管理。測點與設(shè)備具有一對多的關(guān)系,即一個測點可以包含多個監(jiān)測設(shè)備。
(2)報警閾值管理模塊是設(shè)置不同監(jiān)測點位/區(qū)域上的不同監(jiān)測設(shè)備在不同預(yù)警等級的報警閾值。若監(jiān)測數(shù)據(jù)超過相關(guān)預(yù)設(shè)閾值,則發(fā)出相應(yīng)等級的報警信息,可通過發(fā)送短信以及在系統(tǒng)的三維球體上的相應(yīng)位置閃爍相應(yīng)顏色的預(yù)警圖標。由于在不同監(jiān)測區(qū)域,誘發(fā)地質(zhì)災(zāi)害的閾值條件存在差異,需要針對監(jiān)測區(qū)域的特性,單獨設(shè)置不同監(jiān)測區(qū)域內(nèi)的不同監(jiān)測設(shè)備的報警閾值。
(3)警情數(shù)據(jù)管理是對已報警的數(shù)據(jù)記錄進行處理,有延遲預(yù)警和已查看兩種方式。延遲預(yù)警是指在規(guī)定時間內(nèi),若警情沒有升級,則不再發(fā)出報警信息;若警情升級,則仍要發(fā)出報警信息;超出規(guī)定時間后,若監(jiān)測數(shù)據(jù)超過預(yù)設(shè)閾值,則發(fā)出報警信息。已查看是指對本次預(yù)警情況已知曉,若后續(xù)的監(jiān)測數(shù)據(jù)超過了預(yù)警閾值,仍要發(fā)出相應(yīng)的報警信息。
(4)用戶管理模塊是對用戶信息進行管理,用戶類型分為普通用戶、管理員和超級管理員三種權(quán)限,普通用戶只能進行瀏覽查看;管理員用戶可以對測點、監(jiān)測儀器、報警閾值和警情進行管理,但無法對用戶信息進行操作;超級管理員則具有超級權(quán)限,允許進行系統(tǒng)的所有操作。
根據(jù)地質(zhì)災(zāi)害監(jiān)測對象不同,可以分為單體地質(zhì)災(zāi)
R 值為綜合預(yù)警等級指數(shù),Wi為第i 個評價指標權(quán)重,Pi表示第i 個評價指標的單因素分級指數(shù)。
平臺所需的地理數(shù)據(jù)主要包括底圖切片、DEM 高程數(shù)據(jù)、DOM 數(shù)據(jù)、監(jiān)測設(shè)備圖標以及空間矢量數(shù)據(jù)。目前,主流的GIS 服務(wù)器軟件大都具備REST 服務(wù)能力,如商業(yè)軟件ArcGIS、SuperMap 等,開源軟件GeoServer 等,它們的RESTAPI 封裝了開發(fā)所需的GIS 功能,包括地圖、數(shù)據(jù)等,可將這些GIS 功能以資源形式提供,平臺客戶端通過編寫REST 接口程序?qū)Y源進行操作,獲取相應(yīng)的GIS 能力。地理信息服務(wù)集成主要分成了客戶端表現(xiàn)層、地理信息服務(wù)層和地理數(shù)據(jù)層三大部分。
在服務(wù)端,業(yè)務(wù)邏輯層為監(jiān)測數(shù)據(jù)的操作提供相應(yīng)的URI 和允許的HTTP 操作??蛻舳送ㄟ^URI 和HTTP方法來請求數(shù)據(jù)服務(wù),用以操作相應(yīng)的監(jiān)測數(shù)據(jù)。REST服務(wù)的主要操作內(nèi)容包括數(shù)據(jù)的查詢(GET),新增(POST),更新(PUT)和刪除(Delete),對應(yīng)的數(shù)據(jù)庫操作即為 Select,Create,Update,Delete。以監(jiān)測設(shè)備操作為例,若要獲取監(jiān)測設(shè)備列表則執(zhí)行GET <URI>/devices,業(yè)務(wù)邏輯層解析URI 后通過Select 方法在數(shù)據(jù)庫的devices表中檢索設(shè)備列表,并返回給客戶端;通過客戶端新增設(shè)備時,則通過 POST<URI>/devices/{id}請求,并附上該描述該設(shè)備所需的字段說明,服務(wù)程序采用Insert 方法將新設(shè)備數(shù)據(jù)插入devices 表中;同理,在修改和刪除設(shè)備時采用PUT 和DELETE 請求,利用設(shè)備id 參數(shù),通過害監(jiān)測預(yù)警與區(qū)域地質(zhì)災(zāi)害監(jiān)測預(yù)警兩大類。在實際應(yīng)用中,通常中長期預(yù)測以區(qū)域監(jiān)測為主,短臨預(yù)警則以單體監(jiān)測預(yù)警為主。本平臺建設(shè)主要考慮通過實時監(jiān)測數(shù)據(jù)進行單體的短臨預(yù)警,利用專業(yè)監(jiān)測設(shè)備進行地質(zhì)災(zāi)害點的實時觀測,通過建立綜合指標體系的演算分析構(gòu)建地質(zhì)災(zāi)害預(yù)警的數(shù)學(xué)模型,利用該預(yù)警模型實現(xiàn)對監(jiān)測對象的實時監(jiān)測預(yù)警。
實際應(yīng)用中,一個監(jiān)測對象往往會利用多種監(jiān)測設(shè)備同時進行觀測,這種情況下,當針對不同監(jiān)測內(nèi)容采用不同的定量值進行預(yù)警時,會得到多個不同的預(yù)警結(jié)果。因此,本平臺采用了多判據(jù)條件下的綜合預(yù)警模式進行預(yù)警,通過不同指標權(quán)重來建立評價模型,以得到更為準確的預(yù)警結(jié)果。
綜合預(yù)警等級分析將各監(jiān)測點的預(yù)警等級進行量化,并根據(jù)權(quán)重進行綜合預(yù)警等級指數(shù)的計算,最終得出綜合預(yù)警等級。綜合預(yù)警等級指數(shù)的計算方式為:Update 和Delete 方法操作數(shù)據(jù)庫。
客戶端獲取到返回的JSON 數(shù)據(jù)后,對數(shù)據(jù)進行解析判定,并根據(jù)數(shù)據(jù)類型與經(jīng)緯度信息將其疊加到三維GIS 平臺上,通過程序的圖層控制實現(xiàn)相關(guān)監(jiān)測數(shù)據(jù)與三維GIS 平臺的融合展示。
圖1 三維地質(zhì)災(zāi)害監(jiān)測預(yù)警平臺界面
預(yù)警模型的調(diào)用在系統(tǒng)中通過主動和定時觸發(fā)兩種方式調(diào)用,預(yù)警模型的運算結(jié)果將存入數(shù)據(jù)庫中。定時方式由后臺定時任務(wù)觸發(fā)執(zhí)行(定時間隔由管理員設(shè)定)。主動調(diào)用方式是指用戶在客戶端主動發(fā)起請求,對指定的地質(zhì)災(zāi)害監(jiān)測區(qū)域進行一次預(yù)警運算。如,POST 請求:<URI>/warning/monitoring/{area_id},其中,area_id 為監(jiān)測區(qū)域的唯一標識。服務(wù)端的預(yù)警模型在接收請求后通過area_id 查詢數(shù)據(jù)庫中該區(qū)域部署的傳感器監(jiān)測數(shù)據(jù),在綜合運算完成后,預(yù)警模型將分析結(jié)果寫入數(shù)據(jù)庫表中。
平臺以.Net Core 和數(shù)據(jù)庫技術(shù)為基礎(chǔ),結(jié)合了三維GIS 引擎,利用REST 風(fēng)格的Web 服務(wù)集成了地理信息、監(jiān)測數(shù)據(jù)及預(yù)警模型服務(wù),實現(xiàn)矢量數(shù)據(jù)、柵格數(shù)據(jù)、專題數(shù)據(jù)等各類GIS 數(shù)據(jù)的加載、監(jiān)測數(shù)據(jù)接入展示及模型預(yù)警展示功能。由于采用REST 風(fēng)格服務(wù),系統(tǒng)具有較強的靈活性與兼容性,可同時接入多種業(yè)務(wù)服務(wù)。本平臺可接入地形數(shù)據(jù)與影像數(shù)據(jù)服務(wù)、矢量數(shù)據(jù)圖層,專題數(shù)據(jù)圖層以及圖標元素數(shù)據(jù)等,可呈現(xiàn)出三維立體的視覺感受(圖 1)。
本文基于REST 服務(wù)架構(gòu),結(jié)合三維GIS 平臺、分布式數(shù)據(jù)庫和DevExpress 第三方控件開發(fā)了三維地質(zhì)災(zāi)害監(jiān)測預(yù)警平臺,豐富了地質(zhì)災(zāi)害信息管理系統(tǒng)的功能、提高了系統(tǒng)的工作效率以及實現(xiàn)了數(shù)據(jù)共享。該監(jiān)測預(yù)警平臺使得地理信息、監(jiān)測數(shù)據(jù)、預(yù)警模型運算等多類服務(wù)的集成接入得到簡化,并通過GIS 平臺能夠?qū)⒈O(jiān)測數(shù)據(jù)和預(yù)警結(jié)果實時以三維視角直觀呈現(xiàn),帶來一種新的地質(zhì)災(zāi)害監(jiān)測預(yù)警平臺開發(fā)方法,通過在監(jiān)測預(yù)警項目中的實際應(yīng)用,也驗證了本設(shè)計的可靠性與實用性。