雷浩川
(青海大學(xué)地質(zhì)工程系,青海西寧810016)
隨著傳統(tǒng)GIS向三維立體、互聯(lián)網(wǎng)絡(luò)方向的發(fā)展,網(wǎng)絡(luò)環(huán)境下空間數(shù)據(jù)的三維可視化問題也越來越受到關(guān)注。虛擬城市、數(shù)字社區(qū)、三維警務(wù)系統(tǒng)、數(shù)字三維旅游系統(tǒng)等一個(gè)個(gè)優(yōu)秀三維DGIS系統(tǒng)開發(fā)成功,相繼出現(xiàn)了以 Skyline、Google Earth、Virtual Earth3D、ESRI的 ArcScene、GeoVRML 及 E 都市平臺為代表的三維城市地圖網(wǎng)站。相對于二維數(shù)據(jù),三維空間數(shù)據(jù)包括大量的地形、影像、三維城市模型及其紋理數(shù)據(jù)等,其網(wǎng)絡(luò)發(fā)布成為目前該領(lǐng)域的研究熱點(diǎn)之一,對整合了海量數(shù)據(jù)的矢量、影像、DEM、建筑模型如何快速顯示、查詢、處理也是人們關(guān)注的焦點(diǎn)之一。
最新版ArcGIS10軟件中的ArcScene提供了一般的三維數(shù)據(jù)瀏覽功能,但由于 ArcScene會(huì)將所有數(shù)據(jù)讀入場景中完全顯示,因此會(huì)占用大量顯存、物理內(nèi)存和虛擬內(nèi)存、故影響了其顯示速度[1]。在一個(gè)區(qū)域建筑模型全部加載的情況下,其瀏覽速度變得異常緩慢,帶有紋理的模型更是如此。因此,其三維顯示與發(fā)布的功能有待進(jìn)一步完善。
Virtual Earth 3D是微軟公司基于MicrosoftLive搜索引擎的一項(xiàng)個(gè)性化地圖服務(wù),它給出了二維、三維兩種操作方式,并按加載的地圖可分為3種,即常規(guī)地圖、衛(wèi)星航拍地圖,以及前兩者的混合模式。用戶通過瀏覽器進(jìn)入WindowsLiveMaps之后,切換到三維視窗就能夠載入目前美國本土的十幾個(gè)大中城市三維建筑物。此類3D資源及正式多語言的版本仍在進(jìn)一步補(bǔ)充完善當(dāng)中。
Google Earth[2]是一個(gè)使用最為廣泛的網(wǎng)絡(luò)三維客戶瀏覽工具,它提供世界各地不同等級的衛(wèi)星或地圖影像數(shù)據(jù),并采用流Streaming技術(shù)通過Internet傳送,這對于粗略查詢地名、地形信息等一般的用戶而言不失為一個(gè)理想的資源平臺,它還支持用戶上傳自定義的地標(biāo)、房屋模型、影像等數(shù)據(jù)。同時(shí),它也提供Web界面的API以供網(wǎng)頁設(shè)計(jì)者做進(jìn)一步做應(yīng)用開發(fā),但由于其大范圍的空間數(shù)據(jù)資源都是由Google公司提供,數(shù)據(jù)庫完全受到美國公司的控制,用戶根據(jù)實(shí)際應(yīng)用需求添加的空間數(shù)據(jù)、模型數(shù)據(jù)要網(wǎng)絡(luò)發(fā)布需借助 Google公司的服務(wù)器進(jìn)行,并且模型的發(fā)布還有一定的時(shí)間限制,因此在行業(yè)應(yīng)用中不能提供有效的服務(wù)。
Skyline的軟件系統(tǒng)一直在基于網(wǎng)絡(luò)的三維可視化軟件中居于領(lǐng)先地位,是較為優(yōu)秀的三維GIS軟件平臺。該公司提供的應(yīng)用軟件工具包和服務(wù)的集成平臺可將復(fù)雜的地理空間信息以簡單的三維圖像的形式表現(xiàn)出來。本文旨在研究利用Skyline軟件來構(gòu)建三維場景,加入三維建筑模型,進(jìn)行三維WEBGIS應(yīng)用開發(fā),并就其不同的空間數(shù)據(jù)發(fā)布方式,做以比較分析。
Skyline軟 件 系 列 由 TerraBuild、TerraGate、Streaming Feature Server、TerraExplorer 等主要產(chǎn)品組成。
TerraBuild使用航空或衛(wèi)星影像,DEM和矢量數(shù)據(jù)創(chuàng)建三維地形數(shù)據(jù)集,具有建立影像金字塔、集成不同的GIS數(shù)據(jù)、繪制矢量圖形等功能,主要用于生成用于流技術(shù)讀取的MPT文件。
TerraGate是將三維地形數(shù)據(jù)集MPT進(jìn)行網(wǎng)絡(luò)發(fā)布實(shí)現(xiàn)實(shí)時(shí)流暢傳輸?shù)姆?wù)器端軟件,它采用強(qiáng)大的網(wǎng)絡(luò)數(shù)據(jù)服務(wù)器技術(shù),處理Skyline客戶端數(shù)據(jù)的傳輸請求。
Streaming Feature Server是Skyline基于網(wǎng)絡(luò)的矢量數(shù)據(jù)管理服務(wù)器,通過網(wǎng)絡(luò)以流的方式實(shí)現(xiàn)高效地從Oracle、SQL Server數(shù)據(jù)庫及空間數(shù)據(jù)庫中讀取矢量數(shù)據(jù)。
TerraExplorer又可分為 TerraDeveloper、TerraExplorer Pro TerraExplorer。其中,TerraDeveloper是TerraExplorer Pro的二次開發(fā)包,用戶可利用它定制自己的應(yīng)用程序;TerraExplorerPro具有編輯、注記及空間三維分析等功能,并可創(chuàng)建自己的三維可視化環(huán)境,將MPT文件、建筑模型、注記等整合制作成FLY文件,供網(wǎng)絡(luò)發(fā)布使用;TerraExplorer是免費(fèi)的瀏覽TerraExplorer Pro所開發(fā)的專用功能并執(zhí)行TerraExplorer所提供的基本功能,且能加載WMS的二維圖層。Skyline提供C/S、B/S的靈活開發(fā)方式,本文主要探討B(tài)/S的開發(fā)模式。圖1為典型的以數(shù)據(jù)為核心的Skyline軟件運(yùn)行體系[3]。
將地形數(shù)據(jù)制作成流媒體文件是在TerraBuild中進(jìn)行的,具體過程如圖2所示。
1)新建工程:在選擇坐標(biāo)系后,還需要進(jìn)行工程參數(shù)設(shè)置,主要包括數(shù)據(jù)壓縮比和數(shù)據(jù)存儲(chǔ)目錄的設(shè)定,其在生成MPT之前可隨時(shí)進(jìn)行更改。
2)添加數(shù)據(jù):可以添加的數(shù)據(jù)有以下3種類型:影像、高程、矢量,然后選擇文件來源(FILE SYSTEM、ORACLE SPATIAL DATABASE、WEB MAP SERVER、ECW IMAGEWEB SERVER),并設(shè)置添加數(shù)據(jù)的坐標(biāo)信息。當(dāng)導(dǎo)入的數(shù)據(jù)不包含軟件所能識別的金字塔數(shù)據(jù)時(shí),數(shù)據(jù)不能在工作窗口顯示,此時(shí)應(yīng)在數(shù)據(jù)列表上面選擇creat resolution pyramid工具即可以創(chuàng)建MPU格式的金字塔數(shù)據(jù)。一個(gè)編輯好的Tbp工程可以通過TerraBuilder生成三維地表數(shù)據(jù)集(*.mpt)供客戶端調(diào)用;也可以通過與TerraGate及其擴(kuò)展模塊 DirectConnect組件協(xié)同發(fā)布,不需要生成MPT文件,直接將 Tbp工程進(jìn)行發(fā)布,從而實(shí)現(xiàn)實(shí)時(shí)更新和發(fā)布三維地表數(shù)據(jù)。
(1)三維模型的創(chuàng)建
三維建筑模型的建立可以采用常見的建模軟件如 3ds Max、MAYA、Sketchup、MultigenCreator等中的一種,但建立的模型需要輸出成Skyline可以接受的格式,如微軟的模型格式*.X、打包生成的Skyline特有格式XPC、打包生成的具有紋理金字塔的XPL格式、Sketchup輸出的DAE格式等。這里采用Sketchup建模,然后輸出為XPL格式。如一個(gè)名為01.x的模型,經(jīng)過默認(rèn)打包,生成01.xpc,如果選擇了“Generate objects level of detail”,則會(huì)生成最高4級的一組 xpl,文件如下:01.xpl,01_LOD_1.xpl,01_LOD_2.xpl,01_LOD_3.xpl,01_LOD_4.xpl。這 5 個(gè)文件是一個(gè)模型,不能分離。其中,由于*.xpl速度更快,網(wǎng)絡(luò)發(fā)布的話較*.xpc更有優(yōu)勢[4]。要加快網(wǎng)絡(luò)的瀏覽速度,模型的制作與精簡非常重要。為了對模型能夠優(yōu)化,并高效調(diào)用,需要根據(jù)地物的重要程度確立模型的等級,可以進(jìn)行精細(xì)和粗略兩種方式建模。需要網(wǎng)絡(luò)發(fā)布的海量模型數(shù)據(jù)量:單個(gè)一組模型文件(XPL格式,包含貼圖)數(shù)據(jù)量大小區(qū)間值為:60 kB~2 MB。根據(jù)場景中三維模型類型的不同主要分為3類建模:① 地面建模;② 建筑建模;③樹木、花草及輔助設(shè)施建模。
(2)模型點(diǎn)SHP文件的創(chuàng)建
在ArcMap中導(dǎo)入含有坐標(biāo)信息的文本文件,輸出成SHP文件,并添加路徑字段。在確定模型路徑之后,在ArcMap里對SHP進(jìn)行編輯,添加名稱字段。表1所示為圖書館、八角亭的模型,其中,圖書館模型分成了4級
表1 存儲(chǔ)了坐標(biāo)和模型索引文件的SHP文件
(3)三維工程文件的創(chuàng)建
三維工程文件(FLY)在TerraExp lorer Pro中創(chuàng)建,并通過TerraExp lorer Pro將三維地形數(shù)據(jù)、三維模型、二維信息等整合起來形成三維虛擬的場景。同時(shí),也可以根據(jù)需求,添加一些定位標(biāo)簽(location)及創(chuàng)建路徑(route)對三維虛擬場景進(jìn)行全面的展示。通過網(wǎng)絡(luò)訪問的三維工程FLY文件需要設(shè)置網(wǎng)絡(luò)地址參數(shù),格式為Sample@IP地址:端口號,然后通過TerraGate發(fā)布的三維地形MPT數(shù)據(jù),通過SFS發(fā)布的SHP格式的三維模型數(shù)據(jù)、二維信息等。圖3為調(diào)用已創(chuàng)建好的FLY文件題。
圖3 在TerraExpro中瀏覽創(chuàng)建好的FLY文件
(4)網(wǎng)頁文件的設(shè)計(jì)
Skyline工程文件的網(wǎng)頁發(fā)布通常有兩種形式:基于TE3DWindow控件的胖客戶端網(wǎng)頁和不帶TE3DWindow控件的瘦客戶端網(wǎng)頁。TerraExplorer Pro提供一系列COM接口,這些接口都能通過腳本語言(如Javascript、VBScript)等調(diào)用。開發(fā)人員在使用TerraExp lorer的TE3DWindow控件設(shè)計(jì)網(wǎng)頁來進(jìn)行三維顯示的同時(shí),還可通過接口調(diào)用,在實(shí)現(xiàn)基本功能的基礎(chǔ)上加入高級分析功能,以適應(yīng)各個(gè)不同行業(yè)的需求。在進(jìn)行網(wǎng)頁設(shè)計(jì)時(shí),可根據(jù)需求選擇不同的網(wǎng)頁設(shè)計(jì)工具,如記事本、Dreamweaver、Asp.Net等進(jìn)行界面的美化和功能定制。三維工程文件(FLY)通過IIS發(fā)布,用戶在安裝TerraExplorer瀏覽器后,即可在所提供的網(wǎng)頁中對工程進(jìn)行訪問,實(shí)現(xiàn)網(wǎng)絡(luò)三維瀏覽。
利用TerraGate實(shí)現(xiàn)地形影像數(shù)據(jù)發(fā)布,用戶可以通過Internet進(jìn)行地形影像數(shù)據(jù)的傳輸和訪問。TerraGate的空間數(shù)據(jù)是以流方式實(shí)時(shí)地傳輸給客戶端,其流暢效果就像讀取本地機(jī)上的文件一樣。
TerraGate服務(wù)器的流技術(shù)明顯不同于一般的視頻流,該服務(wù)器運(yùn)行在基于網(wǎng)絡(luò)無縫可變帶寬的基礎(chǔ)之上,使得用戶通過網(wǎng)絡(luò)讀取源影像和地表數(shù)據(jù)集(MPT文件)時(shí)不會(huì)受到帶寬、或者連通中斷的影響。能夠在接收到低分辨率的影像時(shí)立刻進(jìn)行三維顯示,而不用等到所有數(shù)據(jù)集都傳輸完畢時(shí)才顯示,從而實(shí)現(xiàn)了多用戶在同時(shí)訪問海量的三維數(shù)據(jù)時(shí)流暢的瀏覽效果。
模型流技術(shù)即是將模型數(shù)據(jù)SHP化,就是把模型作為SHP點(diǎn)數(shù)據(jù)文件的符號,然后再利用Terra-ExplorerPro將其以流(streaming)方式加載,實(shí)現(xiàn)模型按瀏覽動(dòng)態(tài)加載,實(shí)現(xiàn)“所見即所得”模型流顯示。這種技術(shù)從理論上對模型數(shù)據(jù)量支持是無限制的,從而解決了由于模型數(shù)量的增加瀏覽速度變慢的問題。
一般以在網(wǎng)絡(luò)上發(fā)布矢量數(shù)據(jù),可以有兩種方式:WFS和SFS。WFS是一種能從地理數(shù)據(jù)集中提取地理特征(點(diǎn)、線、面)的服務(wù),已經(jīng)是較為成熟的方式;SFS的全稱是streaming feature server,即流特征服務(wù),其作為Skyline的一個(gè)組件,可從空間數(shù)據(jù)庫中讀取數(shù)據(jù)并通過網(wǎng)絡(luò)以流的方式進(jìn)行傳輸,因此可以將 SFS理解為 Skyline自己構(gòu)建的 WFS。Skyline以SFS方式發(fā)布矢量數(shù)據(jù)并在三維場景中分塊調(diào)用(即流模式),窗口瀏覽什么范圍,就傳輸那個(gè)范位的數(shù)據(jù),無需加載整個(gè)文件數(shù)據(jù),這就提高了海量矢量數(shù)據(jù)傳輸速度。
由此可見,流技術(shù)的廣泛使用,是Skyline軟件的最大特點(diǎn)之一,也是它在眾多三維可視化軟件中能夠脫穎而出的關(guān)鍵。
本文選取青海大學(xué)約8 km2的范圍作為試驗(yàn)區(qū),驗(yàn)證Skyline軟件的網(wǎng)絡(luò)發(fā)布數(shù)據(jù)的性能,所用到的數(shù)據(jù)有:
1)全校范圍的北京54坐標(biāo)系的1∶500數(shù)字地形圖,由學(xué)生測量得到并進(jìn)行了加工處理。
2)全校范圍的遙感影像數(shù)據(jù),由Getscreen軟件從Google Earth上截取。
3)整個(gè)青海省90m DEM數(shù)據(jù),從中科院網(wǎng)站免費(fèi)下載得到。
4)模型文件的創(chuàng)建選擇了Sketchup8軟件,建成了全校大約600個(gè)建筑物的模型。
將所有數(shù)據(jù)整合由Terragate和IIS發(fā)布,分別在把模型和矢量數(shù)據(jù)以圖層方式加載和以流方式兩種方式調(diào)用比較其性能,明顯可以看到,以圖層方式加載模型和矢量數(shù)據(jù)時(shí),其在普通的機(jī)器上瀏覽網(wǎng)頁異常緩慢且經(jīng)??ㄋ溃诹鞣绞较?,瀏覽的速度都是非常迅速的。
以流方式發(fā)布的數(shù)據(jù)(矢量、影像、DEM、SHP三維模型)比直接以圖層方式加載的速度要快,因此地形數(shù)據(jù)通常以MPT方式發(fā)布,對矢量數(shù)據(jù)以SFS技術(shù)發(fā)布。對建筑物等模型的建立要考慮精細(xì)程度,采用精細(xì)與粗略兩種建模方法,對模型要加以優(yōu)化以加快瀏覽速度。TerraExplorer Pro針對矢量數(shù)據(jù)(SHP格式)提供整層(Entire)加載和流模式(Streaming)兩種加載方式。整層(Entire)加載方式即傳統(tǒng)的加載方式。在打開工程文件(FLY)時(shí),需要在全部模型數(shù)據(jù)加載后才顯示場景,進(jìn)行操作。因此,等待加載的時(shí)間可能會(huì)很長,多運(yùn)用于單機(jī)運(yùn)行環(huán)境且數(shù)據(jù)量較小的情況[5]。流模式(Streaming)的加載方式即實(shí)時(shí)加載所見區(qū)域的數(shù)據(jù)。當(dāng)然,Skyline還有其許多不足的方面,如空間分析功能比較弱,需要和ArcGIS結(jié)合才能發(fā)揮出其優(yōu)越性能,但這些都不會(huì)動(dòng)搖其作為優(yōu)秀三維GIS軟件的地位。
[1]EsriWeb Help.ArcScene 3D Display Environment[EB/OL].[2012-05-01].http:∥support1esri1com/.
[2]Google Earth Help.General Information:Comparison of Google Earth Products and Support[EB/OL].[2012-05-04].http:∥www.google.com/.
[3]梁吉欣.基于Skyllne的Web三維GIS應(yīng)用研究[D].昆明:昆明理工大學(xué).2009.
[4]鐘海東,吳健.基于Skyline和視頻監(jiān)控的三維WebGIS應(yīng)用研究[J].微計(jì)算機(jī)信息,2011,27(5):20-22.
[5]李佼,吳健平.基于Skyline的三維空間數(shù)據(jù)網(wǎng)絡(luò)發(fā)布[J].測繪科學(xué),2010,35(2):183-185.