渠士豪,郭永剛
(西藏農牧學院水利土木工程學院,西藏 林芝 860000)
我國是世界上地質災害最嚴重的國家之一,其中滑坡災害占總災害的68.9%[1]。滑坡具有分布廣、破壞大、隱蔽性高等特點[2],一旦發生會對人民生命財產安全和國家基礎設施產生巨大破壞,嚴重影響區域社會經濟發展。
隨著計算機技術、監測技術和GIS 技術的發展,滑坡的預警和易發性分析也從人工方式轉向了自動化和信息化。近些年來,一些學者以計算機技術為載體,結合地理信息管理系統,提出了自動化、信息化的滑坡信息管理與分析系統的開發思路。對于單體滑坡監測預警,陶宜權等[3]采用云計算、大數據和GIS 二次開發等技術設計了針對秦巴山區的淺表層滑坡災害監測預警平臺,實現了秦巴山區滑坡風險快速且準確率高的預警預報;羅志會等[4]以STM32 單片機為核心設計了一種基于LoRa 傳輸技術的滑坡監測系統,實現了便捷、低耗能、可視化的滑坡狀態遠程監測;黃玲等[5]以MQTT傳輸協議為基礎,結合層次分析模糊綜合評價模型,設計了一種基于Web 的山體滑坡監測預警系統,實現了監測信息的傳輸、分析、預警和可視化。對于區域性滑坡易發性分析,羅金[6]基于GIS二次開發工具與機器學習模型相結合設計了基于各類機器學習方法的滑坡易發性評價系統,采用Python 語言調用相關接口實現了數據提取與預處理、評價模型計算和滑坡易發性分類圖的生成等功能;汪宙峰等[7]利用ArcGIS Engine開發工具和空間分析技術,結合數學模型設計了基于ArcGIS Engine 的滑坡危險性評價系統。上述系統和平臺的開發極大程度上簡化了分析過程、提高了分析結果的精度,但這些系統的開發都是單純地針對單體滑坡或區域性滑坡,不能夠滿足藏東南地區對滑坡災害多尺度分析的需求,且藏東南地區夏季氣候溫和濕潤,冬季氣候干冷,年溫差小,日溫差大,具有典型的高原特征,因此藏東南的滑坡研究與其他區域相比有明顯的差異[8]。
考慮到以上問題,本文將單體滑坡監測預警、區域性滑坡易發性分析和滑坡信息管理整合到一起,并根據藏東南地區的環境特殊性選用適當的數學分析模型,設計開發一種基于ArcGIS Engine 的藏東南滑坡信息管理與分析系統。
藏東南滑坡信息管理與分析系統包括數據采集層、基礎支撐層、數據層、應用層和用戶層。其中,數據采集層包括在滑坡監測站布設的土壤濕度傳感器、降雨檢測儀、位移傳感器和切向角監測器等設備,通過GPRS DTU 通信技術將實時采集的數據信息上傳至接收服務器;基礎支撐層主要包括計算機服務系統、地理信息系統、數據庫管理系統和網絡設施等,為應用系統的開發與使用提供軟硬件基礎支撐;數據層主要包括實時監測數據、地理空間數據、歷史滑坡數據和監測站數據;應用層主要包括數據管理模塊、滑坡預警模塊,數據展示模塊和滑坡易發性分析模塊等;用戶層主要包括普通用戶和管理員。基于ArcGIS Engine 的藏東南滑坡信息管理與分析系統總體架構,如圖1所示。

圖1 基于ArcGIS Engine的藏東南滑坡信息管理與分析系統總體架構
數據庫采用Geodatabase+Mysql 的搭建模式。Geodatabase 是一種采用標準關系數據庫技術來表現地理信息的數據模型。Mysql 是Oracle 旗下一款體積小、開源、移植性強的關系型數據庫管理系統。根據數據類型的不同將數據分為屬性數據和空間數據兩部分,分別儲存在Mysql 和Geodatabase 中。其中,屬性數據包括用戶數據、通用數據、監測點數據、歷史滑坡數據、降雨監測數據、位移監測數據和土壤濕度監測數據等;空間數據包括高程數據、坡度數據、坡向數據、年均降水數據、距道路距離數據、距河流距離數據和植被覆蓋率數據等。數據庫邏輯結構,如圖2所示。

圖2 滑坡信息管理與分析數據庫邏輯結構
根據用戶權限類別,將系統功能分為2 個模塊,分別是管理員模塊和普通用戶模塊。管理員模塊不僅擁有普通用戶模塊的所有權限,同時擁有屬于管理員模塊的專屬權限,如監測站數據管理、歷史滑坡數據管理、空間數據管理、用戶請求管理和用戶信息管理等;普通用戶模塊權限包含監測站數據查詢、歷史滑坡數據查詢、空間數據查詢和滑坡易發性分析等。
基于ArcGIS Engine 的藏東南滑坡信息管理與分析系統功能,如圖3所示。

圖3 基于ArcGIS Engine的藏東南滑坡信息管理與分析系統功能
(1)監測站數據查詢。管理員和普通用戶能以圖表的形式查看監測站的地理位置信息、管理人員信息、設備基本信息和設備監測信息(降水量、位移量、土壤濕度等)等。
(2)歷史滑坡數據查詢。管理員和普通用戶能以圖表的形式查看研究區域歷史滑坡的名稱、地理位置、地下水類型、滑坡類型、地震烈度、受災情況等信息。
(3)空間數據查詢。管理員和普通用戶能以圖形的形式查看已擁有的滑坡數據集,如歷史滑坡點、高程、坡度、坡向、距道路距離、距河流距離、年均降水量等。
(4)實時預警通報。管理員和普通用戶能夠以表格的形式查看實時發布的滑坡預警信息,包括監測點、經度、緯度、預警級別、警報原因、警報時間、處理情況等信息,并可以對未處理的通知進行處理。
(5)數據管理請求。為確保數據的真實性和可用性,系統限制普通用戶直接對數據進行管理,但給予普通用戶提交數據管理請求的權限,例如,普通用戶想要修改歷史滑坡信息,可以對相關信息進行增、刪、改、查的操作,但系統不會立即進行修改,而是將請求和數據暫時存入數據庫,等待管理員審核。對于空間數據的管理,例如想要添加新的影響因子數據或更新最新的滑坡點數據,需要將空間數據和請求一同提交給管理員。
(6)滑坡易發性分析。普通用戶和管理員可以選擇不同的數學分析模型,導入不同的空間數據,得到對應的滑坡易發性分析圖。
(7)系統管理。管理員和普通用戶可以對屬性數據和空間數據進行導出和打印等常規數據管理操作。
(8)監測站數據管理。管理員可以對監測站的地理位置信息、管理人員信息、設備基本信息和設備監測信息等數據進行修改、刪除、查詢和添加新監測站等操作。
(9)歷史滑坡數據管理。管理員可以對研究區域歷史滑坡的名稱、地理位置、地下水類型、滑坡類型、地震烈度、受災情況等信息進行刪除、修改、查詢和添加歷史滑坡信息等操作。
(10)空間數據管理。管理員可以對已有的空間數據如DEM、歷史滑坡點、高程、坡度、坡向、距道路距離、距河流距離、年均降水量等進行添加、更新、刪除和編輯等操作。
(11)用戶請求管理。對于普通用戶提交的對屬性數據和空間數據的操作請求,管理員可以進行詳情查看,了解請求的類型以及與請求共同提交的數據信息,并做出通過或駁回的操作。
(12)用戶信息管理。管理員可以對普通用戶進行編輯、刪除、增加和權限設置等操作。
ArcGIS Engine 是ESRI 基于ArcGIS Object 搭建的一款GIS 平臺,該平臺在ArcGIS Object 的基礎上進行了很大改進,使其可以脫離ArcGIS軟件環境直接嵌入應用程序中,大大提高了開發軟件的適用性、操作性和獨立性。另外,利用ArcGIS Engine 軟件可以使滑坡數據處理和滑坡易發性評價處于同一GIS平臺下,數學模型以模塊的形式融入GIS 環境,滑坡數據不必流出GIS 平臺即可完成對其分析過程,相對傳統的滑坡易發性分析過程精度更高、結果更直觀。
.NET Framework 將強大的功能與新技術相結合,搭建出視覺上引人注目的用戶應用程序,實現跨技術邊界的無縫通信,并且能支持各種業務流程。.NET Framework 的目的是讓建立Web Services 以及因特網應用程序的工作變得簡單。Web端對瀏覽器的兼容度要求較高,且任何請求都需要通過網絡進行。相對Web端應用Windows窗體應用不僅更加方便,而且對計算機性能應用比較充分。因滑坡易發性分析等功能模塊對計算機性能和網絡功能要求較高,使用Windows 窗體應用程序更能保證系統界面運行穩定。
滑坡監測點一般地理位置復雜、通信條件惡劣,為保證數據傳輸的可靠性和實時性,同時考慮到續航、操作和成本,在滑坡監測點布設GPRS DTU 物聯網無線數據終端,通過GPRS 上傳數據到接收服務器。利用GSM 網絡覆蓋廣的特點,通過撥號的方式觸發數據傳輸,也可以設置成長連接進行數據傳輸,從而達到操作簡單、低能高效、實用性強、遠程無人監測的效果。
藏東南滑坡信息管理與分析系統功能實現界面,如圖4所示。

圖4 滑坡信息管理與分析系統功能實現界面
監測站數據查詢功能采用DataGridView 控件進行數據展示。先將數據綁定到DataGridView 控件,再將DataMember 屬性設置為要綁定的列表或表的字符串即可。DataGridView 控件對表格數據的展示非常清晰明了,通常在Windows 窗體應用程序中顯示表格數據時優先考慮DataGridView 控件。此功能在查詢全部監測站數據的基礎上添加了條件查詢,允許用戶通過站點名稱和負責人查詢監測站信息,站點名稱和負責人下拉菜單內容為與數據庫中對應的數據,初始值為空。對所有監測站信息的查詢,若需要進行條件查詢可以通過下拉菜單選擇內容進行查詢。監測站信息查詢功能界面,如圖4(a)所示。
歷史滑坡數據查詢功能仍是以表格的形式展示,所以同樣使用DataGridView 控件構建。在條件查詢中選擇地區限制,用戶可以對市和縣進行限定,查找到對應地區的歷史滑坡數據信息。歷史滑坡數據查詢功能界面,如圖4(b)所示。
空間數據查詢功能采用Arc Engine 組件庫中的AxMapControl、AxTOCControl 和AxToolbarControl 控件進行搭建。初始界面根據數據庫中數據排序顯示排序最靠前的區域空間數據,可以通過AxTOCControl 控件對顯示數據進行切換,通過AxToolbarControl 控件或者鼠標的點擊、拖拽、移動事件實現對顯示數據的漫游、地圖縮放、全圖顯示和要素信息查看等功能。通過下拉菜單可以對區域進行切換,Ax-TOCControl控件中的數據也會同時切換。空間數據查詢功能界面,如圖4(c)所示。
實時預警通報功能界面主要由DataGridView 控件搭建,除了展示預警發布位置、發布時間和預警原因等信息外,還會將實時監測的降雨量、位移量等信息與數學分析模型相結合,計算并對滑坡易發性分級,將數據結果保存到數據庫,并在頁面顯示。存在未處理的預警信息時界面右上角會出現警示紅燈。實時預警通報功能界面,如圖4(d)所示。
數據管理請求功能由Button組件和文本的點擊事件實現。在監測站數據查詢界面、歷史滑坡數據查詢界面和空間數據查詢界面中都有放置的Button組件或文本,點擊相應的組件可實現向管理員提交對數據增加、刪除或修改的請求功能。數據管理請求功能界面,如圖4(e)所示。
滑坡易發性分析功能的實現依托于Arc Engine強大的空間分析功能,利用IFeatureClass、ISpatial-Filter、IQueryFilter 和IFeatureCursor 等接口與數學分析模型相結合,通過將Shape 格式轉化成Grid 類型的柵格數據,通過數據定量化、圖層數據疊加等步驟得到每個柵格的易發性分析值,最后將結果賦值給一張空的柵格圖層并進行分級,從而得到滑坡易發性分析圖。滑坡易發性分析功能界面,如圖4(f)所示。
監測站數據管理、歷史滑坡數據管理和空間數據管理3 項功能的實現界面與監測站數據查詢、歷史滑坡數據查詢和空間數據查詢3項功能的界面一致(此處不再展示),功能也基本一致,只是在對數據的增加、刪除和修改操作上不再發送請求,而是直接對數據進行修改。
用戶請求管理功能實現界面主要由DataGrid-View 控件搭建,用戶的請求信息以表格的形式呈現在管理界面,包括數據類型、操作方式、提交時間、提交用戶等信息,管理員通過文本“未處理”點擊事件打開新界面查看詳細的請求內容,可以做出駁回、通過或返回操作,駁回和通過操作會決定數據是否被操作,并使“處理”無法再被點擊。用戶請求管理功能界面,如圖4(g)所示。
用戶信息管理功能主要由DataGridView 控件搭建,所有用戶的信息以表格的形式在組件中展示,管理員可以對除初始管理員以外的所有用戶信息進行增加、刪除、修改、查找操作,初始管理員可以對所有用戶信息進行修改,即超級管理員。用戶信息管理功能界面,如圖4(h)所示。
系統管理功能可以對歷史滑坡數據、監測站數據、用戶數據實現數據導入、導出等操作。系統管理功能界面(以歷史滑坡數據界面為例),如圖4(i)所示。
本文將GIS 軟件二次開發技術與數學分析模型相結合,設計開發了基于ArcGIS Engine 的藏東南滑坡信息管理與分析系統。該系統采用C/S 架構模式搭建,在地理信息技術的基礎上結合GIS 數據分析、GPRS DTU 通信等相關技術,為用戶提供監測數據查詢、空間數據查詢、實時預警通報、滑坡易發性分析等功能。用戶登錄應用即可獲得實時的滑坡預警,通過簡單的操作即可得到區域性滑坡易發性分析圖。該系統將滑坡易發性分析過程整體化,簡化了分析過程,提高了結果的精度,使滑坡易發性分析更加方便、準確。