杜鵬 屈帥
摘 要:伴隨著網(wǎng)絡三維技術的快速發(fā)展,網(wǎng)絡三維GIS也隨之崛起,并在地理學中扮演著越來越重要的角色。由于網(wǎng)絡數(shù)據(jù)傳輸受到帶寬等因素的影響,因此如何滿足地理信息系統(tǒng)大數(shù)據(jù)傳輸與處理的需要是網(wǎng)絡三維地理信息系統(tǒng)所迫切需要解決的一個問題。WebGL技術的出現(xiàn)則是為這一問題提供了一個解決的方法。因此,該文就以一種無插件版的Web三維技術—WebGL為基礎,介紹一個自主研發(fā)的網(wǎng)絡三維地理信息系統(tǒng)平臺,并介紹了該系統(tǒng)的系統(tǒng)主要框架,簡述了其主要的功能。
關鍵詞:網(wǎng)絡三維技術 WebGL 地理信息系統(tǒng)平臺
中圖分類號:TP391 文獻標識碼:A 文章編號:1672-3791(2015)10(c)-0026-02
隨著計算機網(wǎng)絡技術的不斷發(fā)展,人們的生活方式與生活習慣也在悄然發(fā)生變化,計算機與互聯(lián)網(wǎng)的快速崛起,特別是Web3D技術的蓬勃發(fā)展,不僅提高了人們的生產(chǎn)效率、改善了人們的生活方式。隨著“數(shù)字地球”、“智慧城市”等新概念的提出與建設,在一定程度上刺激了傳統(tǒng)GIS向服務網(wǎng)絡化、表現(xiàn)形式三維化的轉變[1]。因為大家生活在一個三維的空間里,和二維傳統(tǒng)GIS相比,在很多場合下,三維可視化加強了WebGIS的表現(xiàn)能力,用三維去表達地理實體要比二維更加直觀、清晰。因此以三維地形景觀為模型的網(wǎng)絡三維數(shù)字虛擬系統(tǒng)脫穎而出,并且日益成為三維GIS的主流之一。但是由于三維數(shù)據(jù)要比二維數(shù)據(jù)更加復雜,因此就對數(shù)據(jù)傳輸以及處理海量數(shù)據(jù)的能力提出了更高的挑戰(zhàn),目前真正成型的網(wǎng)絡形式的三維GIS系統(tǒng)卻很少[3]。該文就以webgl技術為基礎搭建一個網(wǎng)絡三維地理信息系統(tǒng)平臺。
1 網(wǎng)絡三維簡介
1.1 網(wǎng)絡三維
網(wǎng)絡三維技術是以虛擬現(xiàn)實(VR)技術,多傳感交互技術以及高分辨顯示技術為基礎,利用計算機三維圖形生成逼真的虛擬環(huán)境,用來模擬人在自然環(huán)境中視、聽、說、動等行為,通過互聯(lián)網(wǎng)技術最終形成一個帶有交互性質的能實時渲染的網(wǎng)絡三維場景[2]。網(wǎng)絡三維技術的出現(xiàn)提供了另外一種表達人們所處的地理世界的方式,并且這種方式能更加直觀、形象的表現(xiàn)出地理實體,為用戶帶來強烈的空間感和體驗感。
但是隨著網(wǎng)絡三維技術的發(fā)展與應用,幾乎每個開發(fā)商都有自己的一套標準,并且該標準需要有加載組件或者預先安裝插件,并且具有兼容性差,效果顯示不佳等缺點,因此想要廣泛的應用網(wǎng)絡三維技術急需一套免插件的三維技術,WebGL出現(xiàn)為這種構想提供了實現(xiàn)的可能性。
1.2 WebGL技術
WebGL是一種3D繪圖標準,該標準解決了現(xiàn)有網(wǎng)絡三維最大的問題:插件問題。這種繪圖技術標準允許把JavaScript和OpenGL ES 2.0結合在一起,通過增加OpenGL ES 2.0的一個JavaScript綁定,WebGL可以利用底層圖形硬件加速功能為HTML5 Canvas提供硬件3D加速渲染,這樣Web開發(fā)人員就可以借助系統(tǒng)顯卡來在瀏覽器里更流暢地展示3D場景和模型了,還能創(chuàng)建復雜的導航,提高了數(shù)據(jù)視覺化[4]。
2 系統(tǒng)框架
該系統(tǒng)是基于WebGL技術,采用B/S開發(fā)模式,考慮到網(wǎng)絡三維可視化[5]系統(tǒng)的特殊性,盡量減少網(wǎng)絡阻塞,縮短在網(wǎng)絡上的傳輸時間,使客戶終端能快速得到所需要的三維場景,因此選擇在服務端采用Internet信息服務存放三維場景所需要的三維數(shù)據(jù),網(wǎng)頁端場景顯示采用高效的空間索引技術,漸進傳輸技術和地形簡化算法來滿足多用戶并發(fā)訪問的需要。
2.1 服務器端
Web服務器端作為整個系統(tǒng)的后端,接受客戶端發(fā)送的服務請求和參數(shù),提交應用服務器處理后將其返回的參數(shù)和分塊的數(shù)據(jù)再經(jīng)由Web服務器返回客戶端。主要功能是采用海量空間數(shù)據(jù)庫進行數(shù)據(jù)的存儲管理以及提供實時的空間數(shù)據(jù)查詢服務。主要包括存儲各種三維數(shù)據(jù)的數(shù)據(jù)庫和一個離線數(shù)據(jù)預處理模塊。
三維數(shù)據(jù)本身數(shù)據(jù)量大,結構復雜多樣,并且網(wǎng)絡三維要求實時性的交互,因此需要一個專門的模塊來對這些三維數(shù)據(jù)進行組織和管理,采用細節(jié)分層技術實現(xiàn)對不同類型數(shù)據(jù)的一體化管理,從數(shù)據(jù)到三維虛擬顯示的快速轉換,并把客戶端請求的數(shù)據(jù)提建立索引,進行壓縮,傳給客戶端。三維數(shù)據(jù)數(shù)據(jù)庫主要包括:三維模型數(shù)據(jù)庫、DEM數(shù)據(jù)庫、屬性數(shù)據(jù)庫。這些數(shù)據(jù)庫不僅存放了地理數(shù)據(jù)例如矢量數(shù)據(jù)、DEM數(shù)據(jù)、三維模型數(shù)據(jù),還記錄了各個三維實體的屬性信息、對三維模型的描述性信息等。
2.2 客戶端
客戶端根據(jù)用戶在場景中的瀏覽位置的不同,將不斷向服務器端發(fā)送新的數(shù)據(jù)請求,要求傳送與當前用戶瀏覽位置相關的三維場景數(shù)據(jù)。包括三維地形數(shù)據(jù)、紋理圖像數(shù)據(jù)等。客戶端在收到這些場景數(shù)據(jù)后,能夠對其進行實時繪制和顯示。但因為三維數(shù)