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