劉 鋰,段芃芃
(成都理工大學 工程技術(shù)學院,四川 樂山 614007)
三維數(shù)字城市由于其虛擬性[1]、直觀性,可實現(xiàn)城市三維地形及三維景觀的模擬及直觀展示[2],已成為地理信息系統(tǒng)領(lǐng)域的研究熱點及數(shù)字城市地理空間框架建設(shè)中一項典型示范應用。三維數(shù)字城市的建立能全方位、直觀地為各界提供有關(guān)城市的各種具有真實感的場景信息[3],提高空間信息共享和利用水平。將WebGIS與3DGIS集成應用,即Web三維GIS[4],將成為地理信息系統(tǒng)技術(shù)發(fā)展的重要方向,同時也是三維GIS發(fā)展的主要關(guān)注點。
在基于Web的三維GIS軟件實現(xiàn)中,Skyline三維平臺一直處于領(lǐng)先地位。Skyline是以ActiveX為基礎(chǔ)層的技術(shù)平臺,在客戶端訪問三維系統(tǒng)時會自動下載ActiveX控件。使用Skyline實現(xiàn)Web的二次開發(fā)相對簡單,主要是依靠VBScript和JavaScript等腳本語言進行,系統(tǒng)平臺提供了相應的地圖控件、方法和事件,可以高效、快捷地實現(xiàn)各種功能。Web三維GIS是當今建設(shè)數(shù)字城市的迫切需要,結(jié)合當前先進的Skyline技術(shù)[5]實現(xiàn)城市級的三維數(shù)字城市,滿足當前數(shù)字城市建設(shè)的需求。
依托Skyline和ArcGIS平臺,文中構(gòu)建了三維數(shù)字城市系統(tǒng)。主要研究了Skyline三維平臺的特性以及結(jié)合Web技術(shù)實現(xiàn)三維場景、GIS功能的方法;使用ArcGIS平臺實現(xiàn)了二維矢量數(shù)據(jù)與Skyline三維場景平臺的結(jié)合[6],研究了通過地圖服務發(fā)布三維數(shù)據(jù)分析服務,實現(xiàn)三維分析功能;研究了通過WFS將二維矢量地圖數(shù)據(jù)發(fā)布到Web服務上,以及發(fā)布三維模型數(shù)據(jù)服務,實現(xiàn)三維場景的快速瀏覽;設(shè)計研究了數(shù)據(jù)通信方式,實現(xiàn)了基于Web的三維場景動畫漫游[7]、三維空間定位、二維數(shù)據(jù)和三維模型聯(lián)動、空間查詢、空間分析等功能。
設(shè)計的系統(tǒng)框架在滿足三維數(shù)字城市功能需求和軟件層次設(shè)計原則[8]的同時,必須遵循先進性、實用性、安全性、開放性、可擴展性等原則。
(1)先進性。
平臺采用了目前較為先進的三維軟件技術(shù)平臺—TerraSuite產(chǎn)品技術(shù),同時結(jié)合了先進的二維空間數(shù)據(jù)處理軟件ArcGIS平臺和關(guān)系數(shù)據(jù)庫平臺SQL Server。實現(xiàn)了二維空間數(shù)據(jù)與三維模型、場景的無縫連接和實時聯(lián)動,建立了功能齊全、數(shù)據(jù)管理完善的三維數(shù)字城市系統(tǒng)平臺。
(2)實用性。
平臺充分考慮各層次用戶的使用需求,設(shè)計的界面快捷、簡單、易于操作。充分合理地利用現(xiàn)有資源,設(shè)計的功能滿足城市信息管理、城市信息空間分析、業(yè)務決策等功能。
(3)安全性。
平臺是基于Web的平臺,是開放式的系統(tǒng),需要考慮數(shù)據(jù)的安全性。要對病毒和黑客進行高標準的防范。首先要采用防火墻技術(shù)進行網(wǎng)絡防衛(wèi);其次充分考慮空間數(shù)據(jù)和各類資源數(shù)據(jù)的安全,采用熱備份技術(shù),減少各類數(shù)據(jù)的丟失和破壞;最后是保證系統(tǒng)在運行過程中的穩(wěn)定性和可靠性。
(4)開放性。
平臺是基于Web的平臺,具有開發(fā)性、通用性,因此,在地物編碼上,要以國家的標準地理要素編碼為基礎(chǔ)進行設(shè)計[9],在數(shù)據(jù)的分層和歸類上要按標準進行,同時建立多種空間數(shù)據(jù)格式的轉(zhuǎn)換接口,便于各類數(shù)據(jù)之間的共享和通信,達到面向分布式服務的效果。
(5)可擴展性[10]。
平臺應充分考慮未來的業(yè)務和數(shù)據(jù)的擴展,因此在設(shè)計的過程中要預留各種功能擴展的接口,以便適應將來業(yè)務要求的變化,在數(shù)據(jù)庫設(shè)計中也要考慮數(shù)據(jù)的擴展,以及數(shù)據(jù)重建的問題。
文中基于關(guān)系數(shù)據(jù)庫技術(shù)、空間數(shù)據(jù)庫技術(shù)、Web技術(shù)、GIS技術(shù)以及三維虛擬場景技術(shù),設(shè)計了三層體系結(jié)構(gòu),包括數(shù)據(jù)層、服務層和應用層。系統(tǒng)總體框架如圖1所示。
圖1 系統(tǒng)總體框架
數(shù)據(jù)層是實現(xiàn)系統(tǒng)的關(guān)鍵,集成和融合了多個類型的數(shù)據(jù),包括地形數(shù)據(jù)庫、模型數(shù)據(jù)庫、二維矢量數(shù)據(jù)庫和系統(tǒng)業(yè)務數(shù)據(jù)庫。通過空間數(shù)據(jù)庫引擎技術(shù)將空間數(shù)據(jù)庫與系統(tǒng)業(yè)務數(shù)據(jù)進行融合,通過空間坐標、空間參考、高程值等空間特性,將模型數(shù)據(jù)和地形數(shù)據(jù)結(jié)合并與二維矢量數(shù)據(jù)進行同步,保證了二、三維數(shù)據(jù)的聯(lián)動。
服務層是業(yè)務處理的中樞機構(gòu),用于處理應用層提交的各種請求,包括基本信息查詢、空間查詢、空間分析和異步的服務操作等。服務層主要包括了網(wǎng)站基本信息服務、地圖服務、數(shù)據(jù)服務和Web Service服務[11]。網(wǎng)站基本信息服務使用IIS服務器發(fā)布網(wǎng)站服務并處理網(wǎng)站基本信息查詢。地圖服務包括了二維矢量地圖服務和模型庫,采用ArcGIS Server平臺發(fā)布地圖服務,用于處理空間請求和空間分析。數(shù)據(jù)服務用于各類數(shù)據(jù)的請求處理,通過處理后的操作,將各類數(shù)據(jù)進行返回。Web Service服務主要是GIS的服務擴展,處理平臺中的地址編碼查詢、鄰近設(shè)施分析、最短路徑分析、緩沖分析及其地圖數(shù)據(jù)的分布式服務等功能。
應用層也是展現(xiàn)層,用來體現(xiàn)進行三維場景的漫游,三維地圖操作,二、三維聯(lián)動、空間查詢等功能。將處理的結(jié)果展現(xiàn)給客戶端。
針對不同的數(shù)據(jù)類型,以HTTP協(xié)議分別提供網(wǎng)絡數(shù)據(jù)服務,系統(tǒng)的空間地圖數(shù)據(jù)的服務發(fā)布分為四個部分,即DEM影像數(shù)據(jù)服務發(fā)布、三維數(shù)據(jù)服務發(fā)布、二維矢量地圖服務發(fā)布和非空間數(shù)據(jù)服務發(fā)布。
文中通過配置及TerraGate服務器發(fā)布大數(shù)據(jù)量的三維地形數(shù)據(jù),客戶端用戶可以通過Web瀏覽器流暢地訪問三維地形數(shù)據(jù),也可以進行三維地形的場景漫游;以WFS服務的形式將二維的矢量地圖數(shù)據(jù)通過ArcGIS Server地圖服務器進行發(fā)布,提供空間二維矢量數(shù)據(jù)服務,為二維、三維空間數(shù)據(jù)的聯(lián)動提供了基礎(chǔ);網(wǎng)站服務、三維模型文件數(shù)據(jù)和空間屬性數(shù)據(jù)的發(fā)布依靠配置IIS(internet information server)服務器和關(guān)系數(shù)據(jù)庫SQL Server服務器,通過Http形式的訪問,可以進行網(wǎng)站信息查詢、三維建筑模型數(shù)據(jù)查詢以及城市建筑、道路、綠化等三維場景的漫游。具體的發(fā)布過程如圖2所示。
DEM影像數(shù)據(jù)的發(fā)布采用TerraGate平臺實現(xiàn),它是屬于Skyline Terra Suite系列產(chǎn)品,是一種以數(shù)據(jù)流方式進行實時傳輸?shù)募夹g(shù)平臺,客戶端能快速瀏覽數(shù)據(jù),就像在本機讀取文件一樣。利用TerraGate強大的流數(shù)據(jù)的網(wǎng)絡服務技術(shù),對DEM影像數(shù)據(jù)進行發(fā)布,在客戶端能流暢地對DEM影像數(shù)據(jù)進行訪問和數(shù)據(jù)通信。
TerraGate平臺的服務器技術(shù)是基于可變帶寬的流技術(shù),相比一般的數(shù)據(jù)流、視頻流有明顯的優(yōu)勢??蛻舳说挠脩粼谕ㄟ^Web瀏覽器訪問影像數(shù)據(jù)和地形數(shù)據(jù)的時候,不會受到帶寬或者通信間歇性中斷的影響。在傳輸影像數(shù)據(jù)時,不用等待所有的數(shù)據(jù)全部傳輸?shù)娇蛻舳耍涂梢蚤_始進行顯示,從而能保證數(shù)以千計的客戶端同時訪問。該技術(shù)非常適合三維數(shù)據(jù)顯示、三維場景瀏覽。
TerraGate也能夠通過TerraBuilder的DirectConnect連接讀取遙感影像和地形數(shù)據(jù)。
TerraBuilder:采用DirectConnect平臺可以節(jié)約三維地形數(shù)據(jù)的創(chuàng)建時間,通過TerraGate服務平臺,在Web中把類似DEM、三維地形數(shù)據(jù)等這些原始格式的數(shù)據(jù)直接傳到客戶端TerraExplorer或TerraExplorer Pro平臺。選用DirectConnect平臺能迅速發(fā)布大規(guī)模的DEM高程數(shù)據(jù)和影像數(shù)據(jù),并能保證數(shù)據(jù)的實時更新??梢宰尶蛻舳藢崟r地接收最新的數(shù)據(jù)信息。通過TerraGate服務器發(fā)布地形影像數(shù)據(jù)的流程如圖3所示。
三維模型是采用3DMAX、Sketch Up等軟件進行幾何結(jié)構(gòu)的建模,使用Photoshop軟件處理紋理貼圖,三維數(shù)據(jù)由三維模型和紋理貼圖組成,三維數(shù)據(jù)的發(fā)布包括以下步驟:
(1)制作三維模型。
為了確保在客戶端快速地加載三維數(shù)據(jù)和瀏覽三維場景,在三維模型的制作過程中,要考慮到數(shù)據(jù)的大小,因此要減少模型面和控制貼圖圖片的大小。
(2)制作二維矢量數(shù)據(jù)。
制作完三維數(shù)據(jù)后,將三維數(shù)據(jù)導出成.X格式的文件,記錄各個三維模型的屬性名稱和空間坐標信息,同時提取各個模型的中心坐標值,制作模型的二維矢量數(shù)據(jù)。
(3)加載三維模型。
根據(jù)上述制作的模型二維矢量數(shù)據(jù),通過矢量數(shù)據(jù)批量導入三維模型,用TerraExplorer Pro將其封裝成Fly,獲得金字塔優(yōu)化貼圖模式的.XPI格式的三維模型文件,海量的三維模型文件都放在了同一個文件夾內(nèi),可以提高數(shù)據(jù)加載的速度。
(4)發(fā)布三維模型。
三維模型數(shù)據(jù)采用WFS形式以Web服務的方式進行發(fā)布。三維模型數(shù)據(jù)的發(fā)布主要依靠模型流技術(shù)將三維模型矢量化,矢量成二維的點數(shù)據(jù)形式,再采用TerraExplorer Pro將這些模型以流的形式進行加載,從而實現(xiàn)三維模型的動態(tài)瀏覽和快速加載。從理論上來說,該技術(shù)支持無限量的數(shù)據(jù),可以解決海量模型數(shù)據(jù)問題。
基本的點、線、面特征的二維矢量數(shù)據(jù),可以通過建立圖層文件直接加載到Skyline中。對數(shù)據(jù)量較大的二維矢量數(shù)據(jù),需要采用Web服務的方式發(fā)布矢量文件,可以有兩種方式:WFS和SFS。WFS(web feature service)[12]是由OGC(open GIS consortium)[13]提供的基于HTTP協(xié)議的空間地理數(shù)據(jù)操作接口規(guī)范,是一種能從地理數(shù)據(jù)集中提取地理特征(點、線、面)的服務;SFS是特征流數(shù)據(jù)服務器,是Skyline服務平臺的一個組件,可以通過ArcSDE從關(guān)系數(shù)據(jù)庫或矢量文件中快速、高效地讀取相關(guān)數(shù)據(jù)信息,并通過流的方式進行通信。SFS是Skyline平臺自己構(gòu)建WFS的一種方式。
業(yè)務數(shù)據(jù)也是非空間數(shù)據(jù),主要是體現(xiàn)非空間數(shù)據(jù)的基礎(chǔ)信息數(shù)據(jù)的服務,采用IIS服務器和SQL數(shù)據(jù)庫服務器進行發(fā)布。
利用ArcGIS Server發(fā)布WFS服務,Skyline以WFS方式發(fā)布矢量數(shù)據(jù)并在三維場景中以流模式進行調(diào)用,大大縮短了調(diào)用時間,解決了海量矢量數(shù)據(jù)傳輸速度慢的問題。
文中采用Skyline和ArcGIS平臺,VisualStudio2012和Web Service技術(shù),基于DEM數(shù)據(jù)和正射影像數(shù)據(jù)等基礎(chǔ)數(shù)據(jù)進行二維空間矢量化,融合三維模型數(shù)據(jù)以及對應的空間數(shù)據(jù),構(gòu)建基于Web的三維系統(tǒng)虛擬平臺、ArcGIS結(jié)合SQL Server的后臺城市信息管理GIS平臺,實現(xiàn)了三維數(shù)字城市系統(tǒng),為城市管理提供先進的、可視化的服務平臺。實現(xiàn)了以下功能:
(1)系統(tǒng)實現(xiàn)了三維場景的放大、縮小、平移、漫游等基礎(chǔ)的三維操作功能,可以方便地以步行、駕駛和飛行等方式進行動畫瀏覽;
(2)系統(tǒng)實現(xiàn)了空間位置定位、點選擇、面選擇、線選擇、多邊形選擇、各類視圖瀏覽等三維數(shù)據(jù)選擇操作的功能;
(3)系統(tǒng)實現(xiàn)二維矢量數(shù)據(jù)和三維模型數(shù)據(jù)的實時聯(lián)動,通過坐標和模型的一一對應保證了兩項數(shù)據(jù)的同步,支持各種縮放、旋轉(zhuǎn)和移動操作;
(4)系統(tǒng)實現(xiàn)了三維數(shù)據(jù)查詢和定位功能,實現(xiàn)了三維分析功能,如日照分析、可視分析、坡度分析、三維路徑分析、鄰近設(shè)施分析等。
通過采集時間和日期對日照陰影動態(tài)變化的數(shù)據(jù)進行模擬分析,實現(xiàn)日照分析,日照分析可以提供城市用地規(guī)劃管理、土地管理決策的依據(jù),如圖4所示。
水淹分析是重要的三維分析功能,需要對分析的區(qū)域創(chuàng)建分析面、分析高程、進行插值處理,通過設(shè)置水淹的高度,可以直觀地觀察出不同地形、不同建筑的水淹影響,如圖5所示。
圖5 水淹分析
通視分析也是三維分析中的重要功能,用于判斷建筑物之間的連通性和可見性,如圖6所示。
圖6 通視分析
文中提出了利用ArcGIS平臺和Skyline平臺實現(xiàn)了基于Web的三維數(shù)字城市的技術(shù),通過對Skyline平臺的地形數(shù)據(jù)發(fā)布技術(shù)、三維模型數(shù)據(jù)發(fā)布技術(shù)、模型海量數(shù)據(jù)處理技術(shù)和高效傳輸技術(shù)的研究,以及二維空間數(shù)據(jù)和三維空間模型的實時聯(lián)動,實現(xiàn)了三維數(shù)字城市平臺,實現(xiàn)了三維場景漫游、三維分析、三維定位查詢等功能。以國內(nèi)某城市的為例,驗證了該設(shè)計方案和技術(shù)的可行性,對三維數(shù)字城市的實現(xiàn)提供一定的技術(shù)參考。