李紅文 趙紹兵 李 楨
(1.自然資源部第一航測遙感院 陜西西安 710054;2.自然資源部陜西基礎(chǔ)地理信息中心 陜西西安 710054)
我國山地丘陵占比高,地質(zhì)構(gòu)造復(fù)雜,氣候類型多樣,人類活動豐富,自然災(zāi)害隱患多、分布廣,是世界上地質(zhì)災(zāi)害最嚴(yán)重、受威脅人口最多的國家之一。據(jù)統(tǒng)計,目前全國有地質(zhì)災(zāi)害隱患點(diǎn)20多萬處,其中特大型和大型滑坡、崩塌、泥石流地質(zhì)災(zāi)害隱患點(diǎn)近3萬處。因此,采用不同的監(jiān)測技術(shù)在滑坡隱患點(diǎn)布設(shè)監(jiān)測站點(diǎn),進(jìn)行高精度連續(xù)監(jiān)測是滑坡預(yù)警、減災(zāi)防災(zāi)必不可少的關(guān)鍵環(huán)節(jié)。有效管理不同類型監(jiān)測站點(diǎn)采集的監(jiān)測數(shù)據(jù),直接體現(xiàn)了整個滑坡監(jiān)測預(yù)警系統(tǒng)的水平。
本文以某滑坡監(jiān)測站點(diǎn)數(shù)據(jù)管理為例,基于開源平臺Cesium三維地圖引擎,利用EasyUI、High- charts和HTML5等技術(shù)構(gòu)建滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng)。其中,Cesium是基于JavaScript編寫的使用WebGL的地圖引擎,支持3D、2D和2.5D形式的地圖展示及多源的地理空間數(shù)據(jù)和地圖服務(wù),可以自行繪制圖形、高亮區(qū)域,并能提供良好的觸摸支持,兼容絕大多數(shù)的瀏覽器。Highcharts 是一個用純JavaScript編寫的一個圖表庫, 能夠在Web網(wǎng)站或是Web應(yīng)用程序中很簡單便捷地添加有交互性的圖表。HighCharts支持的圖表類型有曲線圖、區(qū)域圖、柱狀圖、餅狀圖、散狀點(diǎn)圖和綜合圖表。
通過 Cesium在三維地圖上加載滑坡隱患處的地形數(shù)據(jù)和高分遙感影像等空間數(shù)據(jù),以及位移監(jiān)測、裂縫監(jiān)測、降雨量監(jiān)測、地下水水位監(jiān)測、土壤濕度監(jiān)測和視頻監(jiān)測的站點(diǎn)數(shù)據(jù),實(shí)現(xiàn)監(jiān)測點(diǎn)位信息的快速查詢、三維瀏覽、監(jiān)測數(shù)據(jù)管理、監(jiān)測數(shù)據(jù)查詢和統(tǒng)計分析,并利用Highcharts圖表技術(shù)對監(jiān)測時序數(shù)據(jù)進(jìn)行可視化展示,為后續(xù)滑坡監(jiān)測預(yù)警系統(tǒng)建設(shè)提供基礎(chǔ)數(shù)據(jù)支撐[1]。
系統(tǒng)采用多層架構(gòu)體系構(gòu)建,包括數(shù)據(jù)采集層、基礎(chǔ)設(shè)施層、數(shù)據(jù)層、數(shù)據(jù)服務(wù)層和應(yīng)用層。其中,數(shù)據(jù)采集層,通過在滑坡隱患體相關(guān)位置部署降雨量監(jiān)測、位移監(jiān)測、裂縫監(jiān)測、地下水位監(jiān)測、土壤濕度監(jiān)測和視頻監(jiān)控等設(shè)備,實(shí)時采集數(shù)據(jù),通過互聯(lián)網(wǎng)、無線網(wǎng)和監(jiān)測專網(wǎng)等基礎(chǔ)設(shè)施層設(shè)備傳輸?shù)綌?shù)據(jù)管理層;基礎(chǔ)設(shè)施層,主要由軟件系統(tǒng)、硬件系統(tǒng)和網(wǎng)絡(luò)設(shè)備組成;數(shù)據(jù)層,按照目前主流的監(jiān)測預(yù)警系統(tǒng)建設(shè)技術(shù)標(biāo)準(zhǔn)構(gòu)建,基于監(jiān)測數(shù)據(jù)多源性,分級分層次組織存儲,主要包括滑坡體的基礎(chǔ)地理空間數(shù)據(jù)、監(jiān)測站點(diǎn)信息及其實(shí)時監(jiān)測數(shù)據(jù);數(shù)據(jù)服務(wù)層,主要功能是將與滑坡有關(guān)聯(lián)的數(shù)據(jù),發(fā)布為標(biāo)準(zhǔn)數(shù)據(jù)服務(wù),以Web共享服務(wù)形式呈現(xiàn)給應(yīng)用層;應(yīng)用層,主要是實(shí)現(xiàn)系統(tǒng)功能,包括三維場景瀏覽、站點(diǎn)管理、數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計和圖表分析等。滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng)架構(gòu)如圖1所示。
圖1 滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng)總體架構(gòu)
滑坡監(jiān)測數(shù)據(jù)庫是輸入、輸出多源異構(gòu)監(jiān)測數(shù)據(jù)及提供數(shù)據(jù)服務(wù)的中心。數(shù)據(jù)庫采用“Geodatabase + SQL Server”構(gòu)建模式,實(shí)現(xiàn)空間地理數(shù)據(jù)和時序監(jiān)測數(shù)據(jù)的一體化管理、查詢和分析,為滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng)、監(jiān)測預(yù)警系統(tǒng)和風(fēng)險評估系統(tǒng)等應(yīng)用系統(tǒng)建設(shè)提供數(shù)據(jù)支撐。
數(shù)據(jù)庫采用屬性數(shù)據(jù)庫與空間數(shù)據(jù)庫分離設(shè)計的思路,屬性數(shù)據(jù)選用主流的監(jiān)測數(shù)據(jù)管理軟件SQL Server數(shù)據(jù)庫,空間數(shù)據(jù)采用ArcGIS的Geodatabase數(shù)據(jù)模型進(jìn)行管理。屬性數(shù)據(jù)庫主要存儲和管理各種傳感器采集的監(jiān)測數(shù)據(jù)和系統(tǒng)維護(hù)數(shù)據(jù),其中,系統(tǒng)維護(hù)數(shù)據(jù)包括用戶信息、用戶權(quán)限和通用枚舉數(shù)據(jù);監(jiān)測數(shù)據(jù)包括監(jiān)測站點(diǎn)基本信息和多種實(shí)時監(jiān)測數(shù)據(jù)??臻g數(shù)據(jù)庫存儲和管理基礎(chǔ)地理空間數(shù)據(jù),包括基礎(chǔ)矢量數(shù)據(jù),如行政界線、道路、河流和地名,以及滑坡隱患處的高分遙感影像數(shù)據(jù)。數(shù)據(jù)庫邏輯結(jié)構(gòu)如圖2所示。
圖2 滑坡監(jiān)測數(shù)據(jù)庫邏輯結(jié)構(gòu)
功能模塊包括三維展示、站點(diǎn)查詢、監(jiān)測數(shù)據(jù)查詢、監(jiān)測數(shù)據(jù)統(tǒng)計和系統(tǒng)管理[4]。
1)三維展示。使用Cesium技術(shù)開發(fā)三維Web前端展示頁面,實(shí)現(xiàn)滑坡三維場景渲染,完成三維地圖縮放、漫游、全圖顯示、標(biāo)注、卷簾和清除等常用的基本操作功能;實(shí)現(xiàn)對滑坡點(diǎn)位、監(jiān)測站點(diǎn)三維場景中的位置定位功能。
2)站點(diǎn)查詢。實(shí)現(xiàn)監(jiān)測站點(diǎn)基本信息查詢,包括位移、裂縫、降雨、地下水、土壤濕度和視頻等站點(diǎn)部署設(shè)備基本信息查詢和位置快速顯示。
3)監(jiān)測數(shù)據(jù)查詢。實(shí)現(xiàn)任意監(jiān)測點(diǎn)位的實(shí)時監(jiān)測數(shù)據(jù)、歷史數(shù)據(jù)的查詢和瀏覽。
4)監(jiān)測數(shù)據(jù)統(tǒng)計。實(shí)現(xiàn)任意監(jiān)測點(diǎn)的監(jiān)測數(shù)據(jù),按照時間和類型進(jìn)行統(tǒng)計,利用Highcharts技術(shù)開發(fā)曲線圖、折線圖、餅狀圖和柱狀圖等多種圖形展示及對比分析。
5)系統(tǒng)管理。實(shí)現(xiàn)用戶增加、刪除、編輯、權(quán)限設(shè)置和角色分配等功能,以及對各種數(shù)據(jù)信息的查詢、添加、編輯、刪除、導(dǎo)入和導(dǎo)出等數(shù)據(jù)常用管理功能。
1)采用開源Cesium技術(shù)開發(fā)滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng)的三維功能模塊。Cesium是一個較優(yōu)秀的三維地球GIS引擎(開源且免費(fèi)),能夠加載各種符合標(biāo)準(zhǔn)的地圖圖層,支持瓦片圖、矢量圖等,支持3DMax等建模軟件生成的obj文件,支持通用的GIS計算和DEM高程圖。國內(nèi)許多三維GIS產(chǎn)品都基于Cesium進(jìn)行封裝。針對滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng)功能需求,在Cesium原有功能基礎(chǔ)上進(jìn)行定制研發(fā),快速構(gòu)建跨平臺、易共享、易維護(hù)的三維數(shù)字地球可視化Web系統(tǒng)[2-3]。
2)采用數(shù)據(jù)融合技術(shù)處理和管理多源的監(jiān)測數(shù)據(jù)。要實(shí)現(xiàn)滑坡隱患處的三維呈現(xiàn)和傳統(tǒng)監(jiān)測數(shù)據(jù)的管理,必須解決數(shù)據(jù)融合問題。系統(tǒng)涉及的數(shù)據(jù)包括滑坡隱患處的高分影像、地形數(shù)據(jù)、基礎(chǔ)矢量數(shù)據(jù)、滑坡點(diǎn)位和監(jiān)測站點(diǎn)專題數(shù)據(jù),以及位移、裂縫、降雨量、地下水位和土壤濕度等監(jiān)測設(shè)備采集的時序數(shù)據(jù),其中,時序監(jiān)測數(shù)據(jù)量大、時間跨度長且數(shù)據(jù)之間缺少關(guān)聯(lián)。在系統(tǒng)設(shè)計相應(yīng)的數(shù)據(jù)融合模型時,以基礎(chǔ)矢量地圖為底圖數(shù)據(jù),利用數(shù)據(jù)融合處理工具,采用人工和自動化處理,實(shí)現(xiàn)多源滑坡監(jiān)測數(shù)據(jù)的融合、組織和管理[4-5]。
3)采用Highcharts技術(shù)實(shí)現(xiàn)系統(tǒng)圖表展示。目前多源、長時序監(jiān)測數(shù)據(jù)圖表展示采用的軟件包括國產(chǎn)的Echarts和國外的Highcharts。Highcharts底層采用SVG技術(shù),具有不依賴分辨率、支持事件處理器、適用于帶有大型渲染區(qū)域的應(yīng)用程序等特點(diǎn),另外Highcharts界面美觀、兼容性好。Highcharts由于使用JavaScript編寫,不需要像Flash和Java那樣需要插件才可以運(yùn)行,而且運(yùn)行速度快,支持當(dāng)前大多數(shù)瀏覽器。Echarts底層采用Canvas技術(shù),具有依賴分辨率、不支持事件處理器、文本渲染能力較弱、能夠以PNG格式保存結(jié)果圖像等特點(diǎn)。由于滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng)涉及的統(tǒng)計圖表要求不受分辨率的限制,能夠支持事件響應(yīng),能與用戶進(jìn)行交流,因此,選擇使用Highcharts技術(shù)開發(fā)本系統(tǒng)的統(tǒng)計圖表展示功能[6]。
4)采用.NET MVC技術(shù)實(shí)現(xiàn)數(shù)據(jù)管理功能。MVC (Model View Controller)是模型-視圖-控制器的縮寫,是一種設(shè)計創(chuàng)建 Web 應(yīng)用程序的框架模式,它強(qiáng)制性地使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成3個核心部件:模型、視圖和控制器,它們各自處理自己的任務(wù)。其中,Model(模型)表示監(jiān)測數(shù)據(jù)記錄對象;View(視圖)顯示數(shù)據(jù),建立在Model層之上;Controller(控制器)讀寫監(jiān)測數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。MVC 模式同時提供了對 HTML、CSS 和 Java-Script 的完全控制。本系統(tǒng)采用.NET MVC技術(shù)實(shí)現(xiàn)了滑坡監(jiān)測數(shù)據(jù)的查詢、瀏覽、編輯和統(tǒng)計分析等數(shù)據(jù)管理功能。
5)采用EasyUI技術(shù)實(shí)現(xiàn)系統(tǒng)界面布局。 EasyUI是一種基于jQuery、Angular、Vue和React的用戶界面插件集合,開發(fā)人員采用EasyUI技術(shù)能快速地創(chuàng)建Web程序頁面,而且開發(fā)的應(yīng)用頁面完美支持HTML5,頁面互動性強(qiáng)。
滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng)基于Cesium、EasyUI、Highcharts和HTML5等技術(shù)開發(fā),采用MVC三層架構(gòu)實(shí)現(xiàn)了監(jiān)測數(shù)據(jù)的獲取、查詢、瀏覽、編輯和統(tǒng)計分析等功能,提供了良好的三維場景瀏覽和傳統(tǒng)數(shù)據(jù)管理功能。圖3所示為某滑坡監(jiān)測站點(diǎn)的數(shù)據(jù)管理系統(tǒng)的主要界面。
圖3 系統(tǒng)實(shí)現(xiàn)的主要功能界面
本文基于Cesium定制研發(fā)的滑坡監(jiān)測數(shù)據(jù)管理系統(tǒng),具備了跨平臺、易共享、易維護(hù)和投入少等特性,具有三維瀏覽、點(diǎn)位查詢定位、監(jiān)測數(shù)據(jù)查詢和統(tǒng)計分析等功能,滿足了用戶基本三維場景展示功能的需求,實(shí)現(xiàn)了對滑坡監(jiān)測數(shù)據(jù)查詢、統(tǒng)計和管理。這是一次利用開源平臺開發(fā)傳統(tǒng)數(shù)據(jù)管理應(yīng)用系統(tǒng)的嘗試,可為相關(guān)應(yīng)用系統(tǒng)架構(gòu)、設(shè)計和功能的實(shí)現(xiàn)提供思路和參考。