楊 兵,王方雄*,康祥瑞
?
基于Cesium平臺的GIS園區系統開發
楊 兵1,2,王方雄1,2*,康祥瑞3
(1. 遼寧師范大學 遼寧省自然地理與空間信息科學重點實驗室,遼寧 大連 116029;2. 遼寧師范大學 城市與環境學院,遼寧 大連 116029;3. 北京超圖軟件股份有限公司,遼寧 沈陽 110015)
基于Cesium技術,探索了二三維于一體的GIS園區系統的設計方案與開發技術。系統實現了地圖在線瀏覽、三維測量標繪、園區信息管理、場景模型展示等。利用mysql數據庫解決了三維模型在線添加不能存儲的問題。為GIS園區開發提供了一套完整的設計思路及開發方案。
Cesium;GIS園區;WebGIS
至數字地球[1-2]概念被提出以來,WebGIS技術在定位導航、旅游管理、環境保護、綜合治理、城鄉建設等諸多領域展現出強大的應用潛力和市場價值[3-9]。現階段園區網站開發常采用三維GIS。對于加載三維場景多采用發布為地圖服務的方式來實現,但這較難實現模型的動態添加及存儲[10]。本文采用mysql數據庫來存儲模型的坐標及屬性在需要時在由前端調用渲染的設計思路成功解決了這一 問題。
園區GIS系統采用B/S三層架構[11]。表現層(UI層)采用標準的瀏覽器形式向用戶提供訪問系統的客戶端。該層主要采用HTML5+CSS3編寫,運用超圖iServer和WebGL API實現二維矢量數據和三維模型場景相結合的GIS二三維一體化。服務層包括Web服務器和應用服務器,選用Apache+Tomcat可以很好地承接起數據到接口的調用訪問從而將數據層和表現層連接起來。數據層主要完成系統中所有數據的存儲及訪問,為服務層和表現層提供數據支持。為更好地支持當前主流數據,系統以BingMap作為底圖、矢量數據采用KMZ、三維模型采用gtlf、場景數據采用SuperMap iServer發布的三維傾斜攝影數據;同時用MySQL數據庫來存儲gtlf模型的屬性信息以滿足增刪改查操作的需求,用本地Json數據來存儲一些不需要經常改動的文案數據以保證系統最快的加載速度。
系統界面框架主要由Html5+Css3+JavaScript搭建,并引用jQuery及Bootstrap等插件為用戶提供了自由縮放顏色變化等良好的交互體驗。主界面上邊為模塊選項卡與左側的功能面板聯動顯示,中間為地圖主窗口,用來裝載網絡地圖、矢量數據、三維切片及模型,主窗口的下方浮動著坐標控件。主界面右側為信息面板可根據所選擇的功能改變顯示隱藏狀態。
系統采用模塊化的功能設計。主要包括地圖基礎功能模塊、輔助工具模塊、園區管理模塊、模型管理模塊、場景漫游模塊如圖1所示。基礎功能模塊除一些常見的地圖瀏覽功能外還具有三維地圖特有的視角切換、光照模擬功能。輔助工具模塊主要包括二三維場景的測量標繪。園區管理模塊主要完成園區所有矢量數據的加載與移除,以及信息推 送顯示。場景模型模塊主要完成三維場景加載及移除、實現場景漫游,以及實體模型的添加、顯示和刪除。
通常WebGIS系統中動態添加的三維gtlf模型本身不具有任何屬性,也無法在添加后實現保存。為此系統引入MySQL數據庫來存儲gtlf模型的屬性信息并在頁面初始化時逐一動態渲染。該類模型在數據庫中的屬性數據字典如表1。

圖1 系統功能模塊
表1 模型數據屬性字典

Tab.1 Model data attribute dictionary
基礎功能模塊通過Cesium創建Viewer對象。通過Viewer對象加載動畫控件和時間線控件;通過Viewer的BingMapsImageryProvider加載必應地圖,同時開啟光照模擬;通過Viewer的Scene.addS3-MTilesLayerByScp實例化promise來加載傾斜攝影數據。當鼠標在地圖窗口移動時坐標標簽會實時顯示鼠標所在位置的經緯度、海拔高度及相機高度信息。右鍵雙擊地圖某點會彈出該位置坐標信息。初始化完成后界面如圖2所示。
輔助功能模塊通過Cesium的MeasureHandler來實例化對應的測量對象并綁定相應的測量事件。通過Cesium的DrawHander來創建點、線、面、標注對象并分別綁定繪制點、繪制線、繪制面、添加標注事件,然后通過激活對應的事件完成測量或標繪。添加標注完成后會自動調用保存事件通過ajax將標注的經緯度傳至后臺并保存至MySql數據庫中。系統中的清除按鈕綁定了清除測量標繪事件,能夠清除對應事件在畫布創建的矢量數據但不會清除數據庫中保存的點坐標。

圖2 系統初始界面
園區管理模塊通過Cesium的KmlDataSource的load方法向Viewer的dataSources加載kmz矢量數據并設置相機視角,并在需要時通過remove方法移除對應圖層。加載的數據包括園區邊界、路網數據、用地類型等。單擊某圖層中的元素會在右上角彈出該元素屬性信息及視角轉換控件,談及空白地區退出屬性查看。彈窗部分能夠以文本、音頻、視頻等格式展示園區內各設施場所的信息。為了更加快速的獲取數據文本信息以json格式存儲在項目的本地文件夾中通過ajax來遍歷訪問。
場景模型模塊通過Viewer的entities在線添加gtlf模型,添加完成后通過ajax調用后臺方法將所添加模型的經緯度、類型、尺寸存儲至數據庫。調用顯示所有模型時,將從數據庫取出對應模型的所有記錄,每條記錄都會被組裝加工成一個實體模型渲染在地圖相應位置。開啟場景漫游功能后,能通過“W、S、A、D”按鍵來移動相機視角實現場景漫游。功能界面如圖3所示。

圖3 添加三維模型
GIS園區系統采用JavaEE作為開發平臺。前端采用Html5+Css3+JavaScript開發,后臺采用java編寫,并引用jQuery、Bootstrap等多種插件優化界面UI。通過SuperMap iServer發布地圖服務,依托Cesium將網絡地圖作為地圖來源實現二維矢量數據與三維場景的一體化展示查詢。系統采用網絡數據庫+本地文件相結合形式存儲s3m、gtlf、json、kmz、mp3、MP4、png等多種數據格式,即解決了實體模型無法存儲的問題又兼顧了數據的加載速度。為GIS園區開發提供了一套完整的設計方案及思路。
[1] 李德仁. 數字地球與“3S”技術[J]. 中國測繪, 2003(02): 30-33.
[2] 黃亮, 於雪琴. 基于雨課堂的《數字地球導論》課程教學模式改革研究[J]. 軟件, 2018, 39(08): 224-227.
[3] 張彧. 基于Cesium平臺的導航衛星軌道模擬與可視化[D]. 華東師范大學, 2017.
[4] 陳俊, 張雷, 王遠飛. 基于北斗和GPS的森林防火人員調度指揮系統[J]. 軟件, 2012, 33(02): 27-30.
[5] 張畢祥. 基于傾斜攝影測量技術在大比例尺地形圖測繪中的研究[J]. 軟件, 2018, 39(7): 146-151
[6] 張欣, 張漢中, 董偉哲, 周小平. 基于WebGIS和虛擬現實的智慧旅游深度結合研究[J]. 中國新通信, 2018, 20(08): 58-60.
[7] 陳美伊. 基于GIS 的旅游景區虛擬實現技術的研究[J]. 軟件, 2015, 36(10): 30-32
[8] 李月華. 基于WebGIS的環境監管云平臺設計與建設[J]. 測繪與空間地理信息, 2017, 40(01): 121-124+127.
[9] 趙桔青, 陶福壽. 基于GIS的城鎮土地資源承載力評價[J]. 軟件, 2018, 39(7): 52-56.
[10] 李海生, 賴龍, 蔡強, 毛典輝, 陳誼. Hadoop環境下三維模型的存儲及形狀分布特征提取[J]. 計算機研究與發展, 2014, 51(S2): 18-29.
[11] 黃興榮. 基于B/S架構模式的三層結構設計與實現[J]. 電腦知識與技術, 2015, 11(32): 52-53.
Development of GIS Park System Based on Cesium Platform
YANG Bing1,2, WANG Fang-xiong1,2*, KANG Xiang-rui3
(1. Liaoning Key Lab of Physical Geography and Geomatics, Liaoning Normal University, Dalian 116029, China; 2. School of Urban and Environmental Sciences,Liaoning Normal University, Dalian 116029, China; 3. SuperMap Software Co., Ltd. Shenyang 110015, China)
Based on Cesium technology, the technique of development and project of design for GIS Industrial Park System that combines 2D and 3D is groped after. The system manages to realize map online browsing, 3D measure marking, park information management as well as exhibition of site model. It solves the problem of saving online 3D model attachment using MySQL database, offering an integral design thought and development project for GIS Park development.
Cesium; GIS park; WebGIS
TP311.52
A
10.3969/j.issn.1003-6970.2018.12.023
楊兵(1992-),男,研究生,主要研究方向:WebGIS研究與開發;康祥瑞(1991-),男,研究生畢業,主要研究方向:GIS開發與遙感應用。
王方雄(1973-),男,副教授,主要研究方向:GIS建模與集成、網絡GIS。
楊兵,王方雄,康祥瑞. 基于Cesium平臺的GIS園區系統開發[J]. 軟件,2018,39(12):99-102