吳 倩 ,孫銘聰 ,陳國輝 ,陳 繼 ,馬曉平 ,劉敦龍
(1.四川省地質工程勘察院集團有限公司,四川 成都 610072;2.成都信息工程大學,四川 成都 610225)
我國地質災害種類多、分布廣、災情嚴重,是世界上地質災害最嚴重的國家之一,威脅著人民生命財產安全[1]。據統計,除地震外的各類地質災害平均每年造成1000 多人死亡、經濟財產損失上100 億元,地質災害防災減災工作顯得尤為迫切[2]。
隨著遙感衛星、無人機與地理信息等技術被用于地質災害調查和監測,地質災害數據呈現出多源性、多時相性、異構性、多尺度、多分辨率等特點,地質災害數據日益呈現出海量發展趨勢[3]。傳統地質災害信息管理系統由于沒有統一的數據集成框架及直觀的數據展示,已無法滿足災害信息管理的迫切需求[4]。REST(表述性狀態傳遞,Representational State Transfer)是一種輕量級的軟件架構風格,已普遍地取代了基于SOAP 和WSDL 的接口設計,具有很好的應用前景。
本文的三維地質災害監測預警平臺采用C/S 開發模式,結合REST 服務,可對地質災害監測數據實施有效的組織管理與集成、實時預警運算與發布、三維可視化展示。同時,本平臺具有性能可靠、開放易擴展等優勢,對豐富地質災害信息管理系統的功能,提高工作效率和數據共享等方面具有很大借鑒意義。
基礎平臺提供了三維GIS 的基礎運行環境,包括地球橢球體模型構建,三維場景瀏覽控制,矢量數據、地形數據與影像數據可視化展示,圖形數據緩存及投影轉換等基礎功能,并通過業務功能模塊的擴展使平臺在地質災害監測方面的應用更具專業性。
為充分利用本地運算能力以呈現更好的三維展示效果,平臺采用了桌面客戶端形式以C#語言進行開發,以.NET Framework 4.0 為開發框架,結合了分布式數據庫架構和第三方控件DevExpress。DevExpress 控件具有功能豐富、應用簡便、界面華麗、方便定制等優點。
基礎平臺的GIS 功能模塊利用ArcGIS Engine 開發組件,用戶界面采用DevExpress 提供的系列控件,三維呈現采用ArcGISGlobe 三維數字地球引擎構建基礎地球結構;業務邏輯部分根據監測預警平臺需求,包括了圖層管理、球體漫游、空間測量、空間標繪、數據可視化、REST請求處理等功能模塊;用戶界面結合業務邏輯模塊構成了三維GIS 平臺。
基礎三維GIS 平臺主要由三維模型、可視視圖、事件監聽和圖層數據四大模塊構成。三維模型由球體模型,基礎圖層和拼接控制構成;在三維模型基礎上建立可視視圖,視圖通過顯示器展示,并根據用戶操作通過場景控制反饋到可視視圖;事件監聽可以對所有事件進行監聽并執行相應程序,圖層數據可通過本地緩存文件或者通過基于HTTP 的Web 服務訪問地圖服務器獲取。
地質災害監測是通過采用多種觀測設備對地質災害的發育、發展過程進行不間斷的長期觀測,并基于一定量的監測數據,通過分析、處理與計算等,判斷地質災害的穩定狀況及其發展趨勢。其目的是為了獲悉并掌握地質災害的發展規律,及時捕捉到地質災害發生的前兆信息,提升科技防災減災水平。監測的內容主要為可反映地質災害穩定狀況的相關信息,如雨量、地聲、次聲、地表位移、土壤含水量、地表裂縫、視頻、泥水位、撞線等。
平臺的數據管理主要包括監測設備管理、報警閾值管理、警情數據管理和用戶管理四大模塊。具體如下:
(1)監測設備管理包含測點管理和設備管理兩個模塊,測點管理是對監測點位/區域的相關信息進行管理以及測點位置可視化展示;設備管理是對監測儀器的相關信息進行管理。測點與設備具有一對多的關系,即一個測點可以包含多個監測設備。
(2)報警閾值管理模塊是設置不同監測點位/區域上的不同監測設備在不同預警等級的報警閾值。若監測數據超過相關預設閾值,則發出相應等級的報警信息,可通過發送短信以及在系統的三維球體上的相應位置閃爍相應顏色的預警圖標。由于在不同監測區域,誘發地質災害的閾值條件存在差異,需要針對監測區域的特性,單獨設置不同監測區域內的不同監測設備的報警閾值。
(3)警情數據管理是對已報警的數據記錄進行處理,有延遲預警和已查看兩種方式。延遲預警是指在規定時間內,若警情沒有升級,則不再發出報警信息;若警情升級,則仍要發出報警信息;超出規定時間后,若監測數據超過預設閾值,則發出報警信息。已查看是指對本次預警情況已知曉,若后續的監測數據超過了預警閾值,仍要發出相應的報警信息。
(4)用戶管理模塊是對用戶信息進行管理,用戶類型分為普通用戶、管理員和超級管理員三種權限,普通用戶只能進行瀏覽查看;管理員用戶可以對測點、監測儀器、報警閾值和警情進行管理,但無法對用戶信息進行操作;超級管理員則具有超級權限,允許進行系統的所有操作。
根據地質災害監測對象不同,可以分為單體地質災

R 值為綜合預警等級指數,Wi為第i 個評價指標權重,Pi表示第i 個評價指標的單因素分級指數。
平臺所需的地理數據主要包括底圖切片、DEM 高程數據、DOM 數據、監測設備圖標以及空間矢量數據。目前,主流的GIS 服務器軟件大都具備REST 服務能力,如商業軟件ArcGIS、SuperMap 等,開源軟件GeoServer 等,它們的RESTAPI 封裝了開發所需的GIS 功能,包括地圖、數據等,可將這些GIS 功能以資源形式提供,平臺客戶端通過編寫REST 接口程序對資源進行操作,獲取相應的GIS 能力。地理信息服務集成主要分成了客戶端表現層、地理信息服務層和地理數據層三大部分。
在服務端,業務邏輯層為監測數據的操作提供相應的URI 和允許的HTTP 操作。客戶端通過URI 和HTTP方法來請求數據服務,用以操作相應的監測數據。REST服務的主要操作內容包括數據的查詢(GET),新增(POST),更新(PUT)和刪除(Delete),對應的數據庫操作即為 Select,Create,Update,Delete。以監測設備操作為例,若要獲取監測設備列表則執行GET <URI>/devices,業務邏輯層解析URI 后通過Select 方法在數據庫的devices表中檢索設備列表,并返回給客戶端;通過客戶端新增設備時,則通過 POST<URI>/devices/{id}請求,并附上該描述該設備所需的字段說明,服務程序采用Insert 方法將新設備數據插入devices 表中;同理,在修改和刪除設備時采用PUT 和DELETE 請求,利用設備id 參數,通過害監測預警與區域地質災害監測預警兩大類。在實際應用中,通常中長期預測以區域監測為主,短臨預警則以單體監測預警為主。本平臺建設主要考慮通過實時監測數據進行單體的短臨預警,利用專業監測設備進行地質災害點的實時觀測,通過建立綜合指標體系的演算分析構建地質災害預警的數學模型,利用該預警模型實現對監測對象的實時監測預警。
實際應用中,一個監測對象往往會利用多種監測設備同時進行觀測,這種情況下,當針對不同監測內容采用不同的定量值進行預警時,會得到多個不同的預警結果。因此,本平臺采用了多判據條件下的綜合預警模式進行預警,通過不同指標權重來建立評價模型,以得到更為準確的預警結果。
綜合預警等級分析將各監測點的預警等級進行量化,并根據權重進行綜合預警等級指數的計算,最終得出綜合預警等級。綜合預警等級指數的計算方式為:Update 和Delete 方法操作數據庫。
客戶端獲取到返回的JSON 數據后,對數據進行解析判定,并根據數據類型與經緯度信息將其疊加到三維GIS 平臺上,通過程序的圖層控制實現相關監測數據與三維GIS 平臺的融合展示。

圖1 三維地質災害監測預警平臺界面
預警模型的調用在系統中通過主動和定時觸發兩種方式調用,預警模型的運算結果將存入數據庫中。定時方式由后臺定時任務觸發執行(定時間隔由管理員設定)。主動調用方式是指用戶在客戶端主動發起請求,對指定的地質災害監測區域進行一次預警運算。如,POST 請求:<URI>/warning/monitoring/{area_id},其中,area_id 為監測區域的唯一標識。服務端的預警模型在接收請求后通過area_id 查詢數據庫中該區域部署的傳感器監測數據,在綜合運算完成后,預警模型將分析結果寫入數據庫表中。
平臺以.Net Core 和數據庫技術為基礎,結合了三維GIS 引擎,利用REST 風格的Web 服務集成了地理信息、監測數據及預警模型服務,實現矢量數據、柵格數據、專題數據等各類GIS 數據的加載、監測數據接入展示及模型預警展示功能。由于采用REST 風格服務,系統具有較強的靈活性與兼容性,可同時接入多種業務服務。本平臺可接入地形數據與影像數據服務、矢量數據圖層,專題數據圖層以及圖標元素數據等,可呈現出三維立體的視覺感受(圖 1)。
本文基于REST 服務架構,結合三維GIS 平臺、分布式數據庫和DevExpress 第三方控件開發了三維地質災害監測預警平臺,豐富了地質災害信息管理系統的功能、提高了系統的工作效率以及實現了數據共享。該監測預警平臺使得地理信息、監測數據、預警模型運算等多類服務的集成接入得到簡化,并通過GIS 平臺能夠將監測數據和預警結果實時以三維視角直觀呈現,帶來一種新的地質災害監測預警平臺開發方法,通過在監測預警項目中的實際應用,也驗證了本設計的可靠性與實用性。