3D-GIS地理信息系統研發解決方案

(一)主要研究開發內容
空間數據的獲取是GIS建設與運行的基礎,數據源及數據獲取方式的不同,對數據模型的生成產生很大的影響,如何根據不同的需要,採取合適的方法來獲取數據,以及如果保證數據的精確度,最終使可視化程度更接近現實,提高系統的空間查詢分析能力。
由於客觀世界的多樣性和複雜性,可視化要涉及多方面的數據集成,要採用較複雜的數據模型。爲了有效的管理和分析三維GIS中的各種數據,要求三維GIS的數據模型有着很強的數據表達能力。三維GIS數據模型不但要滿足三維空間分析的需要,也要滿足三維圖形空間生成和管理的需要。如何選擇一種快速而且有效的建模方法來滿足不同應用的需求。
如何使人們能夠在一個虛擬的三維環境中,用動態交互的方式對場景進行全方位的審視,比如可以從任意角度、距離和精細程度觀察場景,可以選擇並切換多種運動模式,如行走、駕駛、飛翔等,還可以自己控制瀏覽的路線等等。
(二)技術關鍵
1、空間數據採集方法
空間數據採集是GIS建設和運行的基礎,廣義GIS空間數據不僅包括地理、測繪數據,還包括地質環境與工程設計數據。人類在認識自然和改造自然的過程中,發現和發明了一系列空間定位方法與定位工具,使得人類能夠認識地球表面、內部及其外部空間。隨着現代測繪技術、地質勘探和地球物理技術的發展,三維空間數據採集技術不斷髮展和豐富,極大地提高了人類認識自然的能力。
1.1 空間數據採集方法
空間數據的獲取既可以直接在野外通過全站儀或者GPS、激光測距儀等進行測量,也可以間接地從航空影像或者遙感圖像以及既有地圖上得到。其中地圖數字化和攝影測量是大規模空間數據採集最有效的兩種方式,應用也最爲普遍。
1.1.1 地圖數字化技術
從現代意義上講,以往的大比例尺、航測各種比例尺成圖等,都是模擬的紙質圖、膠片或影像。要進入GIS實現計算機管理,必須是數字化的電子地圖。將現有圖像負載的大量信息輸入數據庫的過程稱爲數字化。廣義的數字化泛指將信息轉化爲計算機能接收的形式的過程,而狹義的數字化則指將地圖/影像轉變爲符合要求的矢量數據結構的過程。目前,地圖/影像數字化包括手扶跟蹤數字化和掃描數字化兩種方式。前者是藉助計算機和平板狀數字化儀,從已有紙質地圖上進行重採樣,並形成數字化的座標點列數據的過程;後者藉助計算機和平板式或滾筒式掃描儀,從已有紙質地圖上進行重採樣,並形成座標點列數據的過程。
(1)手扶跟蹤數字化
手扶跟蹤數字化設備包括固定地圖用的數字化板和採樣用的遊標,手扶數字化過程包括以下三步:圖件的預處理:在進行圖件的數字化之前,應根據圖幅內容及圖件各要素進行編號。編號時要按照編號系統的統一要求進行,通常以小比例尺分幅或經緯度位置分區域統一編號,以便於圖幅的拼接和處理;也可以按行政區域的管理範圍分區域編號。在區域編號時,對圖斑、結點、鏈段、獨立點均要事先分別編號,而主要鏈段上的特徵點和特徵線可在數字化時按順序遞增編號。編號結束後,應做必要的記錄,以便查詢。記錄內容包括:圖幅編號、圖幅座標及編號內容等。圖幅編號之後,即可在數字化儀上進行圖件定位。
圖件的數字化:通常,數字化儀採用點模式、線模式和數據流模式採集數據。在點模式下,地圖上的各個孤立點通過將遊標定位於採集點的位置上並按下按鈕進行記錄;線模式下,直線段是通過數字化線段的兩個端點來記錄的,曲線則通過對組成它的一系列直線的數字化來記錄;在數據流模式下,曲線是以時間或距離的規定間隔來自動採集曲線上點的座標值。點模式和線模式的優點是儘可能減少特徵點丟失,重採樣精度高,缺點是採樣效率低,一般適合地籍圖、規劃圖的數字化。數據流模式的優點是重採樣效率比較高,缺點是容易丟失特徵點,一般適合地形圖、等高線圖的數字化。
圖屬關係連接:圖件數字化僅僅獲得了點、線、面要素的幾何座標數據,還必須輸入點、線、面要素的屬性信息,並生成點、線、面要素之間的拓撲關係,拓撲關係可以通過全多邊形模式、手工模式或自動模式建立。
(2)掃描數字化
掃描數字化是使用掃描儀將整幅地圖掃描成像之後,再進行矢量轉換或屏幕跟蹤的方法。這種方式通常要求對原始材料進行預處理。例如將地圖中的各種色彩不同的地理特徵先分色,複製在透明薄膜上,然後再進行掃描。目前已有自動的分色掃描儀,也有研究自動分層建庫的文獻。經過光學掃描儀的柵格掃描方法得到地圖柵格數據結構,是以像素方式存儲的,在使用之前,需要將它轉換成矢量數據結構。矢量數據結構在數據冗餘、地圖縮放、漫遊、存儲空間、編輯、修改以及地圖分析等方面具有柵格數據所不能比擬的優越性,所以根據系統設計時選擇的地圖數據存儲格式還要進行必要的矢量化處理。柵格數據轉換矢量數據的方法主要分爲三類,即點狀柵格的矢量化,線狀柵格的矢量化和麪狀柵格的矢量化。
點狀柵格的矢量化:將柵格點的中心轉換爲矢量座標的過程。對於任意一個柵格點,將其行列號I、J轉換爲其中心點的X、Y的公式如下:
X=X+(J,0,5)×Dx0(2.1)
Y=Y+(I,0,5)×D0(2.2)
其中0X、0Y爲柵格原點座標,xD、yD爲一個柵格的寬和高。線狀柵格的矢量化:提取弧段柵格序列點中心的矢量座標的過程,主要有細化矢量化和非細化矢量化。細化矢量化首先將具有一定粗細的線狀柵格進行細化,提取其中軸線;然後,再沿中軸線柵格數據進行跟蹤矢量化。非細化矢量化的算法不需要對線條進行細化,而是從線條上任一點起,先後對線條兩端進行跟蹤矢量化,其跟蹤判斷的依據是起始點處線條的寬度。相比較而言,後一種算法優於前者,細化矢量化不僅速度慢,其矢量化後的線條會因爲細化而造成線條兩頭縮短,而且會因爲線條粗細不均使矢量化的線條有毛刺現象。
面狀柵格的矢量化:提取具有相同屬性編碼的柵格集合的矢量邊界及邊界與邊界之間的拓撲關係的過程。早期的地理信息系統數據數字化是以手扶跟蹤數字化爲主,但這種方式有幾何精度較低、速度慢、勞動強度大等缺點,目前這種方式已不常用。數字化的方式己大部分轉向掃描數字化方法,該方法地圖的掃描速度快、在保證圖紙質量的前提下,掃描精度也比較高。
1.1.2攝影測量技術
傳統的攝影測量技術是利用光學攝影機攝影的像片,來研究和確定被攝物體的形狀、大小、位置、性質和相關關係的,並將所測得的成果以圖解形式或數字形式進行輸出。攝影測量的主要特點是:在像片上進行量測,無須或很少接觸被攝體,因而受自然和地理等外界條件的約束少;像片是對客觀現象的一次真實記載,包含有豐富的信息,人們可以選擇所需要測和處理的對象,從像片上所包含的幾何信息中進行判讀和計算。可以說,只要物體能夠被攝影成像,都可以使用攝影測量技術。
根據獲取攝影信息的手段和方式,攝影測量可分爲航天攝影測量、航空攝影測量、地面攝影測量和近景攝影測量等。按照攝影測量的目的,可簡單分爲地形攝影測量和非地形攝影測量。其中地形攝影測量的任務是測制各種比例尺的地形圖,非地形攝影測量主要是研究測繪地形目標的形狀、大小。攝影測量的應用範圍很廣,如地形測繪、土地資源調查、環境監測、建築施工、變形研究、文物考古、醫學生物工程和軍事偵察等,利用航空攝影測量進行地形繪製是攝影測量的主要任務。
廣義的數字攝影測量是指從攝影測量和遙感所獲得的數據中,採集數字化圖形或數字化影像,在計算機中進行各種數值、圖形和影像處理,研究目標的幾何和物理特性,從而獲得各種形式的數字產品和可視化產品。廣義的數字攝影測量包含了硬拷貝的機助製圖和軟拷貝的數字測圖,有時也通稱爲全數字化攝影測量。數字攝影測量系統或數字攝影測量工作站由計算機硬件、數字攝影測量軟件、輸入/輸出硬件構成;數字產品包括數字地圖、數字高程模型、數字正射影像、測量數據庫、GIS和土地信息系統等;可視化產品包括地形圖、專題圖、縱橫剖面圖、透視圖、正射影像圖、電子地圖和動畫地圖等。
1.2地形與地物空間數據的採集
1.2.1地形數據的採集
對於地形主要是指數字高程模型DEM的獲取,主要通過以下途徑獲取。地形圖是地貌形態的傳統描述方法,主要通過等高線來表達地面高度和地形起伏,它是DEM的主要數據來源之一。但是傳統地形圖的更新週期一般比較長,往往不能及時反映地形地貌的變化情況;地形圖多爲紙質地圖,存放環境等因素會使其產生不同程度的變形,在具體應用時需要進行糾正,地形圖需要數字化才能轉化爲DEM。
手工方法可直接獲取規則格網DEM,不需要進行內插處理,DEM精度取決於目視內插精度,同時不需要購置儀器設備且操作簡便,但銷路低,工作強度大;手扶跟蹤數字化所獲取的向量形式的數據在計算機中比較容易處理,但速度慢,人工強度大,所採集的數據精度也難以保證,特別是遇到線化稠密地區,幾乎無法作業;掃描數字化效率較高,人工干預少,是目前大範圍地形數據採集的主流方法,但要考慮掃描儀分辨率、連貫性、穩定性、色或灰度以及軟硬件處理能力等因素的影響以及較高技術含量的成本。
地面測量是傳統的測繪數據獲取手段,用全球定位系統、全站儀、電子平板或經緯儀、測距儀等配合袖珍計算機,在已知點位的測站上,觀測到目標點的方向、距離和高差三個要素,進而計算出目標點的三維座標,並輸入計算機作爲建立DEM的原始數據。地面測量方式可獲取較高精度的高程數據,常用於小範圍內的大比例尺地形測圖和地形建模,但是測量工作量大,週期長,費用高,一般不適合大規模的數據採集。
航空攝影測量獲取的影像是高精度大範圍DEM生產最有價值的數據源,利用該數據源可以快速獲取或更新大面積的地形數據。近年來出現的高分辨率遙感圖像,如1m分辨率的IKONOS衛星圖像和0.61m的快鳥衛星圖像、合成孔徑雷達干涉測量技術、機載激光掃描儀等新型傳感器數據被認爲是快速獲取高精度高分辨率DEM最有希望的數據源。影像數據獲取即是基於航空或航天遙感影像的立體像對,用攝影測量的方法建立空間地形立體模型,量取密集數字高程數據來建立DEM。採集數據的攝影測量儀包括模擬、解析和數字攝影測量與遙感儀器。依據攝影測量內業時對地形點選取方式的不同,可以採用不同的高程數據採集方法,如規則採集方案(按等間距斷面或規則分佈格網布置採樣點)、漸進採樣方案(採樣和分析同時進行,數據分析支配採樣過程)、隨機採樣方案(有選擇的進行高程數據的採集)和等高線採樣方案(在立體像對上,按等高線進行數據採集)。
對於現有的DEM數據,在應用時要考慮自身的研究目的以及DEM分辨率、存儲格式、誤差和可信度等因素。各種數據採集方法都有各自得優點和缺點,選擇DEM採集方法要從應用目的、精度要求、設備條件、經費等方面考慮,選擇合適的採集方法。
綜上所述,其中攝影測量和地圖數字化是大規模空間數據採集最有效的兩種方式,應用也最爲普遍,也是本文所採用的方法。世界上幾乎所有國家都擁有紙張地圖,這些地圖是空間數據的一個重要數據源。對許多發展中國家來說,這些數據源可能由於地形覆蓋範圍不夠或因地圖高程數據質量低下和等高線信息的不足而比較欠缺。但對大多數發達國家和某些發展中國家比如中國來說,其國土的大部分地區都有着包含等高線的高質量地圖,這些地圖無疑爲地形與地物的建模提供了豐富廉價的數據源。從目前國內GIS發展的情況看,基於二維矢量環境的研究與應用具有一定的基礎,並且在應用的過程中積累了大量重要的二維空間數據和屬性數據。因此,從二維矢量數據出發構建三維GIS,便於充分利用已有的數據資源。另一方面,二維矢量地圖中的高程信息來自於實際的測量數據,由此插值得到的DEM具有較高的準確性,可以利用其進行比較可靠的地形分析計算。
二維矢量地圖中與地形有關的兩類重要信息是高程控制點和等高線,通常分別作爲一個獨立的圖層存儲。爲了提高自動處理的準確性和有效性,首先需要對高程信息進行預處理,提高地圖的質量,然後以程序處理和人工交互相結合的方式提取高程信息,再應用適當的插值算法,由有限的高程信息(控制點和等高線)得到全圖範圍內所有網格點的高程,即獲得DEM,最後可以藉助於OpenGL實現地形的三維顯示。
1.2.2地物數據的採集
地物種類繁多,有着不同的分類方法,根據它們與地形的關係,可將地物模型劃
分爲兩大類。依賴於地形的地物和獨立於地形的地物。依賴於地形的地物表達方法:可以將這類地物看作地形的一部分,它們從地形中分化出來,成爲概念上獨立的對象,具有自己的屬性和行爲:它們在表示上仍然依賴於母體。這樣將地物從基本地形中分化出來,成爲對象並實施控制,進行訪問並施加各種操作。獨立於地形的地物表達方法:這部分地物與地形之間的關係僅僅是一種相對位置的關係,它們是獨立的模型,在數據結構上完全獨立。由於表現方式上的特點,獨立於地形模型的地物被分成兩大部分,一種是平面地物,與地表沒有相對高度,以空間曲面的方式表達,如道路、河流、低矮的植被;另一種是模型地物,具有相對高度和體積,根據位置座標鑲嵌在地形表面上,如各類建築、樹木、橋樑等。對於樹木這樣的平面地物,在計算機三維模型空間裏是以一張平面,然後貼上位圖來表現的。這種表現方式適合於一部分地物,效果不錯,可以節省計算機資源。對於建築物這樣的模型地物,在三維場景中通常數量衆多,在計算機三維模型空間裏是以一個獨立的模型表示,各類地物複雜程度有很大差別。
地物的空間數據獲取與建模通常有兩類方法,一類是基於影像數據,應用攝影測量等技術實現,另一類則是基於二維矢量圖,根據地物的位置座標信息、和高度屬性構造三維地物模型。在比例尺比較小的虛擬場景中,地物可以用預先定義好的符號表示,也可以採用紋理貼圖的方法:在局部地區大比例尺的虛擬地形環境中,地物則需要按一定的比例,以真實的模型出現。對於地物數據,我們主要從二維矢量圖中通過點、線、面的採集獲取物體的位置信息和平面幾何形狀,對於地物的高度和寬度則要通過屬性數據庫錄入,從這兩方面最重獲區地物建模所需要的空間信息。
對於點、線地物的採集容易處理;對於河流、湖泊等面域圖元可以採用選取邊界線的方法,並使得表達邊界線的點序列首尾點相同,以區別於線類型圖元;對於以道路爲代表的一類地物,建議採用中心線表達的方法,再輔以寬度等信息,這樣結構簡單而且表達準確。每一類地物採集結果以文件的方式保存,包括一段描述信息和一個平面座標序列,描述信息表達了該地物所屬的類別、形狀特點等。其中有些信息可以在圖形中計算得到,而有些則需要外部人工錄入或者利用地物對象的ID標誌從屬性數據庫獲取所需要的信息。
1.3空間數據的誤差處理
在空間數據的獲取過程中,從原始地圖整理到空間數據入庫要經過地形圖編繪、預處理、細化處理、矢量化、圖形編輯以及圖形輸入、輸出等多個階段,每個階段都會產生一些誤差,而且若不採取有效手段糾正的話,各個階段的誤差還會積累和傳播,從而影響以後的地圖分析和數據處理,所以在獲取空間數據時要考慮誤差的來源以及採取有效措施減少誤差。
(1)誤差來源
在空間數據的處理過程中,誤差主要產生於以下幾種情況:數字化過程採點的位置精度、空間分辨率、屬性賦值等都可能出現誤差;遙感是通過傳感器收集、量測地物發射或反射的電磁波信息,然後進行光學或計算機處理,最終獲得可以進行目視解譯的遙感圖像。遙感數據獲取與處理的每一個過程都會引入誤差,一般分爲獲取遙感圖像的誤差和圖像處理和解譯的誤差;通過地圖數字化獲取數據的誤差主要包括原圖固有誤差和數字化過程中引入的誤差兩部分。前者與地圖的製作、存放等有關,後者與數字化方法有關;數據在可視化表達過程中爲適應視覺效果,需對數據的空間特徵位置、註記等進行調整,由此產生數據表達上的差;數據處理過程中誤差的傳遞和擴散在數據處理的各個過程中,誤差是累積和擴散的,前一過程的累積誤差可能成爲下一階段的誤差起源,從而導致新的誤差的產生。
(2)誤差控制
空間數據誤差控制是個複雜的過程,對於矢量化過程中產生的誤差控制主要包括數據預處理、數字化設備的選用、對點精度和數據精度檢查等內容。對於質量不高的數據源,如散亂的文檔和圖面不清晰的地圖,通過預處理工作不但可減少數字化誤差,還可提高數字化工作的效率。對於掃描數字化的原始圖形或圖像,還可採用分幅掃描的方法,來減少矢量化誤差。數字化設備的選用主要根據手扶數字化儀、掃描儀等設備的分辨率和精度等有關參數進行挑選,這些參數應不低於設計的數據精度要求。一般要求數字化儀的分辨率達到0.025mm,精度達到0.2mm;掃描儀的分辨率則不低0.083mm。數字化對點精度(準確性)是數字化時數據採集點與原始點重合的程度。一般要求數字化對點誤差應小於0.1mm。數據的精度檢查主要檢查輸出圖與原始圖之間的點位誤差。一般要求,對直線地物和獨立地物,這一誤差應小於0.2mm;對曲線地物和水系,這一誤差應小於0.3mm;對邊界模糊的要素應小於0.5mm。
2、三維空間數據建模
三維空間數據庫是地理信息三維可視化系統的核心,它直接關係到數據的輸入、存儲、處理、分析和輸出等地理信息系統的各個環節,它的好壞直接影響着整個地理信息系統的性能。而三維空間數據模型是人們對客觀世界的理解和抽象,是建立三維空間數據庫的理論基礎。三維空間數據結構是三維空間數據模型的具體實現,是客觀對象在計算機中的底層表達,是對客觀對象進行可視表現的基礎。
三維GIS中,空間對象用水平的(x,y)和垂直的z座標進行描述,並允許在同一平面座標上存在多個具有不同z值得空間對象。從二維GIS到三維GIS,雖然空間爲數僅僅增加了一維,但其信息量、模型的複雜度卻增加了許多倍。
人們通常將以平面製圖和平面分析爲主要功能的GIS稱爲二維GIS,它僅將平面座標(x,y)作爲獨立參數來進行平面對象的幾何建模,其數學表達式爲F=f(x,y),將增加了高程信息,可以構建數字高程模型(DEM)或數字地面模型(DTM)的GIS稱爲2.5維GIS。它將高程僅作爲一個屬性值,數學表達式爲F=f(x,y,z(x,y));在DTM之上疊加地面建築設施的三維造型的GIS稱爲2.75維GIS,但是實質上DTM與建築物是分離的。所謂真三維GIS,是將三維空間座標(x,y,z)作爲獨立參數來進行空間實體對象的幾何建模,其數學表達式爲F=f(x,y,z),因爲所建立的模型不僅可以實現真三維可視化,還可以進行三維空間分析。
綜上所述,2.5維GIS、2.75維GIS與真三維GIS有着本質的區別:前者只描述空間實體的外部輪廓,不表達其內部目標拓撲關係及屬性;而後者則以體元的方式在描述三維空間實體外部輪廓的同時,還表達其內部屬性。
2.1 GIS空間數據結構
2.1.1 空間數據結構的分類
(1)柵格數據結構
柵格結構是最簡單最直觀的空間數據結構,又稱爲網格結構或像元結構,是指將地球表面劃分爲大小均勻緊密相鄰的網格陣列,每個網格作爲一個像元或像素,由行、列號定義,幷包含一個代碼,表示該像素的屬性類型或量值,或僅僅包含指向其屬性記錄的指針。因此柵格結構是以規則的陣列來表示地物或現象分佈的數據組織,組織中的每個數據表示地物或現象的非幾何屬性特徵。柵格數據格網主要有三角形格網和正方形格網。柵格數據結構的缺點在於一個柵格只能賦予一個特定的值,因而難以表示不同要素佔據不同位置的情況。
(2)矢量數據結構
矢量結構是通過記錄座標的方式儘可能精確地表示點、線、多邊形等地理實體。矢量結構的特點是:定位明顯,屬性隱含。許多數據如行政邊界、交通幹線、土地利用類型、土壤類型等都是用矢量數字化的方法輸入計算機或以矢量的方式存在計算機中,表現爲點、線、多邊形數據。
其中點用一空間座標對錶示,線由一串座標對組成,面是由線形成的閉合多邊形。矢量數據結構是面向實體的表示方法,形式直觀,分析方便,信息冗餘量小,但是結構較爲複雜。
(3)柵格矢量一體化數據模型
柵格矢量一體化數據模型是結合柵格和矢量數據模型的優點提出的一種數據模型。在柵格矢量一體化模型中,面狀數據用矢量邊界表示,也可以用柵格方式表示。線狀數據一般用矢量方式表示,如果將矢量方式表示的線狀對象也用像元空間填充表達,則能夠將矢量與柵格的概念統一起來,形成柵格矢量一體化的數據模型,其從本質上是以柵格爲基礎的數據模型。
2.1.2 空間數據結構的比較
爲了將柵格數據分析得結果,通過矢量繪圖裝置輸出,或者爲了數據壓縮的需要,將大量的面狀柵格數據轉換爲少量數據表示的多邊形邊界,通常將柵格轉化爲矢量數據。由於矢量數據直接用於多種數據的複合分析等處理比較複雜,特別是不同數據要在位置上一一配準,尋找交點並進行分析,而柵格數據模式進行處理則容易的多,此時我們通常將柵格轉化爲矢量數據。
2.2 GIS三維空間數據模型
2.2.1 空間數據模型分類
三維數據結構同二維一樣也存在柵格和矢量兩種形式。柵格結構使用空間索引系統,將地理實體的三維空間分成細小單元(體元)。三維矢量數據結構表示方法有很多,將實體抽象爲點、線、面、體,由面構成體。其中運用最爲普遍的是具有拓撲關係得三維邊界表示法和八叉樹表示法。根據三維空間模型對地學空間目標的集合特性的描述是以表面描述方式還是以空間剖分方式,可以分爲體元模型和麪元模型。
(1)體元模型
常用的體模型是將三維空間對象視爲體單元的集合。體單元是簡單的三維基本單元,如立方體、球、圓柱體等。將三維空間對象視爲這些基本對象經過一些基本操作(如交、並、差等)後的組合體。體模型數據結構包括三維柵格結構、八叉樹結構、結構實體幾何模型和四面體格網模型。對於建築物,本文不關注其中的拓撲結構,僅對其整體和外部形狀感興趣,綜合考慮到建築物的形狀特點、3D建模的精度要求,如果用Octree建模則難以保證精度,用TEN建模則會增加許多無意義的數據,因此CSG是進行建築物建模的一個較好選擇,本文重點講述結構實體幾何模型(CSG)。結構實體幾何模型(CSG)類似於機械製造方法,最早由Voelcker和Requicha提出,是將簡單的幾何形體(如球、圓柱、圓錐等體素)通過正則運算(交、並、差)來構造複雜的3D目標。一個複雜目標可以描述爲一棵CSG樹,這棵樹的終端結點爲基本體素(如立方體、圓柱、圓錐),而中間結點(枝節點)爲正則集合運算的結點。
CSG樹以根節點作爲查詢和操作的基本單元,它對應一個三維空間目標。一個複雜的空間形體,可以由一些比較簡單,規則的空間形體經過布爾運算而得到。
CSG模型的優點是:方法簡單,適合對複雜目標採用分治算法;具有唯一性和明確性;沒有冗餘信息,必要時可以在目標和體素上附加有關屬性。其缺點是:一個3D空間目標的CSG是不唯一的,且不描述點、邊、環、面的拓撲關係。
(2)面元模型
面模型數據結構主要包括規則格網模型Grid、不規則三角網TIN和邊界表示模型B-Rep。
規則格網模型Grid用一組大小相同的網格描述地形表面。它能充分表現高程的細節變化,拓撲關係簡單,算法容易實現,空間操作及存儲方便。但佔用的存儲空間較大,不規則的地面特徵與規則的數據表示之間可能不協調,在地形平坦的地方存在大量的數據冗餘。
不規則三角網(TIN)是由分散的地形點按照一定的規則構成的一系列不相交的三角形,三角面的形狀和大小取決於不規則分佈的觀測點的密度和位置。TIN實現三維地形的顯示過程就是確定哪三個點構成一個最佳三角形,並使每個離散點都成爲三角形的頂點。TIN的優點是存儲效率高,數據結構簡單,與不規則的地面特徵和諧一致,可以表示細微特徵或疊加任意形狀的區域邊界。當表面粗糙或變化劇烈時,TIN能包含大量的數據點,而當表面相對單一時,在同樣大小的區域,TIN只需少量的數據點。TIN比Grid複雜,它不僅要存儲每個點的屬性數據,還要存儲其平面座標、節點連接的拓撲關係,難以與矢量和柵格數據結構進行聯合分析。
邊界表示模型(B-Rep)是以物體邊界爲基礎來描述幾何形狀,一般採用矢量法表達三維目標,與二維GIS所採用的矢量結構在原理上一致。每個物體均由有限個面構成,每個面由有限條邊圍成,而每條邊由構成邊的頂點表示。在邊界表示法中,空間實體的幾何信息和拓撲信息是分開存儲的,其數據結構可以用體表、面表、弧表、邊表、頂點表等五個層次來描述,因此在進行座標變換時,僅需改變空間點的座標,空間實體間的拓撲關係可以保持不變。B-Rep模型強調3D空間目標的外部細節,通過3D目標屬性表、面-體關係表、邊-點-面關係表和點座標表來詳細記錄構成3D空間目標的所有幾何信息和拓撲信息。其優點爲:幾何信息與拓撲信息分開存儲,完整清晰;便於基於面、邊的空間查詢與計算;易於與2D圖形、3D線框模型、有限元網格剖分及3D曲面造型接口。其缺點是:數據量大,數據關係複雜;對3D空間目標的整體描述能力差,不能反映目標的構造過程;不能記錄目標組成元素的原始特徵。
2.2.2 空間數據模型比較及應用
體模型和麪模型的根本區別在於:面元模型採用面元對三維空間對象的表面進行連續或非連續幾何描述和特徵描述,不研究三維空間對象的內部特徵;體元模型採用體元對三維空間對象的內部空間進行無縫完整的空間剖分,不僅描述三維空間對象的表面幾何,還研究三維空間對象的內部特徵。面表示法從物體外觀對其進行描述,通過面一邊一點的拓撲關係表示物體。體表示法數據結構複雜,存儲數據量大,適用於機械製造、地質分析等高精度的專業領域。目前比較常用的是B-Rep+CSG混合模型和TIN+CSG集成模型。
(1)B-Rep+CSG混合模型
CSG模型在對3D空間目標幾何特徵的整體描述能力強,能反映3D空間目標的構造過程和特點,能記錄目標組成元素的原始特徵,說明3D空間目標的構造過程,並記錄3D空間目標中所含體素的全部定義參數,必要時還可以附加目標和體素的各種屬性和特徵描述。B-Rep能清除描述點、邊、環、面的拓撲關係。他們互爲補充在CAD系統中得到很好的應用。
(2)TIN+CSG集成模型
TIN+CSG集成模型,以TIN模型表示地形表面,以CSG模型表示建築物,兩種模型的數據分開存儲。爲了實現TIN和CSG的集成,在TIN模型的形成過程中將建築物的地面輪廓作爲內部約束。同時把CSG模型中的建築物的編號作爲TIN模型中建築物的地面輪廓多邊形的屬性,並且將兩種模型集成在一個用戶界面。TIN+CSG集成模型實質上是一種表面上的集成方式,一個目標只由一種模型來表示,然後通過公共邊界來連接,因此其操作與顯示都是分開進行的。
B-Rep+CSG混合模型所描述的都是一些相對簡單、邊界封閉、形狀規則的空間目標,而實際地理空間中的3D目標往往是不規則的、邊界不封閉的和形狀未知的,如山體表面和複雜建築物等。因此B-Rep+CSG混合模型真正用於三維GIS在數據組織與管理、空間檢索與分析等方面還有很多問題要解決。因此TIN+CSG集成模型更適用於城市GIS中3D空間建模的主要方式。
綜上所述,地形模型有TIN和Grid兩種模型,TIN模型精度較高但數據量大,Grid模型精度較低但數據量少。由於機場中的地形一般比較平坦,使用一般的Grid模型即可以滿足精度需要;但另一方面,機場中的道路、建築物等要佔用較多的地面空間,而道路的表達一般都採用TIN進行描述,建築物的CSG模型的底面多邊形既可以不做剖分,也可以剖分成TIN。因此,地形Grid和道路TIN、建築物地面多變形之間將存在複雜的鑲嵌。綜合權衡數據量和模型精度,將Grid細分爲規則三角網,再以道路TIN和建築物TIN爲邊界約束,重新進行局部的約束三角網剖分,進而構建集成的3D空間數據模型。該集成模型繼承了Grid模型數據結構簡單、存儲空間小的優點和TIN模型能精確描述地物細節的優點,適合三維空間建模和空間分析的需要。
2.3 地形的數據模型及建模
2.3.1 地形數據模型
在三維場景中,地形的起伏用數字高程模型(DEM)來描述。DEM數據作爲三維場景中空間數據的重要組成部分,爲三維場景中對地形的空間查詢和與地形有關的輔助決策提供了豐富的便於操作的數據基礎。
2.5維的數字高程模型(DigitalElevationModel,DEM)和數字地面模型(DigitalTerrainModel,DTM)是目前GIS進行三維分析的主要手段。數字高程模型(DigitalElevationModel,DEM)是地理信息系統地理數據庫中最爲重要的空間信息資料和賴以進行地形分析的核心數據系統。數字地面模型(DigitalTerrainModel,DTM)爲描述地球表面形態多種信息空間分佈的有序數值陣列,這種信息主要包括:地貌信息(如高程、坡度、坡向等),基本地物信息(如水系、交通網、居民點等),自然資源和環境信息(如土壤、植被、地質、氣候、太陽輻射等),社會經濟信息(如某地區的人口分佈、工農業產值、國民收入等)。DTM是一種或多種地表特徵空間分佈的數字描述,是疊加在二維地理空間上的一維或多維地面特徵的向量空間,是GIS空間數據庫某類實體或所有這些實體的總合,因而DTM的本質和共性是二維地理空間定位和數字描述。當DTM描述的空間信息爲地形起伏或高程時,這時的DTM稱之爲數字高程模型。DEM是一類特殊而又非常重要的組成部分之一,是地表演化和大氣過程模型化的基礎數據,以及GIS地學分析與三維空間數據處理及地形分析的核心數據。
2.3.2 數字高程模型分類及各類模型之間的轉化
按結構形式,DEM可分爲規則格網(Grid)DEM、不規則三角網(TIN)DEM、等高線DEM,它們結構相對簡單,易於建立拓撲關係,容易進行可視化分析。等高線模型是一系列等高線集合,即採用類似於線狀要素的矢量數據來表達DEM。等高線模型的數據一般來源於對地形圖的數字化,它的特點是直觀,易於理解基於GIS三維可視化技術及其實現方法研究
地表特性的變化規律,但不利於空間三維特性的分析。規則格網DEM即是利用一系列在X、Y方向上的都是等間隔排列的地形點的高程Z表示地形。在這種情況下,除了基本信息外,DEM就變成一組規則網格存放的高程值,在計算機中,它就是一個二維數組或數學上的一個二維矩陣。不規則三角網模型TIN是直接用原始數據採樣點建造的一種地形表達方法,其實質是用一系列互不交叉、互不重疊的三角形面片組成的網絡來近似描述地形比表面。
不規則三角網(TIN)的優點:
1、能夠較好地顧及地貌特徵點、線;
2、逼真地表示覆雜地形起伏特徵;
3、克服地形起伏變化不大的地區產生冗餘數據的問題。
缺點:
1、數據量大;
2、數據結構複雜和難於建立。不規則三角網(TIN)適用於小範圍大比例尺高精度的地形建模。
規則格網(Grid)優點:
1、數據結構簡單,便於管理,易於表達,有利於各種分析和應用;
2、具有較小的存儲量和簡單的數據結構,便於存儲和管理。
缺點:
1、格網點高程的內插會損失精度;
2、格網過大會損失地形關鍵特徵;
3、如不改變格網的大小,不能適用於起伏程度不同的地區;
4、地形簡單地區存在大量的冗餘數據。適用於地形較爲平坦的地區。
DEM的各個數據模型有着各自的特點,適用於不同場合和應用目的。目前大部分的DEM都是以規則格網的形式出現,而規則格網DEM數據量大不便存儲,也可能由於某些分析需要而採用TIN模型,這就需要將規則格網DEM轉化爲TIN。反之,很多數字地形分析的算法和計算程序是針對規則格網DEM設計的,另外在應用中也往往需要DEM和其他柵格數據整合,因此,當使用存儲爲TIN模型的DEM數據時,由於應用的需求,也可能將TIN轉化爲規則格網DEM數據。因此實現不同DEM結構之間的轉換,取長補短,可充分發揮不同DEM模型的優勢。
2.3.3數字高程模型的建立
在數據採集階段,我們獲得了等高線和高程控制點的三維信息,他們是DEM建模的基礎,在此之上,採用一定的插值算法,最終生成合適的DEM。針對不同類型的DEM,所採用的建模的方法也不一樣。
TIN和Grid因其直觀易用、更新方便逐漸成爲主流的數字地形模擬方法,本文主要討論基於TIN和Grid的DEM表面建模。
(1)基於TIN的DEM表面建模
不規則三角格網TIN是由一系列不規則三角形組成的網格,每個三角形對應空間三個點。基於TIN的建模一般將TIN分解成單個三角形,在每一個三角形上建模,從而得到整個TIN的表面模型。
(2)基於Grid的DEM表面建模
基於規則格網的DEM首先對研究區域在二維平面上進行格網劃分,形成覆蓋整個區域的格網空間結構,然後利用分佈在格網點周圍的地形採樣點內插計算格網點的高程值,最後按一定格式輸出,形成該地區的格網DEM。綜上所述,建立DEM表面模型,要從模型的精度、連續光滑性、計算量等方面考慮。從格網類型來看,在TIN格網,一次多項式模型最簡單,也最常用。對於正方形格網,雙線性多項式最簡單,最常用。但是高階多項式也具有精度高,光滑性好的特點。與三角形格網相比,正方形格網由於格網形式簡單,因而地形表面模型種類多,計算也方便。從數據來源看,可以從高程量測數據直接建立。另外,還可以由量測數據派生數據間接建立,即先內插高程點,再建立格網,然後建立表面模型。後一種方法由於內插高程點,所以增加了誤差的積累。
2.4 地物的數據模型與建模
地物的三維建模是利用從二維地圖中獲得的地物位置、幾何形狀信息和其它相關屬性信息構造一個獨立可操作的三維實體對象。每一類地物建模的結果以自定義的結構保存到文件或數據庫中。地物模型數據按照面向對象的方式組織,形成“地物類別——地物——邊界面——三角形——頂點”的層次結構。
規則地物又可進一步分爲兩類:一類是附着在地表面的空間曲面型地物,如道路、河流、湖泊等;另一類是以樓房建築爲代表的形狀簡單的模型地物,它們的特點是或者在不同高度的水平截面相同,或者地物表面滿足確定的數學描述。對於空間幾何形狀比較複雜的地物,依靠編制程序直接建模幾乎是不可能的,因此可以採用間接處理的方法。首先應用專業的建模工具軟件定製該地物模型,然後將建好的模型保存爲系統可解釋的數據結構,最後根據座標位置、方向、尺寸等約束條件將建好的模型嵌入到系統所繪製的三維場景中。
由於在已有的二維GIS數據庫中只保存了建築物模型在地面投影的多邊形數據,是其底面閉合多邊形的幾何數據。首先根據建築物各個頂點的平面座標及各DEM網格點平面座標計算出每個頂點落於哪個DEM三角網格內,並通過線性內插獲得該點的高程值,對於每個頂點都求出所在點的高程值。然後假設所有的牆面均垂直於地面。對於建築物的屋頂採用三角剖分來實現,主要思路是利用三角形剖分算法,對建築物的屋頂模型進行帶有約束規則的三角網剖分,從而構造各種複雜的屋頂模型。建築物最終的建模結果按照“建築羣--建築物--面--三角形(四邊形)一點”的結構保存到數據庫中。
道路是典型的帶狀地物,根據道路的中心線信息,依次計算出中心線上與相鄰兩點連線平行的左邊界線及右邊界線,然後用與中心線段垂直的線段將其封閉成多邊形。然後紋理貼圖,建立道路模型。水系模型的種類很多,有的平面幾何信息呈面狀,如湖泊,海洋等。有的呈帶狀的,如河流等。對於呈面狀水系模型的建立,可以在建立平面的基礎上進行紋理貼圖。對於呈帶狀水系模型的建立,其方法同道路模型的建立。多數情況下,我們以一組曲面來描述一條河流,每條河流具有唯一標識ID信息。
對於空間幾何形狀比較複雜的地物,比如立交橋、地面景觀、車輛等,依靠編制程序直接建模幾乎是不可能的,因此可以採用間接處理的方法。首先應用專業的建模工具軟件(如3DMAX)定製該地物模型,然後將建好的模型保存爲系統可解釋的數據結構,最後根據座標位置、方向、尺寸等約束條件將建好的模型嵌入到系統所繪製的三維場景中。
3、三維可視化技術
3.1三維可視化技術基礎
可視化即利用計算機圖形技術和方法,對大量的數據進行處理,用圖形、圖像的形式,形象而具體地顯示出來,通過將科學計算過程及計算結果所產生的枯燥的數據轉換成直觀的圖形和圖像信息,來仿真人腦映像的構造過程,幫助人們洞察數據所蘊含的關係和規律,以支持用戶的判斷和理解。通過交互式的圖形、圖像系統,人們就能便捷地獲得關於數據的直觀、形象、深刻和全面的理解。可視化涉及到計算機圖形學、圖像處理、計算機輔助設計、人機交互、計算機視覺等多個領域。可視化領域內有四個方向的問題值得去進一步的研究,數據簡化、並行可視化、高分辨率顯示和用戶界面。
與傳統的二維空間數據表達相比,三維可視化技術對空間現象的表達有完全不同的數學模型和表達方式。在數學投影方面,三維顯示將所有的三維向量以一個傾斜的角度進行投影和表達,通過一個三維的透視將場景顯示於CRT或其他的計算機平面顯示器上:在可視表現方面,三維可視化通過紋理的使用,大大提高場景的逼真效果,具有更爲自然的效果和更爲直觀的感知,也具有更多的吸引力。可視化技術大體上可以分爲科學計算的可視化和空間信息的可視化兩類。前者多用於科學和工程計算,以數學模型爲中心實現計算過程的可視化和計算結果的可視化。空間信息的可視化指在虛擬環境中體驗真實世界,強調的是三維模型。本文主要研究的是空間信息的可視化。
3.2三維可視化關鍵技術
經過建模處理後的各類地物,要想真實地顯示在計算機屏幕上,還需要經過一系列必要的變換,包括數據預處理、三維變換、選擇光照模型、紋理映射等。
數據預處理主要包括:將建模後得到的物體的幾何模型數據轉換成可直接接受的基本圖元形式,如點、線、面等;對影像數據如紋理圖像進行預處理,包括圖像格式轉換、圖像質量的改善及影像金字塔的生成等。參數設置指在對三維場景進行渲染前,需要先設置相關的場景參數值,包括光源性質、光源方位、明暗處理方式和紋理映射方式等。此外還需要設定視點位置和視線方向等參數。
3.3 三維可視化工具
計算機圖形技術的快速發展帶動了三維造型技術的快步發展,三維可視化與圖形渲染工具也越來越多。其中比較有代表性的是SGI公司的開放式的國際圖形標準OpenGL,Microsoft公司的Direct3D、將三維世界帶入網絡的VRML(VirtualRealityModelingLanguage,虛擬現實建模語言),SUN公司的基於Java語言的三維圖形技術Java3D,RSI公司的IDL和Paradigm公司的Vega等。
3.3.1常用可視化工具
(1)OpenGL
OpenGL是OpenGraphicsLib的縮寫,是一個低層的圖形庫,最初由SGI公司開發。它是一套三維圖形處理庫,也是該領域的工業標準,是繪製高真實感三維圖形,實現交互式視景仿真和虛擬顯示的高性能開發軟件包。OpenGL從根本上說是一種過程語言而非描述性的語言:OpenGL提供了直接控制二維和三維幾何體的基本操作。在OpenGL中,通過基本的幾何圖元點、線、多邊形來建立物體模型。在繪製地質曲面時,將空間四邊形劃分成平面上的小三角片,然後用逼近的方法形成。OpenGL中提供了大量的圖形變換函數,這樣在編成時無須進行復雜的矩陣運算,就可以方便地將三維圖形顯示在屏幕窗口。並且,爲了增強圖形的真實感,OpenGL還提供了線面消隱、着色和光照、紋理映射和反走樣等技術的一系列函數,這樣就避免了純圖形學的算法,簡化了編程,可以很方便的對地層面進行繪製、着色和光照處理。另外,OpenGL還提供了用雙緩存區實現動畫的函數。利用MFC編寫對鼠標的消息響應函數,可以通過拖動鼠標實現對三維實體的動態顯示。
OpenGL有幾個主要的函數庫如下:GL基本庫,所有以gl開頭的函數庫。用於建立各種形體、產生照效果、進行反走樣、紋理映射和投影變換,可在任何OpenGL平臺上應用;GLU實用庫,所有以glu開頭的函數庫。比基本函數庫高一層,由43個實用函數組成,通過調用核心函數來起作用,包括紋理映射、座標變換、多邊形分化、實體繪製等,也可在任何OpenGL平臺上應用;GLUT實用工具箱,針對與窗口操作系統交互的問題,提供了任何現代窗口操作系統所需要的最小功能集;GLX庫,把OpenGL與XWindow操作系統粘合起來。
用OpenGL編寫的應用程序相當於在應用程序中添加一個三維函數庫。應用程序一般包括窗口定義、初始化、繪製和顯示圖形三部分。和現代CPU一樣,OpenGL渲染使用一種流水線架構。OpenGL使用4個主要階段來處理像素和頂點數據:頂點操作、像素操作、光柵化和片元操作,並將結果存儲在幀緩存或紋理內存中。
OpenGL要求把所有的幾何圖形單元都用頂點來描述,這樣運算器和逐個頂點計算操作就可以針對每個頂點進行計算和操作,然後進行光柵化形成圖形片元;對於像素數據,像素操作結果被存儲在紋理組裝用的內存中,再像幾何頂點操作一樣光柵化形成圖形片元。整個流程的最後,圖形片元都要進行一系列的逐個頂點操作,這樣最後的像素值送入幀緩存實現圖形的顯示。
(2)Direct3D
MicrosoftDirectX提供了一套非常優秀的應用程序接口,包含了設計高性能、實時應用程序的源代碼。DirectX技術將幫助建構下一代的電腦遊戲和多媒體應用程序。它的內容包括了DirectDraw、DirectSound、DirectPlay、Direct3D和DirectInput等部分,它們分別主要應用在圖形程序、聲音程序等方面。Direct3D是MicrosoftDirectX的一個重要組件,適合於Microsoft的32位操作系統,是MicrosoftWindows平臺上的主要三維與多媒體開發工具。Direct3D的功能與OpenGL近似,提供對不同圖形加速卡的統一訪問方式。Direct3D採用與設備無關的方法實現對視頻加速硬件的訪問,立即模式和封裝了立即模式的保留模式是兩種可選的使用方式。前者適合一般三維應用程序開發,後者適合速成開發者。Direct3D設備是Direct3D的渲染組件,相當於一個狀態機,封裝並存儲了渲染狀態,C++程序只有通過Direct3D提供的COM接口才能操縱和使用Direct3D設備的渲染狀態和光照狀態。與OpenGL相似,Direct3D也由若干層組成,包括3個模塊:變換模塊、光照模塊和光柵化模塊。
(3)虛擬現實建模語言VRML
VRML(virtualrealitymodelinglanguage)譯爲虛擬現實建模語言,是一種3D交換格式,定義了三維可視化中絕大多數常見的概念,諸如對象的移動、旋轉、視點、光照、材質屬性、紋理映射、動畫、霧以及嵌套結構等。VRML本質上是一種描述性語言,對場景的繪製工作完全由相應的瀏覽器或Plug-in來完成。它採用標準格式來描述三維環境,並嵌入到Web網頁中,通過插件來提供包括變換視點、模擬飛行、控制速度等功能。VRML的訪問方式是基於客戶/服務器模式的。其中服務器提供VRML文件及支持資源(圖像、視頻、聲音等),客戶端通過網絡下載希望訪問的文件,並通過本地平臺上的VRML瀏覽器交互式地訪問該文件描述的虛擬境界。由於瀏覽器是本地平臺提供的,從而實現了平臺無關性。VRML像HTML一樣,用ASCII文本格式來描述世界和鏈接,保證在各種平臺上通用,同時也降低了數據量,從而在低帶寬的網絡上也可以實現。但是VRML作品停留在展示型文件階段,缺少動感和交互。
(4)Java3D
Java語言是SUN公司開發的一種面向網絡應用的計算機語言,Java3D是在Java、OpenGL和VRML的基礎上發展起來的,可以說是JAVA語言在三維圖形領域的擴展,其實質是一組API函數集。目前,Java3D有兩個不同特色的版本,其一爲針對OpenGL圖形庫的OpenGL版本,即Java3D1-1-win32-opengl-jdk。exe;其二爲針對Direct3D圖形庫德DirectX版本。應用Java3D編寫應用程序時,只需要按照面向對象的思想在基於GIS三維可視化技術及其實現方法研究程序的合適位置擺放相應得對象,就可以快速編寫出三維多媒體應用程序。Java3D的API幾乎包含了編寫JAVA交互式三維應用程序所需的基本類和接口。
(5)交互式數據語言IDL
交互式數據語言IDL是美國RSI公司的產品,它集可視、交互分析、大型商業開發於一體,爲用戶提供完善、靈活、有效的三維開發環境。IDL面向矩陣、語法簡單,具有較強的圖形圖像處理能力,是進行三維數據可視化分析及應用開發的理想工具。IDL主要特徵包括:集高級圖像處理和麪向對象的編程於一體,實現交互式二維和三維圖形技術,提供跨平臺圖形用戶界面工具包和多種程序連接工具,可連接ODBC兼容數據庫;完全面向矩陣,具有處理較大規模數據的能力,並能處理多種格式多種類型的數據;採用OpenGL技術,支持OpenGL軟件或硬件加速;帶有圖像處理軟件包,提供科學計算模型和可視數據分析的解決方案;用IDLDataMiner可快速訪問、查詢並管理與ODBC兼容的數據庫;可通過ActiveX控件將IDL應用開發集成到與COM兼容的環境中;可用IDLGUIBuilder開發跨平臺的用戶圖形界面。
(6)Vega
MultiGen-Paradigm公司的VegaPrime是用於虛擬現實、實時視景仿真、聲音仿真以及其它可視化領域的世界領先級應用軟件工具。它支持快速複雜的視覺仿真程序,能爲用提供—種處理複雜仿真事件的便捷手段。Vega是在SGIPerformer軟件的基礎之上發展起來的,爲Performer增加了許多重要特性。它將易用的工具和高級仿真功能巧妙地結合起來,使用戶以簡單的操作迅速地創建、編輯和運行復雜的仿真應用程序。由於Vega大幅度地減少了源代碼的編程,使軟件的維護和實時性能的進一步優化變得更加容易,從而大大提高了工作效率。使用Vega可以迅速創建各種實時交互的3D環境,以滿足不同行業的需求。
3.3.2幾種可視化工具的比較與選擇
綜上所述,利用上述可視化工具可以很方便地實現三維圖形制作和三維模型建造,均可提供以下可視化技術:
1)物體繪製技術;
2)變換技術;
3)着色技術;
4)光照模型技術;
5)反走樣技術;
6)混合技術;
7)霧化技術;
8)紋理映射技術;
9)交互操作和動畫技術等。
OpenGL是SGI開發的三維圖形庫,是第一個在計算機領域廣泛使用的三維函數庫,廣泛應用於三維應用程序的編制。許多三維動畫軟件(如3DSMAX),三維遊戲軟件、CAD軟件和三維可視化軟件都是基於OpenGL開發的。Direct3D是Microsoft公司開發的三維函數庫,它是DirectX多媒體編程環境的一個重要組成部分,主要用於遊戲軟件的編制,特別爲網絡瀏覽器提供了多媒體支持。OpenGL和Direct3D屬於低級或較低級的三維函數庫,適用於開發複雜三維模型的軟件。而Java3D結合了Java語言的特點,充分利用面向對象的思想,就可以快速編寫出複雜的三維應用程序;另外,Java3D程序像其他的Java程序一樣,可以嵌入在網頁中運行,不僅移植性好,而且具有較高的安全性。VRML是一種模型描述語言,只要按照VRML規範標準,不需要較高的技術就可以方便地構建三維場景,特別適應於Web上場景的構建,但需要插件的支持。
4、引入中間件技術
組件對象模型COM(ComponentObjectModel)是microsoft推出的一種以組件爲發佈單位的對象模型。此模型規定了組件之間統一的通信接口規範,是一種典型的中間件實現技術。所謂COM,是一種說明如何建立可動態互變組件的規範,此規範提供了爲保證能夠互操作,客戶和組件應遵循的一些二進制網絡標準。通過這種標準可以在任意兩個組件之間進行通信而不用考慮其所處的操作環境是否相同、使用的開發語言是否一致以及是否運行於同一臺計算機。COM接口是COM規範中最重要的部分,COM規範的核心內容就是對接口的定義。甚至可以說“在COM中,接口就是一切”。組件與組件之間、組件與客戶之間都要通過接口進行交互。接口成員函數負責爲客戶或其他組件提供服務。COM接口在設計時應遵循以下5個規則:
(1)接口必須直接或間接地從IUknown繼承;
(2)接口必須具有唯一的標識(IID);
(3)一旦分配和公佈了IID,有關接口定義的任何因素都不能被改變;
(4)接口成員函數應具有HRESULT類型的返回值;
(5)接口成員函數的字符串參數應採用Unicode類型。
(二)主要創新點
Super3D-平臺實現了三維地理信息系統的以下功能:數據採集和檢驗有效性;數據結構化和轉化爲新的結構;各種變化(平移、旋轉、比例、剪切);選擇;布爾操作(交、並差、或及切割斷面、開隧道、建築);計算(體積、表面積、中心、距離、方向);分析;可視化;系統管理;其具體功能如下:
1、DEM+遙感圖象,生成高低起伏的三維地形DEM+遙感圖象,生成高低起伏的三維地形遙感圖象高低起伏的三維使用四叉樹算法和圖象壓縮技術,自動生成三維場景中的地形數據,不受數據量的限制,分塊計算,直至拼接成所需面積和精度的地形;
2、人工建模和系統模型高度兼容系統提供3dmax插件,直接將外界人工模型轉到本系統中,這樣在完善和美化場景方面更加實用;
3、面積/長度測量功能面積/在場景中的任意兩點直接的距離測量,任意三點及以上的區域面積測量,瞬間生成;
4、水淹分析功能、由於地面是矢量圖、地面高程不等,在連續降雨的情況下,可以模擬水淹趨勢分析的功能;
5、通視分析功能、地面物體兩點間是否被遮擋關係,以及以地面某點爲原點,半徑範圍的視角遮擋關係的分析和體現;
6、屬性查詢功能、場景中的任一物體及設備,編輯好其屬性,點擊後可以查詢特性及屬性;
7、立體顯示功能、一鍵切換立體效果的場景,就像看立體電影的效果;
8、日照分析功能、模擬某個季節的日照全天模擬,早晨、傍晚至黑夜,以瞭解某地區的日照時間和強度;
9、其他功能、根據不同行業需求,開發不同功能滿足其需求。
除此之外,還具有如下獨有的功能:
1、兼容一維、二維對象容一維、傳統的二維GIS將一維、二維對象垂直投影到二維平面上,存儲它們投影結果的幾何形態與相互間的位置關係。而三維GIS將一維、二維對象置於三維立體空間中考慮,存儲的是它們真實的幾何位置與空間拓撲關係,這樣表達的結果就能區分出一維、二維對象在垂直方向上的變化。
2、對2.5維、三維進行可視化在建立和維護三維GIS的各個階段中,不論是對三維對象的輸入、編輯、存儲、管理,還是對它們進行空間操作與分析或是輸出結果,只要涉及到三維對象,就存在三維可視化問題。三維對象的幾何建模與可視表達在三維GIS建設的整個過程中都是需要的,這是三維GIS的一項基本功能。
3、三維空間DBMS管理三維GIS的核心是三維空間數據庫。三維空間數據庫對空間對象的存儲與管理使得三維GIS既不同於CAD、商用數據庫與科學計算可視化,也不同於傳統的二維GIS。它可能由擴展的關係數據庫系統也可能由面向對象的空間數據庫系統存儲管理三維空間對象。
4、三維空間分析在二維GIS中,空間分析是GIS區別於三維CAD與科學計算可視化的特有功能,在三維GIS中也同樣如此。空間分析三維化,也就是直接在三維空間中進行空間操作與分析,連同上文述及的對空間對象進行三維表達與管理,使得三維GIS明顯不同於二維GIS,同時在功能上也更加強大。
5、能及時受益於現代數據獲取方法的進展和大數據量處理技術的發展在設計之初,就充分考慮了未來三維地學數據獲取能力的提高,以便及時受益於現代數據獲取方法的進步。另外,三維GIS要處理的數據量往往很大,計算機軟硬件技術的飛速發展無疑會再次提高三維GIS的性能。
6、支持多通道播放系統、目前國外及國內的三維地理信息平臺大多無法實現多通道播放系統,而本軟件平臺在規劃設計初,就考慮到兼容多通道大屏幕播放演示系統,這是本軟件平臺的獨特優勢。

原文來自:http://www.ztmapinfo.com/blog/index.php/article/43.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章