3D GIS產生背景
人類是生活在三維空間中的,如果再算上時間維,則是生活的四維空間中的。現實生活中的三維現象普遍存在,如飛機在天上飛行,汽車在地面賓士,礦井在地下延伸。地球上的一切物體或活動都可以用一對(x,y,z)來描述它們的空間位置。
2D GIS的本質是將3D現實世界中的地物與地理現象投影到某一二維平面(通常為XY平面)上進行表達,雖然簡化了空間信息理解與表達過程,卻損失了空間信息量(尤其是高程信息和3D拓撲空間信息),是以犧牲空間信息的真實性和完整性為代價的。3D GIS正是針對2D GIS的這一本質缺陷,試圖直接從3D空間的角度去理解和表達現實世界中的地物、地理現象及其空間關係。
3D GIS就是從數據結構到空間查詢再到建模分析,都建立在三維數據模型基礎上的地理信息系統。3D GIS功能的實現以及實用系統的開發,關鍵在於三維數據模型與數據結構、三維空間關係與空間分析以及三維可視化等關鍵問題的解決。3D GIS對客觀世界的表達能給人以更真實的感受,它以立體造型技術給用戶展現地理空間現象,不僅能夠表達空間對象間的平面關係,而且能描述和表達它們之間的垂向關係;另外,對空間對象進行三維空間分析和操作也是3D GIS特有的功能。它具有獨特的管理複雜空間對象能力及空間分析的能力,今天已經深入到社會的各行各業中,如土地管理、電力、電信、水利、消防、交通以及城市規劃等。
三維可視化技術
3D GIS是一個綜合性的研究領域,包括了計算機圖形技術、三維可視化技術、虛擬現實技術、空間數據結構技術以及三維空間互動與分析技術等多項技術。這裡重點介紹一下三維可視化技術的有關內容。
三維可視化的概念
可視化(Visualization)是指一系列的轉換,這種轉換將原始模擬數據轉換成可顯示的圖像,其目的在於將信息轉換成可被人類感知系統理解的某種形式,涉及計算機圖形學、圖像處理、計算機輔助設計、人機互動和計算機視覺等多個領域。簡單一點理解,可視化就是利用計算機圖形技術和方法,對大量的數據進行處理,用圖形、圖像的形式,形象而具體地顯示出來,通過將科學計算過程及計算結果所產生的枯燥的數據轉換成直觀的圖形和圖像信息,來仿真人腦映像的構造過程,幫助人們洞察數據所蘊含的關係和規律,以支持用戶的判斷和理解。通過互動式的圖形、圖像系統,能便捷地獲得關於數據的直觀、形象、深刻和全面的理解。
三維可視化就是以三維立體的形式來表現數據的技術和方法。與傳統的二維空間數據表達相比,三維可視化技術對空間現象的表達有完全不同的數學模型和表達方式。在數學投影方面,三維顯示將所有的三維向量以一個傾斜的角度進行投影和表達,通過一個三維的透視將場景顯示於CRT或其他的計算機平面顯示器上;在可視表現方面,三維可視化通過紋理的使用,大大提高了場景的逼真效果,具有更為自然的效果和更為直觀的感知,也具有更多的吸引力。
三維可視化流程
經過建模處理後的各類地形地物,要想真實地顯示在計算機螢幕上,需要經過一系列必要的變換,包括數據預處理、幾何變換、選擇光照模型和紋理映射等。
(1)數據預處理
數據預處理主要包括:將建模後得到的物體的幾何模型數據轉換成可直接接受的基本圖元形式,如點、線、面等;對影像數據(如紋理圖像)進行預處理,包括圖像格式轉換、圖像質量的改善及影像金字塔的生成等。
(2)參數設定
參數設定指在對三維場景進行渲染前,需要先設定相關的場景參數值,包括光源性質、光源方位、明暗處理方式和紋理映射方式等。此外,還需要設定視點位置和視線方向等參數。
(3)幾何變換
幾何變換是生成三維場景重要基礎和關鍵步驟,包括坐標變換和投影變換。
① 坐標變換
坐標變換是指對需要顯示的對象進行平移、旋轉或縮放等數學變換。在三維圖形的顯示和內部計算中,一般假定所有的頂點都用四維齊次坐標表示,即以(x,y,z,w)的形式,等價於(x/w,y/w,z/w,w/w)。模型中使用的三維坐標(x,y,z)等價於四維齊次坐標(x,y,z,1)。
② 投影變換
投影變換是指選取某種投影變換方式,對物體進行變換,完成從物體坐標到視點坐標的變換,它是生成三維模型的重要基礎。投影變換分為透視投影變換和正射投影變換兩類。投影方式的選擇取決於顯示的內容和用途。透視投影類似於人眼對客觀世界的觀察方式,最明顯的特點是按透視法縮小,物體離相機越遠,成的像就越小,因而廣泛用於三維城市模擬、飛行仿真、步行穿越等模擬人眼效果的研究領域。正射投影的物體或場景的幾何屬性不變,視點位置不影響投影的結果,一般用於製作地形暈渲圖。
(4)紋理映射
在三維可視化過程中,紋理映射是其最為成功的技術之一。紋理映射就是在三維模型的灰度圖上增加紋理使其成為具有紋理屬性的三維模型,它是通過將圖像貼上於幾何表面來增強圖形的真實感。紋理映射是建立逼真場景的重要手段。光照模型可以按照高程值進行過渡著色或分層設色,但通過三維模型的構造和真實紋理映射就能夠獲得十分逼真的三維地形景觀。
影像數據作為紋理特徵來增強圖形的真實感,其對於彌補三維模型幾何數據描述的不足和提高可視化效果具有重要意義,並且可以在很大程式上減輕圖形硬體的負擔,提高圖形渲染速度。由於影像數據占用較大的記憶體空間,一般計算機圖形渲染設備限制了單次裝載影像的大小。而實際情況下,地形與建築物影像的範圍遠遠大於這一規模,這就需要根據紋理解析度的視點相關性來生成多解析度的紋理。在大範圍三維場景內,模型不同部分距離觀察者的遠近有所不同。對於離觀察者較遠的部分,可使用較低解析度的影像;較近的部分則使用較高解析度的影像來進行紋理映射。對於地面的三維地物模型建築物,可以根據建築物的高度和複雜程度確定其表面紋理的解析度。對於較高、複雜和典型的建築物模型使用較高的解析度;反之,使用較低的解析度。
(5)實時消隱
通常我們看到的三維物體,是不能一眼看到其全部表面的。從一個視點去觀察一個三維物體,必然只能看到該物體表面上的部分點、線、面,而其餘部分則被這些可見部分遮擋住。如果觀察的是多個三維物體,則物體之間還可能彼此遮擋而部分不可見。因此,如果想有真實感地顯示三維物體,必須在視點確定後,將對象表面上不可見的點、線、面消去。執行這一功能的算法,稱為消隱算法。
消隱算法將物體的表面分解為一組空間多邊形,研究多邊形之間的遮擋關係。按操作對象的不同,可分為兩大類:對象空間方法和圖像空間方法。對象空間方法是通過分析對象的三維特性之間的關係來確定其是否可見,例如,將三維平面作為分析對象,通過比較各平面的參數來確定它們的可見性;圖像空間是對象投影后所在的二維空間,圖像空間方法是將對象投影后分解為像素,按一定的規律,比較像素之間的Z值,從而確定其是否可見。
3D GIS數據組織
3D GIS中的數據主要包括柵格影像數據(DOM)、矢量要素數據(DLG)、地形數據(DEM)和三維模型數據等,數據量非常巨大,往往達到幾百GB,甚至TB級。面對如此海量數據,採取何種組織方式顯得尤為重要。
矢量數據組織
矢量數據是一種最為廣泛使用的空間數據,在3D GIS中的矢量數據主要用來表達空間要素信息,如道路、河流、註記等。矢量數據有多種存儲表達方式,如基於檔案的shapefile、TAB等,基於空間資料庫存儲的Geodatabase等,基於XML描述的Google KML等。這幾種矢量數據格式都是國際上通用的數據格式,能夠方便地進行數據轉換和共享。
與傳統檔案相比,空間資料庫有明顯的優勢,包括海量數據管理能力、圖形和屬性數據一體化存儲、多用戶並發訪問(包括讀取和寫入)、完善的訪問許可權控制和數據安全機制等。空間資料庫正在逐步取代傳統檔案,成為越來越多的大中型GIS套用系統的空間數據存儲解決方案。國內外許多公司提出了空間資料庫的解決方案,其中ESRI的Geodatabase是最為常用的一種。Geodatabase是一種採用標準關係資料庫技術來表現地理信息的數據模型,支持在標準的資料庫管理系統(DBMS)表中存儲和管理地理信息。
三維模型數據組織
三維模型數據也是3D GIS主要的數據源之一。尤其在城市場景中,由於城市地勢平坦,很難顯示地形的三維效果,主要是通過城市建築模型和設施模型來體現城市三維場景。
地形與影像數據組織
3D GIS中的地形數據主要是指數字高程模型(DEM)數據,有規則格網、不規則三角網(TIN)和等高線3種形式。規則格網DEM基於柵格結構組織,在X方向和Y方向上按等距離方式記錄點的坐標,是利用一系列在X、Y方向上都是等間隔排列的地形點的高程Z表示地形,形成一個矩陣格網DEM。在這種情況下,除了基本信息外,DEM就變成了一組規則存放的高程值。由於矩陣格網DEM存儲量最小(還可以進行壓縮存儲),非常便於使用且容易管理,因而是目前運用最廣泛的一種數據結構形式。但其缺點是不能準確地表示地形的結構,在格網大小一定的情況下,無法表示地形的細部。
為了提高三維系統的顯示效率,可利用基於四叉樹的LOD模型對地形、影像數據作分層分塊預處理,建立一系列“金字塔”結構的數據集。金字塔是一種多解析度層次模型,在地形場景繪製時,在保證顯示精度的前提下為提高顯示速度,不同區域通常需要不同解析度的數字高程模型數據和紋理影像數據。數字高程模型金字塔和影像金字塔則可以直接提供這些數據而無需進行實時重採樣。儘管金字塔模型增加了數據的存儲空間,但能夠提高渲染地形的效率。分塊的瓦片金塔模型還能夠進一步減少數據訪問量,提高系統的輸入輸出執行效率,從而提升系統的整體性能。當地形顯示視窗大小固定時,採用瓦片金字塔模型可以使數據訪問量基本保持不變。瓦片金字塔模型的這一特性對海量地形實時可視化是非常重要的。
現有典型3D GIS產品
利用3D GIS二次開發工具來開發3D GIS軟體,既能實現3D GIS的基本功能,又能提高開發效率,是一種比較理想的3D GIS開發方法。現階段國內外比較成熟的3D GIS軟體有多種,如Terra Vista、Skyline、TerrainView、靈圖的VRMap等。
Terra Vista
Terra Vista是美國Terrain Expert公司的產品,曾在軍事仿真領域廣泛套用。其特點是三維地形模型採用三角網表示、地表紋理可以採用遙感影像或其他模擬影像。由於其採用三角網表示地形,所以其地形模擬表現特別真實,在瀏覽過程中,顯得特別流暢、自然,其模型支持大數據量瀏覽。其缺點在於:在矢量數據表達方面具有較大缺陷,其矢量數據必須在建立三維模型的同時嵌入系統,如果發現矢量數據需要修改,三維模型必須重建。同時,Terra Vista對矢量數據的管理功能相對較差,不能實現實時查詢等功能,也不支持網路瀏覽。
Skyline
Skyline是美國Skyline公司的產品,該產品包括建模工具Terra Builder、網路發布工具Terra Gate、場景編輯模組Terra Explorer Pro和瀏覽器Terra Explorer,另外可以支持第三方開發工具。Skyline的優點在於:對於海量三維地形庫場景的瀏覽速度幾乎與數據量無關,具有與Google Earth類似的可操作性能,同時提供根據地名、場景地物定位等功能。
在Skyline創建的三維地形庫模型中,地理配準的影像數據和數字高程模型數據的數學精度得到很好的保證,因此,在三維場景中進行高程、高差、坡度、地形剖面、距離、面積的測量,可以保證其數學精度。可將矢量數據線上或離線載入到三維地形場景中,同時可以根據屬性數據項設定多種符號透明疊加到三維場景中。
Skyline可以實現兩類業務功能:載入行政區和地名點矢量數據,提供行政區定位、地名點定位功能;載入業務矢量數據(例如土地利用、地質災害等到),在三維場景中了解業務數據分布,同時獲得特定地理現象所處的真實地理環境和地形起伏信息。Skyline還具有基於三維場景的三維分析功能,提供了視域分析、視線分析、基於地形的最優路徑分析、地形剖面分析和動態生成等高線等多種分析功能;具有網路發布功能,用戶通過Terra Gate和Internet可以在遠程瀏覽Skyline的三維模型;支持二次開發,用戶可以定製軟體的功能。
VRMap
VRMap是北京靈圖軟體技術有限公司開發的三維場景顯示與管理系統,具有基本的GIS功能,可以在三維場景管理二維GIS矢量數據,實現空間、屬性查詢,支持大數據量的紋理。該系統分為VRMap標準版、VRMap專業版和VRMap企業版。其中,VRMap標準版包含VRMap三維場景製作工具和VRMap瀏覽工具兩部分,提供三維地理信息系統場景的瀏覽、製作與三維GIS分析功能,支持平台標準外掛程式功能,支持場景瀏覽、編輯和分析,適用於三維GIS場景製作和成果展示。VRMap專業版完全包含標準版所有功能,支持VRMap標準外掛程式功能,集成了具有工業標準的VBA二次開發集成環境,支持外掛程式二次開發功能。