?

數字城市中三維城市模型構建技術研究

2012-04-29 00:44葉芳毅
科技創新導報 2012年35期

葉芳毅

摘 要:三維城市模型標準化的研究,尚未引起國內學者的注意,該文基于筆者多年從事地理信息系統的相關工作經驗,以三維城市模型為研究對象,分析了CityGML模型的概念,專題模型的構建方法,給出了構建的實例,全文是筆者長期工作實踐基礎上的理論升華,相信對從事相關工作的同行有著重要的參考價值和借鑒意義。

關鍵詞:CityGML 三維城市模型 數字地形模型 建筑物模型

中圖分類號:P2 文獻標識碼:A 文章編號:1674-098X(2012)12(b)-000-02

三維城市模型數據的交換需要面對GIS業界歷來關注的數據異構問題,即交互的兩個系統之間存在語法、語義差異。地理標記語言(GML)封裝了空間地理參考系統,具有描述幾何拓撲、時間等信息的能力,便于地理信息的分布式存儲和交換。以GML為介質的WFS(網絡要素服務)接口規范,得到了GIS軟件廠商的廣泛支持,為異構地理信息系統之間實現了語法級的互操作。語義互操作性設想在某一領域存在對現實世界的對象及其屬性和關系的公認定義,然而目前尚未有被廣泛認可的三維城市語義模型存在。

近年來,人們也提出了一些三維城市模型,但這些模型大多是純幾何模型,而忽略了語義和拓撲層面,基本上只能用于可視化目的,對專題查詢、分析或空間數據挖掘等支持很差,可重用性有限。因此有必要采用泛化建模方法,以滿足不同應用場合的信息需求。CityGML由德國北萊茵河-威斯特伐利亞地區空間數據基礎設施三維特別興趣小組于2002年開始研發,致力于描述三維城市對象的共同語義信息,以期能成為三維城市模型數據交換格式標準。而三維城市模型標準化的研究,尚未引起國內學者的注意。

1 CityGML基本概念

1.1 細節層次模型(LOD)

Clark于1976年最初提出了細節層次模型的概念。根據處理分析和展示多源數據的需要,CityGML把描述三維城市對象的精細程度分為5個細節層次。LOD0實質上就是2.5維的DTM數據,可以在其上疊加航空影像或者2維地圖。LOD1用塊狀表示建筑物,屋頂、紋理數據、植被對象在LOD2層次描述。LOD3層次描述建筑物的結構,包括墻、屋頂結構、陽臺等,可以把高分辨率的紋理疊加到這些結構面上。此外,交通對象、植被對象在這一層次做了更精細地描述。LOD4層次主要對房間的內部結構、門、窗、樓梯、家具等對象進行建模。

不同細節層次,點位的定位精度要求是不一樣的,如LOD1下定位精度要求為

5 m,而在LOD4下要求為0.2 m甚至更小。因此可以通過LOD級別來評價三維城市數據集的質量。

由此可見,用戶可根據應用需求,采用不同的層次建模。在一個CityGML數據集中,同一對象可以在不同細節層次上表示,而同一個對象的不同細節層次的數據也可以分別放在兩個數據集中。細節層次模型既便于三維對象可視化展示,也便于多源數據的集成。

1.2 幾何拓撲建模

如果既要維護空間完整性又要避免對象的幾何描述數據的冗余,幾何拓撲模型是必不可少的。ISO19107標準已建立表達空間對象的幾何屬性與拓撲關系的概念。然而該標準提供了大量的建模選擇,如果建模目的僅局限于某一方面,該標準顯得太過復雜。因此基于ISO19107,CityGML采用更為緊湊易用的模型。

CityGML用邊界表達方法對專題對象的空間屬性進行幾何拓撲建模,即0~3維基本幾何元素分別為點、邊、面、立體等。邊、面、立體等基元可以相應地聚合成為弧聚合體、面聚合體、立體聚合體。CityGML要求點、邊、面、立體基元及聚合體必須滿足一些完整性約束,確保模型的一致性。如幾何基元內部元素必須是相離的,如果兩個元素有公共邊界,則該邊界必須是低一維的幾何基元。這些約束條件消除數據冗余,并確保拓撲關系清晰性,如任兩個立體基元之間是相離的,它們的體積即為兩者體積之和,反之若允許兩個立體基元有交叉的話,計算它們的體積將麻煩得多。

1.3 幾何語義建模

CityGML實現了對空間對象的幾何拓撲屬性和語義進行一致性建模。在語義特征方面,CityGML通過專題模型描述現實對象(如建筑物)及其屬性、層次關系等。在空間特征方面,現實對象的空間屬性即為幾何拓撲對象。CityGML模型涵蓋語義和幾何拓撲兩個層次體系,其優點是便于分別在各自層次體系中遍歷,或在它們之間相互遍歷。

1.4 閉合面和地下對象

在三維建模時,隧道、地下人行通道等地下對象,其建模方法有別于一般的地表面對象。首先不易確定其幾何體類型。地上對象可直觀地使用一個閉合幾何體表達其形狀,但對地下對象,卻需要形象描述其中空部分所處的空間。ISO19107標準用外殼表達這樣的中空部分。然而,既然這個外殼是閉合的,即不應存在從其內部連接到外部的通道,但這和人造地下構筑物的概念不相符合。因此,必須使模型能夠較好的表達地下構筑物的入口。

另一個問題是地下對象和DTM的無縫集成。其一是在DTM中產生孔洞描述入口,然而DTM要描述地表面,要求不應存在孔洞。

當DTM和地下對象集成時,確保它們在入口處無縫接合,可用受約束三角網來實現,即把地下對象和地表相交形成的邊,當作DTM的邊,相交面為兩者所共有。CityGML引進了“閉合面”(ClosureSurface)這個概念,對于沒有閉合的對象,用虛擬的“閉合面”縫合,如這里提到的相交面。當計算體積時,把地下對象當作閉合實體來看待,當進行可視化時,把相交面設為不可見。

1.5 三維模型的簡化

CityGML支持對現實對象精細化描述,但并不意味著在建模時一味地盲目追求仿真、模擬原形。對于具有幾何不變性、表面材質紋理的相似性及重要的形狀和位置特征(朱慶等,2003)的現實對象,如同一種類的樹木、路燈、電桿等,CityGML采用幾何隱含的建模方法,即建立一個逼真的三維模型(保存到VRML、DXF或X3D文件中)重復使用,三維模型的定位由表達其三維空間地理位置的參考點(referencePoint) 和空間姿態參數(一個4維變換矩陣)決定。

2 專題模型

作為一種多功能三維城市數據模型和交換格式,CityGML基于ISO191XX系列標準,用GML3實現了建筑物、DTM、交通、植被、水資源、城市設施、土地利用等三維城市模型。作為示例,該文介紹DTM模型和建筑物模型。

2.1 DTM模型

地形在三維城市建模中重要一部分,CityGML用起伏要素(ReliefFeature)來描述,一個起伏要素對象描述了某一塊地域的地形起伏。地形可以表現為規則格網(RasterRelief)、不規則三角形(TINRelief)、斷裂線(BreaklineRelief)、質點集(一系列三維點,MassPointRelief)等。斷裂線表示地形表面不連續的部分,如山脊、峽谷等,在幾何上表現為三維曲線。

在CityGML數據集中,這四種地形表現形式可以靈活組合。首先,每種類型均可在不同LOD中出現,反映不同的精度和分辨率。其次,每塊地表可用不同組合方式來描述,如格網和斷裂線,或TIN、斷裂線的組合。在這種情形下,斷裂線和不規則三角網必須縫合。再次,相鄰地域的地形可以使用不同的形式表達。為便于不同地域地形的組合,每一起伏要素對象用一個二維(可含“洞”)多邊形來指定它的有效范圍,這種方法便于對不同精度的地形進行拼合。

2.2 建筑物模型

建筑物模型是CityGML的核心,用于表達建筑物及組成部分、附屬部分的空間和專題特征。圖1給出四種細節層次下建筑物的展示效果。AbstractBuilding類是該模型的樞紐,它是CityObject類的子類。AbstractBuilding的派生類有BuildingPart和Building類,即把建筑物的某一部分在建模時把它當作抽象“建筑物對象”。另外,一個Building對象可以是一個復雜建筑物對象(Building Complex)的一部分。

建筑物和地形的集成是三維城市建模的一個重要課題,特別是當考慮不同LOD層次的地形數據和建筑物模型數據疊加時。為此引入了建筑物和地表面的“交叉曲線”(TerrainIntersection)這個概念,該曲線描述了建筑物和地表面接合的確切位置,為環繞該建筑物的一個閉環。如果某個建筑物包含院子,則該曲線由兩個閉環組成,依次類推。在集成時,把建筑物和地形表面進行拖拽,直至其與交叉曲線縫合,確保紋理的正確定位。因不同LOD層次的數據精度不同,所以在一個建筑物可能在不同的LOD有相應的交叉曲線。

在LOD2層次,已可以清晰分辨建筑物的各個面,如屋頂、墻、地板等。為消除數據冗余,表達它們空間屬性的面幾何體,同時又為表達整個建筑物的幾何立體所引用。建筑物的空缺部分如窗口,用閉合面表達。一個LOD2建筑物的幾何形狀,可由多個立體聚合體和面聚合體組成。此外,一個LOD2的建筑物還可能包括煙囪、陽臺、天線等,用BuildingInstallation表示。CityGML對這類設施的幾何形狀類型沒有作限制,用ObjectGeometry類來描述。該類是SolidGeometries(立體聚合體)、CurveGeometries(弧聚合體)、SurfaceGeometries(面聚合體)等聚合類的父類。

在LOD3層次下,建筑物的空缺部分用Opening類對象來表達,其派生類包括Door和Window等。Openings類是CityObject類的派生類,意味著可以直接從外部數據集直接引用它的對象實例。

LOD4對LOD3進一步作了補充,添加了對建筑物內部結構的描述,如“房間”為天花板、內墻、地板等面“包”住。多個房間聚合成“房間組合體”(GroupOfRooms), 房間之內放置家具(Building_ Furnitures)、附屬設施等。CityGML區分二者的準則是前者是房間內可移動的部分,而后者是永久性地和房間固定在一起,如樓梯、柱子。在LOD4層次,門在拓撲意義上連接了兩個鄰接的房間,即表示門的面體在幾何意義上是兩個房間幾何體的邊界之一部分。

圖1 LOD1-LOD4建筑物模型

3 建模實例

CityGML目前主要在德國的柏林等幾個城市得到了應用。柏林市建設了一個虛擬三維城市模型系統,其系統數據庫基于CityGML的邏輯結構設計,用于存儲和管理三維數據,目前主要有以下類型的數據:(1)地籍數據;(2)航空影像;(3)DTM(數字地型模型),20 m精度部分作為框架數據,高分辨率DTM作為三維城市模型的核心數據,特殊地區用TIN建模;(4)建筑物模型數據,在大約250 km2范圍內采用激光掃描或攝像測量方法對建筑物進行三維重建,LOD3、LOD4層次的數據主要通過CAD或3D MAX等工具建模,然后再轉換成為CityGML

格式。

圖2 建筑物模型

CityGML開發人員也做了一些應用于災害管理方面的建模實驗,如在洪水淹沒仿真時,評估人員可以根據樓層的高度和樓層的地下部分,評估建筑物的受損程度;利用建筑物內部拓撲結構圖,求解水、煙氣等的通路,用經典的最短路徑算法來計算逃生路徑等。對于每一個建筑物而言,在三維模型中把它當作一個cityObjectMember看待,它的空間屬性可以用不同LOD2層次的數據來描述,如圖3所示。

圖3 建筑物對象

4 結語

CityGML致力于提供三維城市模型數據標準,使人們避免針對不同的應用進行大量的重復建模工作,便于在網絡環境下實現三維數據的交換與互操作。CityGML開發小組于2005年向OGC提交了0.3.0版本的討論稿,今年9月份在其網站上已經發布了0.4.0版本,其專題模型還在完善之中。

CityGML被OGC評為GML最佳實踐項目,預計將很快成為OGC的一項標準。為使WFS規范支持 CityGML,OGC已經開始做了相關的實驗。波恩大學制圖與地理信息學院向OGC提交了W3DS(Web 3D Service)規范的討論稿,或許CityGML會像GML一樣,成為W3DS服務的傳輸

介質。

在軟件支持方面,目前LandXplorer等軟件可編輯并對CityGML進行三維可視化展示;英國Snowflake軟件公司的GO Publisher,是一款WFS服務器軟件,可以從關系數據庫中把三維模型數據直接發布成為CityGML數據。目前一些主流GIS軟件已經部分支持GML文件的讀取,如ArcGIS9等,可以期待當CityGML成為OGC標準之后,將會得到更多GIS平臺軟件的支持。

參考文獻

[1] 李軍.三維GIS空間數據模型及可視化技術研究:[D].長沙:國防科學技術大學,2000.

[2] 朱慶,GIS中三維模型的設計[J].武漢大學學報(自然科學版),2003,3(28):283-287.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合