周信文,張發(fā)勇,羅 津,許小華,羅 寧
(1.江西省水利科學(xué)院,江西 南昌 330029;2.中國地質(zhì)大學(xué)地理與信息工程學(xué)院,湖北 武漢 430074;3.江西師范大學(xué)地理與環(huán)境學(xué)院,江西 南昌 330022;4.武漢智博創(chuàng)享科技股份有限公司,湖北 武漢 430223)
水文站信息管理的水平是衡量水文工作效率和水利信息化的重要方面,而運用WebGIS技術(shù)對站點信息進行科學(xué)管理可以有效地避免信息傳輸緩慢、低效,信息更新周期長、大量消耗人力物力等缺點。隨著地理信息系統(tǒng)和網(wǎng)絡(luò)技術(shù)的發(fā)展,基于WebGIS的水文站信息系統(tǒng)在我國水利信息化建設(shè)中已得到廣泛應(yīng)用,如董玲燕[1]利用WebGIS技術(shù)建立的水電站水資源管理信息系統(tǒng),實現(xiàn)水電站的信息管理,空間統(tǒng)計等功能。李雅麗[2]等基于WebGIS技術(shù),實現(xiàn)水文數(shù)據(jù)的集成管理,包含數(shù)據(jù)的分級可視化顯示、圖文查詢和統(tǒng)計分析等功能。
近幾年WebGL、虛擬仿真技術(shù)飛速發(fā)展,Web3D技術(shù)與GIS技術(shù)相結(jié)合而形成的WebGIS已成為水文信息可視化發(fā)展的一個重要方向。Cesium便是一種輕量級的開源三維WebGIS開發(fā)框架,可以集成不同來源的數(shù)據(jù),如OpenStreetMap、Bing Maps、ArcGIS地圖服務(wù)、天地圖和標(biāo)準(zhǔn)圖像文件,用戶可以方便地對Cesium三維地球加載的圖層進行GIS地圖基本操作[3-4]。開發(fā)人員可針對不同領(lǐng)域、不同層次用戶需求,在Cesium原有功能基礎(chǔ)上進行定制構(gòu)建基于WebGIS的三維數(shù)字地球可視化系統(tǒng)[5-6]。杜鵬[7]基于 HTML5 和 WebGL 技術(shù)設(shè)計開發(fā)的氣象三維系統(tǒng),實現(xiàn)了數(shù)字地球表面地理信息數(shù)據(jù)的疊加顯示以及量測、空間查詢等 GIS 功能。闞文生[8]基于 Cesium 數(shù)字地球平臺,綜合運用 Echarts 等開源技術(shù),在 Internet 環(huán)境下進行全球范圍內(nèi)的數(shù)據(jù)二維、三維可視化。
本文提出基于Cesium的WebGIS水文站點信息管理系統(tǒng),不僅具備WebGIS跨平臺、易共享、維護方便等特性,還能通過Cesium在三維地圖上自定義加載遙感影像等空間數(shù)據(jù)和水文站點屬性數(shù)據(jù),實現(xiàn)水文站點空間信息和屬性信息二、三維一體化存儲、管理、查詢、統(tǒng)計等功能,并結(jié)合前端Echarts圖表技術(shù)對統(tǒng)計查詢結(jié)果進行實時可視化展示,為水文站點信息的高效管理和位置合理布局提供決策支持。
水文站點信息管理系統(tǒng)從結(jié)構(gòu)設(shè)計上分為5層,分別是用戶層、應(yīng)用層、邏輯層、數(shù)據(jù)層和支撐層[9]。如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
用戶層主要可分為普通用戶、管理用戶、維護用戶。根據(jù)系統(tǒng)對用戶角色的權(quán)限分配,普通用戶負責(zé)系統(tǒng)的使用,包括水文站點的三維地球場景瀏覽,系統(tǒng)各模塊功能使用等。管理用戶主要負責(zé)系統(tǒng)的用戶、角色、權(quán)限設(shè)置與管理。維護用戶主要負責(zé)系統(tǒng)的運行維護、參數(shù)設(shè)置、數(shù)據(jù)庫備份等。
應(yīng)用層主要負責(zé)整個系統(tǒng)的圖形界面展示。本文研究利用Vue前端框架結(jié)合Cesium設(shè)計并實現(xiàn)三維數(shù)字地球WebGIS平臺,其中利用編寫好的Vue功能組件,完成系統(tǒng)的界面布局設(shè)計、實現(xiàn)基本的交互功能;基于Cesium官方提供的開源接口嵌入Vue框架完成Web端三維數(shù)字地球的加載。用戶通過前端功能菜單界面對三維數(shù)字地球可視化系統(tǒng)進行交互,后端服務(wù)器會接收用戶的請求并及時完成響應(yīng),在前端界面展示符合用戶需求的水文站點信息可視化結(jié)果。
邏輯層由負責(zé)前端功能交互的代碼和后端服務(wù)環(huán)境配置兩部分組成,是整個三維數(shù)字地球可視化系統(tǒng)的核心部分,構(gòu)成基于異步響應(yīng)的單頁面程序[10]。程序前端模塊功能代碼都有各自對應(yīng)的功能組件組合而成,它們由Vue前端框架結(jié)合其他前端開源技術(shù)共同編寫。這些功能組件通過傳遞前端用戶的交互請求,無需對前端界面進行刷新[11],與后端服務(wù)器和數(shù)據(jù)庫進行交互響應(yīng),實現(xiàn)后端存儲的水文站點數(shù)據(jù)在前端三維數(shù)字地球上可視化展示、空間查詢與統(tǒng)計、圖層管理等功能,其中后端服務(wù)器包括Tomcat應(yīng)用服務(wù)器和Geoserver地圖服務(wù)器。
數(shù)據(jù)層主要是存儲和檢索數(shù)據(jù),可通過SQL Server或oracle對數(shù)據(jù)進行集成管理。它可以根據(jù)前端用戶的界面交互請求,將相關(guān)的數(shù)據(jù)服務(wù)反饋給邏輯層,是整個三維數(shù)字地球可視化系統(tǒng)的數(shù)據(jù)中心。本文研究的系統(tǒng)數(shù)據(jù)層主要包括衛(wèi)星遙感影像、DEM數(shù)字高程模型數(shù)據(jù),研究區(qū)域行政區(qū)劃數(shù)據(jù)、等矢量、柵格空間數(shù)據(jù),另外則是用于解釋空間數(shù)據(jù)附帶的屬性數(shù)據(jù)。
支撐層是系統(tǒng)正常穩(wěn)定運行的基本保障,主要包括操作系統(tǒng)、專用網(wǎng)絡(luò)、服務(wù)器集群等支持系統(tǒng)運行的網(wǎng)絡(luò)、軟硬件環(huán)境。
水文站點數(shù)據(jù)大致由非空間與空間數(shù)據(jù)組成,空間數(shù)據(jù)包含站點所在區(qū)域的衛(wèi)星影像柵格和行政區(qū)劃等地圖數(shù)據(jù)。因為空間數(shù)據(jù)都是通過Geoserver服務(wù)器發(fā)布,無需存儲在數(shù)據(jù)庫中,因此本文數(shù)據(jù)庫存儲的數(shù)據(jù)主要包含系統(tǒng)用戶角色資料數(shù)據(jù)、水文站點相關(guān)的屬性字段數(shù)據(jù)和描述地圖數(shù)據(jù)信息的屬性數(shù)據(jù)等一系列非空間數(shù)據(jù),具體說明如下。
(1)用戶資料數(shù)據(jù)。對系統(tǒng)角色分別賦予相應(yīng)的數(shù)據(jù)和功能執(zhí)行權(quán)限,并可進行相關(guān)操作。用戶在使用系統(tǒng)前,都需要使用特定賬號登錄,不同賬號用戶會匹配不同角色權(quán)限,系統(tǒng)會根據(jù)分配的權(quán)限限制每個用戶的功能使用。因此,用戶資料數(shù)據(jù)保存了所有用戶角色的相關(guān)信息。
(2)空間數(shù)據(jù)的屬性數(shù)據(jù)。遙感影像、矢量地圖和高程地形圖同樣包含各自的屬性信息,比如保存在Geoserver服務(wù)器中WMS數(shù)據(jù)同樣存在中英文名稱、起始顯示級別、URL、版本號,這些信息在調(diào)用地圖時都需要通過數(shù)據(jù)庫提前存儲好的數(shù)據(jù)來獲取。
(3)水文站點數(shù)據(jù)。因為本文系統(tǒng)是對水文站點進行管理,需要對水文站點的空間分布進行可視化展示,其數(shù)據(jù)信息包括站名,地址,站點類型,經(jīng)緯度坐標(biāo)等相關(guān)屬性信息。根據(jù)水文站點信息可視化需求,本文系統(tǒng)數(shù)據(jù)庫分包含的數(shù)據(jù)表主要有:用戶角色表、WMS圖層表、水文監(jiān)測站點表。
基于Cesium的WebGIS水文站點信息管理系統(tǒng),根據(jù)不同用戶使用需求,系統(tǒng)功能設(shè)計主要包括三維地球場景展示、水文站點查詢、水文站點統(tǒng)計、水文站點編輯、角色權(quán)限5個模塊,各模塊又由若干子模塊組成,系統(tǒng)功能設(shè)計如圖2所示。
圖2 系統(tǒng)功能設(shè)計示意圖
水文站點信息管理系統(tǒng)主要實現(xiàn)以下功能。
(1)三維地球展示模塊。該功能模塊主要提供對三維數(shù)字地球場景的加載和瀏覽功能。其中,圖層管理提供豐富的圖層控制功能,如衛(wèi)星圖、三維高程圖、2D平面圖等,用戶還可以自定義控制需要顯示的圖層,支持創(chuàng)建圖層、創(chuàng)建圖層組、加載圖形,對地圖數(shù)據(jù)進行基本的放大、縮小、平移、旋轉(zhuǎn)操作等。場景設(shè)置則是通過勾選、調(diào)節(jié)地形、霧、白天黑夜、大氣層色調(diào)、飽和度、亮度、狀態(tài)欄等狀態(tài),調(diào)節(jié)三維數(shù)字地球場景的顯示效果。
(2)站點查詢模塊。該功能模塊主要通過屬性查詢、范圍查詢、緩沖區(qū)查詢操作實現(xiàn)對水文站點信息的查詢結(jié)果與三維視窗交叉定位顯示。
(3)站點統(tǒng)計模塊。該功能模塊根據(jù)緩沖區(qū)統(tǒng)計、范圍統(tǒng)計、屬性統(tǒng)計菜單操作實現(xiàn)對水文站點數(shù)量進行統(tǒng)計,并可將統(tǒng)計結(jié)果通過餅狀圖、柱狀圖、折線圖進行可視化分析展示。
(4)站點編輯模塊。該功能模塊針對地圖中顯示的水文站點進行編輯,可進行坐標(biāo)變換及刪除操作。
(5)角色權(quán)限模塊。從保障系統(tǒng)安全的角度出發(fā),對登錄系統(tǒng)用戶角色進行功能使用權(quán)限分配。通過不同用戶分配不同的角色權(quán)限,可以限制每個用戶可操作的系統(tǒng)功能范圍,包括站點查詢、統(tǒng)計、編輯等功能的使用。
地理數(shù)據(jù)是用一定的測度方式描述直接或間接關(guān)聯(lián)著相對于地球某個地點的數(shù)據(jù)[12],本文系統(tǒng)在開發(fā)過程中使用的地理數(shù)據(jù)有,湖北省宜昌市水文站點要素數(shù)據(jù),宜昌市行政區(qū)劃圖、天地圖遙感影像、DEM等基礎(chǔ)地理空間數(shù)據(jù),規(guī)范化處理后的專題屬性數(shù)據(jù)。前兩者通過Geoserver服務(wù)器發(fā)布,后者專題屬性數(shù)據(jù)借助Excel、Access等工具導(dǎo)入Oracle數(shù)據(jù)庫存儲,屬性字段既包括站名、監(jiān)測河流名稱、地址、站點經(jīng)緯度等非空間屬性又有經(jīng)度、緯度空間屬性。Cesium平臺以二維和三維的兼顧方式描述地理空間信息,將非空間數(shù)據(jù)與空間數(shù)據(jù)建立關(guān)系,能夠?qū)崿F(xiàn)對全球任意范圍內(nèi)多源地理空間數(shù)據(jù)進行集成、查詢、共享[13-14]?;贑esium的WebGIS水文站點信息管理系統(tǒng)的主用戶界面系統(tǒng)的主要功能包括地圖操作功能、水文站點查詢功能、水文站點統(tǒng)計分析功能、用戶權(quán)限控制功能,如圖3所示。
圖3 系統(tǒng)主用戶界面
整個系統(tǒng)地圖操作功能包括地圖顯示、圖層管理、場景設(shè)置。
(1)地圖顯示,實現(xiàn)過程用到由Geoserver服務(wù)器發(fā)布的WMS和WFS影像服務(wù),前端利用Cesium API調(diào)用WMS和WFS,從而在三維數(shù)字地球中呈現(xiàn)遙感影像地圖。其中WMS調(diào)用只需在代碼中添加對應(yīng)服務(wù)即可,WFS 則提供地理數(shù)據(jù)圖層可視化服務(wù)[15],水文站點疊加后圖層實際顯示效果如圖4所示。
圖4 圖層疊加顯示效果
地圖基本操作包括基于三維數(shù)字地球的地圖顯示、漫游、縮放和圖層選取,鼠標(biāo)左鍵選中地圖,通過長按鼠標(biāo)左鍵控制其上下左右移動就可以同步對三維地圖進行移動查看。滾動鼠標(biāo)的滾軸即可縮放地圖,放大看地圖的細節(jié),縮小看整個三維數(shù)字地球。點擊地圖中的水文站點圖標(biāo)要素,可彈出其對應(yīng)的屬性框,點擊顯示水文站其對應(yīng)屬性彈窗的效果,屬性窗口展示的字段包括測站名稱,所屬河流、水系、流域名稱,經(jīng)緯度坐標(biāo)和地址等。
(2)圖層管理,主要提供對所有加載到當(dāng)前視圖的數(shù)據(jù)圖層進行管理,通過圖層管理面板,用戶可以對三維數(shù)字地球展示圖層進行切換操作,同時還可以控制當(dāng)前視圖的數(shù)據(jù)圖層顯示與隱藏。
(3)場景設(shè)置,主要針對三維數(shù)字地球場景的地圖三維效果進行調(diào)整設(shè)置。通過點擊2D/3D來控制三維數(shù)字地球場景的二維/三維顯示模式,勾選霧、白天黑夜、大氣層色調(diào)、飽和度、亮度等狀態(tài)欄,來調(diào)節(jié)三維場景的顯示效果,系統(tǒng)3D模式下,顯示效果如圖5所示。
圖5 地圖三維顯示模式
本文的水文站點查詢功能可通過多種方式實現(xiàn)對查詢信息的提取,并將提取的范圍信息與三維數(shù)字地球進行聯(lián)動顯示,從而滿足可視化應(yīng)用需求。在本文研究中,查詢菜單包括屬性查詢、范圍查詢及緩沖區(qū)查詢。其中屬性查詢包含水文站點管理機構(gòu)和普通站點查詢。管理機構(gòu)的查詢條件包含管理機構(gòu)編碼和名稱,兩者可聯(lián)合查詢;普通站點的查詢除了自身名稱外還可以基于其管理機構(gòu)的編碼和名稱進行聯(lián)合查詢。屬性查詢結(jié)果還具備字段過濾顯示、屬性查看、刪除、編輯、定位、報表導(dǎo)出Excel功能?;贑esium也實現(xiàn)了常用的幾何條件查詢,即范圍查詢功能。它包括多邊形、圓形、矩形3種查詢方式,三者都以操作的空間范圍作為限定條件進行查詢。用戶在地球上用鼠標(biāo)繪制多邊形、圓形或者矩形框,查詢繪制區(qū)域范圍的圖層要素信息,并將查詢結(jié)果與地球進行聯(lián)動彈窗顯示。例如,基于用戶繪制的多邊形范圍,多邊形查詢結(jié)果包含3類,分別為雨量站、水文測站、水位站。
水文站點統(tǒng)計是本文水文站數(shù)據(jù)可視化的核心功能之一,統(tǒng)計功能是基于上述水文數(shù)據(jù)查詢功能基礎(chǔ)上,再結(jié)合Echarts前端插件個性化定制圖表[16],對查詢的屬性結(jié)果進行數(shù)量計算,然后可以自由選擇進行餅圖、條形圖、折線圖等可視化展示方式。數(shù)據(jù)統(tǒng)計模塊包含屬性、范圍、緩沖區(qū)3種統(tǒng)計可視化方式。以緩沖區(qū)統(tǒng)計為例,本文系統(tǒng)緩沖區(qū),目前只支持點狀緩沖區(qū)統(tǒng)計。系統(tǒng)緩沖區(qū)統(tǒng)計的實現(xiàn)效果如圖6所示。
圖6 緩沖區(qū)統(tǒng)計
首先輸入點緩沖區(qū)范圍參數(shù)(半徑50000m),然后基于范圍內(nèi)的查詢結(jié)果進行圖形可視化展示,根據(jù)處在統(tǒng)計范圍內(nèi)的站點,彈出窗口面板對各站點類型數(shù)量進行統(tǒng)計并展示。
系統(tǒng)權(quán)限管理就是系統(tǒng)根據(jù)用戶類型,設(shè)定不同的數(shù)據(jù)權(quán)限,用戶登錄系統(tǒng),系統(tǒng)會自動判定用戶的數(shù)據(jù)操作權(quán)限。用戶可用相應(yīng)是權(quán)限對數(shù)據(jù)進行增加、刪除、修改、查詢等操作。用戶操作數(shù)據(jù)的權(quán)限按“用戶—角色—權(quán)限”進行,一個用戶一般只創(chuàng)建一個帳號,個別用戶可以創(chuàng)建2個或多個帳號,角色可以按部門進行劃分和授權(quán),一個用戶帳號對應(yīng)一個角色,角色可以分配一個權(quán)限,2個權(quán)限,甚至全部權(quán)限。本文水文站點信息管理系統(tǒng)的權(quán)限控制模塊包含3個功能,分別是部門管理、用戶管理、角色管理三大塊。
其中用戶管理與部門管理類似,主要基于用戶層面對用戶角色進行維護,而角色管理是針對系統(tǒng)每個角色進行權(quán)限分配,系統(tǒng)功能權(quán)限的控制主要通過在對應(yīng)的樹狀功能條目上進行勾選與不勾選狀態(tài),然后根據(jù)修改的狀態(tài)進行數(shù)據(jù)庫保存,實現(xiàn)數(shù)據(jù)權(quán)限的控制,包括數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計、屬性查看、定位等功能的權(quán)限分配。
本文基于Cesium構(gòu)建的三維數(shù)字地球可視化系統(tǒng)框架,實現(xiàn)了與系統(tǒng)界面交互聯(lián)動的
WebGIS站點信息管理,主要包括三維數(shù)字地球地圖顯示模塊、水文站點信息查詢模塊、水文站點信息統(tǒng)計模塊和系統(tǒng)權(quán)限管理模塊。以宜昌水文站點的管理進行實踐,結(jié)果證明該系統(tǒng)能夠滿足水文部門相關(guān)用戶的基本需求,為推動水利行業(yè)信息化建設(shè)提供有效的技術(shù)支持。