陳玉龍
(1.北京建筑大學(xué),北京 100044;2.城市空間信息工程北京市重點(diǎn)實(shí)驗(yàn)室,北京 100038)
建筑信息模型(BIM)作為一種全新的理念及技術(shù)手段,憑借其特征參數(shù)化、設(shè)施的物理和功能特征的數(shù)字化,成為設(shè)施信息資源共享、全生命周期決策的可靠基礎(chǔ)[1]。三維GIS作為GIS發(fā)展的方向之一,基于空間數(shù)據(jù)庫技術(shù),面向海量三維地理空間數(shù)據(jù),在可視化基礎(chǔ)上,實(shí)現(xiàn)三維模型與地形、地貌的無縫集成,同時(shí)滿足空間查詢、空間分析及符號化渲染功能[2]。其強(qiáng)大的三維可視化能力及空間查詢分析能力,恰好可以彌補(bǔ)BIM周邊宏觀環(huán)境處理及可視化能力的不足,使BIM從單體精細(xì)化模型設(shè)計(jì)應(yīng)用上升到多維數(shù)據(jù)應(yīng)用層面。
目前,BIM與三維GIS集成主要研究集中在兩個(gè)方面:一是工業(yè)基礎(chǔ)類(IFC)與城市地理標(biāo)記語言(CityGML)數(shù)據(jù)的共享機(jī)制和語義傳遞方向。國外學(xué)者利用CityGML ADE擴(kuò)展機(jī)制、GeoBIM擴(kuò)展模型、UBM模型實(shí)現(xiàn)了數(shù)據(jù)共享[3-5];呂慧玲等提出了一種BIM模型到多細(xì)節(jié)層次GIS模型的轉(zhuǎn)換方法,優(yōu)化了BIM-GIS模型可視化效果[6]。二是BIM與GIS集成應(yīng)用方面。Yamamura提出了一種以GIS-BIM為基礎(chǔ)的城市能源規(guī)劃系統(tǒng)訪問優(yōu)化技術(shù)綜合分析調(diào)整城市基礎(chǔ)設(shè)施的政策思路[7];Lrizarry等利用GIS-BIM模型的視覺表現(xiàn)能力,實(shí)現(xiàn)建筑材料的流程管理可視化[8];李佩瑤等提出一種面向?qū)Ш降腎FC模型室內(nèi)空間信息提取的方法,實(shí)現(xiàn)了建筑內(nèi)部空間通達(dá)性一體化的語義描述[9]。
截至目前,大部分研究主要集中在兩種模型間的轉(zhuǎn)換原型設(shè)計(jì)上,局限于單體BIM信息在三維GIS地理空間中的展示,在數(shù)據(jù)結(jié)構(gòu)、可視化性能上未進(jìn)行更深一步的探討,很難滿足不同行業(yè)對空間信息完整空間表達(dá)和管理的需求,存在以下幾點(diǎn)不足:
(1) 語義信息映射不完整,未能將BIM屬性及功能信息全部繼承。
(2) 大尺度BIM-GIS數(shù)據(jù)缺乏良好的數(shù)據(jù)組織模式和空間索引結(jié)構(gòu),真實(shí)質(zhì)感的三維圖形可視化效率低。
BIM-GIS集成可分為3個(gè)層次:一是建筑設(shè)施外輪廓幾何信息的集成,主要應(yīng)用于城市建模;二是建筑物設(shè)施構(gòu)件信息及其內(nèi)屬性(與構(gòu)件實(shí)體本身相關(guān)的屬性)的集成,實(shí)現(xiàn)建筑設(shè)施內(nèi)外環(huán)境的統(tǒng)一管理;三是BIM-GIS模型內(nèi)建筑構(gòu)件的幾何、語義、內(nèi)屬性、外屬性(建筑構(gòu)件非實(shí)體屬性,描述構(gòu)件的功能信息)能夠進(jìn)行完整的描述和表達(dá),同時(shí)運(yùn)用GIS大范圍空間數(shù)據(jù)分析、數(shù)據(jù)管理功能,實(shí)現(xiàn)建筑設(shè)施全生命周期可視化表達(dá)與分析[10]。
不同層次的BIM-GIS集成本質(zhì)區(qū)別為BIM數(shù)據(jù)挖掘的深度不同,但每個(gè)層次的應(yīng)用都離不開整合模型可視化關(guān)鍵技術(shù)。因此,本文以典型BIM(RVT)數(shù)據(jù)為例,設(shè)計(jì)一種基于金字塔結(jié)構(gòu)的BIM-GIS可視化方法,在滿足各層次數(shù)據(jù)融合的基礎(chǔ)上,提高三維場景的可視化效率,同時(shí)滿足空間查詢分析功能,總體框架如圖1所示。
圖1 BIM-GIS集成可視化總體框架
框架主要包括3個(gè)環(huán)節(jié):
(1) 通過RVT數(shù)據(jù)格式解析,要素幾何信息判斷,針對不同層次的應(yīng)用需求建立語義過濾條件,將實(shí)體模型轉(zhuǎn)換為表面模型,同時(shí)關(guān)聯(lián)建筑構(gòu)件的屬性信息及材質(zhì)信息。
(2) 基于LOD技術(shù)的金字塔多分辨率層次模型,將集成的BIM-GIS模型按照八叉樹邏輯結(jié)構(gòu)分割為多層次的網(wǎng)格模型,應(yīng)用多分辨率LOD技術(shù),距視點(diǎn)距離不同的網(wǎng)格內(nèi)采取不同的模型表面細(xì)節(jié)。
(3) 過濾清洗表面模型原始數(shù)據(jù)的材質(zhì)和紋理信息,使之成為透明不可見但包括幾何信息及屬性的模型,然后根據(jù)坐標(biāo)重疊放置在模型場景中,通過空間三維坐標(biāo)的定位,獲取構(gòu)件ID,實(shí)現(xiàn)查詢分析功能。
BIM采用的幾何表達(dá)方式多為構(gòu)造實(shí)體幾何模型(CSG)和掃描體[11],屬于體模型的空間構(gòu)模方法,GIS中地物三維模型幾何表達(dá)方式多為邊界表示模型(B-rep)[12]。BIM-GIS集成的關(guān)鍵在于體模型向面模型的轉(zhuǎn)換,實(shí)現(xiàn)BIM與GIS在數(shù)據(jù)格式與空間位置的統(tǒng)一。具體過程如下:
首先解析RVT數(shù)據(jù)的數(shù)據(jù)庫構(gòu)成,對其中與構(gòu)筑物相關(guān)的幾何模型數(shù)據(jù)進(jìn)行提取,并獲取與幾何數(shù)據(jù)相對性的語義信息,并以幾何語義信息作為約束條件,以ElementID為構(gòu)件元素的關(guān)鍵字段標(biāo)識,關(guān)聯(lián)其幾何信息和屬性信息。
其次對過濾后的RVT模型進(jìn)行幾何轉(zhuǎn)換,即實(shí)體模型轉(zhuǎn)換為表面模型,獲取每個(gè)構(gòu)件的三維數(shù)據(jù),包括頂點(diǎn)坐標(biāo)及法線信息。
最后提取構(gòu)件的材質(zhì)信息。RVT數(shù)據(jù)中,材質(zhì)信息以獨(dú)立元素的形式進(jìn)行存儲和管理,在RVT文檔中每個(gè)材質(zhì)元素都用唯一的ID進(jìn)行標(biāo)識。通過ElementID關(guān)聯(lián)Model Elements中所包含材質(zhì)參數(shù),并從中獲取其材質(zhì)信息,包括填充圖案、顏色、渲染等信息。
RVT模型是BIM全生命周期過程中設(shè)計(jì)階段的典型數(shù)據(jù),同時(shí)在施工與運(yùn)維階段中的結(jié)構(gòu)分析、綜合碰撞檢查、造價(jià)管理及運(yùn)行管理中得到繼承,以RVT模型作為本文的BIM數(shù)據(jù)來源,具有代表性意義。RVT模型數(shù)據(jù)庫由模型元素、基準(zhǔn)元素、特定視圖元素3部分構(gòu)成,如圖2所示。
圖2 RVT模型數(shù)據(jù)庫
模型元素(model elements)中存儲了RVT模型所有的三維幾何信息及與幾何相關(guān)的語義信息描述。從操作層面上,RVT模型包含了建筑設(shè)計(jì)、建筑結(jié)構(gòu)、暖通、給排水、電氣等多方面建筑相關(guān)構(gòu)件幾何信息,從結(jié)構(gòu)層面定義了從室外到室內(nèi)各種類型的建筑及其附屬設(shè)施的構(gòu)件名稱,即語義信息。同時(shí),模型元素中的幾何構(gòu)件還包含建筑階段化信息、光熱傳導(dǎo)、標(biāo)識數(shù)據(jù)等屬性信息。因此,在對RVT模型轉(zhuǎn)換為GIS表面模型的過程中,可根據(jù)實(shí)際需求構(gòu)建幾何或語義過濾器,從而滿足不同層次的模型轉(zhuǎn)換需求。
GeometryObject基類是描述所有Model Element幾何類的基類,其子類包括GeometryElement、GeometryInstance、Curve、Edge、Face、Mesh、Point、Polyline、Profile、Solid。其中,GeometryElement是描述一個(gè)構(gòu)件幾何信息的集合,可包含嵌套層次的多個(gè)幾何結(jié)構(gòu),而GeometryInstance則多數(shù)用于表達(dá)Revit中的族文件,是布置在項(xiàng)目中的具體構(gòu)件,相當(dāng)于經(jīng)幾何變換的SymbolGoemetry,即加載到項(xiàng)目中的族文件,這二者涵蓋了RVT模型中最主要的構(gòu)件幾何信息,Solid是RVT模型中描述三維數(shù)據(jù)最主要的方法,其他的子類基本不作為獨(dú)立的構(gòu)件三維幾何信息存在。具體的幾何信息轉(zhuǎn)換為:
(1) 根據(jù)不同層次的應(yīng)用需求,構(gòu)件語義過濾器,篩選出符合要求的構(gòu)件類型。
(2) 獲取Model Elements幾何類的圖元信息。首先為避免模型轉(zhuǎn)換過程中構(gòu)件幾何信息丟失問題,RVT模型精度指定為精細(xì)模型,然后歷遍過濾后的Model Elements的Geometry,若不為空,得到Geometry-Object子類類型,獲取構(gòu)件幾何信息表達(dá)方式。
(3) 獲取頂點(diǎn)坐標(biāo)及法線向量。歷遍Geometry- Object子類類型,①若是GeometryElement,則需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,獲取可能的幾何類型,用遞歸循環(huán)函數(shù)解析其全部的幾何數(shù)據(jù);②若是Geometry Instance,需要通過GetInstance Geometry函數(shù)遞歸循環(huán)來獲取其真實(shí)的幾何數(shù)據(jù);③若是其他幾何結(jié)構(gòu),都是直接的幾何表達(dá)方式,不涉及遞歸循環(huán)處理。以Solid舉例,可直接通過Solid中的Face進(jìn)行解析,獲取三角面數(shù)據(jù),通過設(shè)置其精細(xì)程度,控制弧面的顯示效果,也可以利用Revit工具類SolidUtils來解析。
(4) 關(guān)聯(lián)材質(zhì)信息與屬性信息。在RVT模型中,只有Model Elements包含材質(zhì)信息,通過實(shí)體(solid)獲取與實(shí)體相關(guān)的所有材質(zhì)ID,根據(jù)材質(zhì)ID獲取材質(zhì)對象,與實(shí)體幾何信息關(guān)聯(lián)。ElementID作為Element唯一標(biāo)識符,可將其作為關(guān)鍵字段將Model Elements中的屬性信息與幾何信息關(guān)聯(lián)。
BIM-GIS原始模型的海量數(shù)據(jù)特征,使應(yīng)用系統(tǒng)無法提供場景實(shí)施繪制的能力。采用多細(xì)節(jié)層次(LOD)技術(shù)對BIM-GIS模型進(jìn)行多尺度表達(dá)是目前主流的可視化研究內(nèi)容,在BIM模型向GIS表面模型轉(zhuǎn)換的過程中,對其幾何結(jié)構(gòu)進(jìn)行簡化,以實(shí)現(xiàn)不同細(xì)節(jié)的幾何重構(gòu)[13]。該方法在模型可視化角度進(jìn)行了優(yōu)化,本文在此基礎(chǔ)上,采用八叉樹空間索引機(jī)制,構(gòu)建多分辨率層次模型,能夠在保證BIM建筑構(gòu)件信息幾何、語義屬性信息完整繼承表達(dá)的基礎(chǔ)上,增強(qiáng)大尺度BIM-GIS場景實(shí)時(shí)繪制能力,提高模型顯示速度。
多分辨率層次(multi-resolution hierarchy)模型,通常采用倍率的方法構(gòu)建金字塔,形成多個(gè)分辨率層次。通過構(gòu)建金字塔多分辨率模型,可為BIM-GIS可視化系統(tǒng)提供不同精度的三維數(shù)據(jù)。多分辨率層次模型采用八叉樹空間索引機(jī)制,經(jīng)遞歸劃分后,在保證模型原始精度的基礎(chǔ)上,將分割的模型體元化,以子節(jié)點(diǎn)為起點(diǎn),自下而上逐層進(jìn)行模型表面簡化重建,生成模型LOD數(shù)據(jù),從而構(gòu)建多分辨率層次模型,其流程及文件組織結(jié)構(gòu)如圖3所示。
圖3 多分辨率層次BIM-GIS數(shù)據(jù)構(gòu)建流程及文件組織結(jié)構(gòu)
在大尺度高細(xì)節(jié)三維數(shù)據(jù)可視化處理過程中,八叉樹是效果較好的數(shù)據(jù)結(jié)構(gòu)[14],能夠滿足三維視椎體剪裁算法的要求。采用規(guī)則的空間八叉樹將BIM-GIS模型數(shù)據(jù)包圍盒八等分(如圖4所示),節(jié)點(diǎn)收斂條件取決于用戶指定深度閾值或多邊形數(shù)量閾值,經(jīng)遞歸劃分后,特征復(fù)雜區(qū)域分割為較小的體元,簡單區(qū)域分割體為較大體元。
圖4 三維模型八叉樹劃分
分割后的原始精度表面模型存儲在子節(jié)點(diǎn)中,過渡節(jié)點(diǎn)則存儲逐級簡化重建的LOD數(shù)據(jù)。為提高簡化效率、保持簡化模型表面特征,文本采用模型最小Q值頂點(diǎn)對(pair contraction)收縮方法[15],判斷兩個(gè)頂點(diǎn)距離是否小于設(shè)定閾值,將小于閾值的頂點(diǎn)進(jìn)行收縮操作,依次反復(fù)迭代,直至重建的表面模型滿足簡化要求,進(jìn)而從底層到頂層逐層生成多分辨率LOD模型。同時(shí),為了實(shí)現(xiàn)紋理映射,將降低分辨率的紋理貼圖坐標(biāo)與幾何多邊形頂點(diǎn)的三維空間坐標(biāo)進(jìn)行統(tǒng)一。多分辨率層次LOD模型展示效果如圖5所示。
圖5 多分辨率層次LOD模型
在八叉樹結(jié)構(gòu)中,只有子節(jié)點(diǎn)存儲的為原始精度幾何模型,為滿足BIM-GIS模型可視化效果,過程節(jié)點(diǎn)中存儲的為經(jīng)過幾何重構(gòu)的模型,建筑構(gòu)件精細(xì)幾何形態(tài)經(jīng)過簡化會出現(xiàn)不同程度的刪減。當(dāng)觀察視點(diǎn)位于父節(jié)點(diǎn)以下、子節(jié)點(diǎn)以上時(shí),系統(tǒng)繪制的BIM-GIS模型細(xì)節(jié)丟失,在進(jìn)行建筑構(gòu)件屬性信息查詢時(shí),難免因此出現(xiàn)查詢錯(cuò)誤或失敗的情況發(fā)生。因此本文設(shè)計(jì)了一種方法,將承載屬性信息的原始精度模型進(jìn)行材質(zhì)紋理清洗,生成透明不可見,但以實(shí)體存在并繼承了BIM全部的幾何、屬性信息的模型,然后空間重疊放置于BIM-GIS場景中。由于該模型不包含材質(zhì)與紋理等圖像信息,不影響計(jì)算機(jī)模型繪制速度,可一次性裝載到三維場景中。在實(shí)際操作時(shí),通過窗口空間三維坐標(biāo)的拾取,獲取構(gòu)件ID,關(guān)聯(lián)該構(gòu)件相關(guān)的屬性信息,從而實(shí)現(xiàn)建筑構(gòu)件屬性查詢分析功能。
BIM-GIS模型中實(shí)體對象除屬性對象以外,還包括空間對象及符號對象,如圖6所示。為實(shí)現(xiàn)BIM-GIS模型數(shù)據(jù)的快速加載與前端顯示,需要對BIM-GIS模型中柵格、矢量、三維模型、材質(zhì)貼圖、屬性數(shù)據(jù)進(jìn)行一體化管理。其中三維模型及材質(zhì)貼圖作為符號對象管理,以滿足三維場景快速實(shí)時(shí)加載與顯示;空間對象幾何信息則從不同維度描述實(shí)體對象的地理空間特征,采用網(wǎng)絡(luò)索引技術(shù),在邏輯上按照空間對象的位置和大小,把該空間對象轉(zhuǎn)為兩個(gè)列的值存儲起來,在關(guān)系數(shù)據(jù)庫層次可構(gòu)建包含這兩個(gè)列和其他位置相關(guān)的列的B-Tree索引,能極大提高空間對象的聚簇效果及查詢效率。
圖6 BIM-GIS實(shí)體對象組織結(jié)構(gòu)
本文采用Autodesk提供的標(biāo)準(zhǔn)RVT模型作為試驗(yàn)數(shù)據(jù),基于語義信息將RVT模型轉(zhuǎn)換為表面模型,實(shí)現(xiàn)建筑構(gòu)件細(xì)節(jié)的無損輸出,保證了構(gòu)件幾何語義信息的完整描述。圖7(a)是轉(zhuǎn)換前的RVT原始模型,包括建筑、HVAC、管道3種構(gòu)件類型;圖7(b)為轉(zhuǎn)換完成的表面模型;圖7(c)為風(fēng)管構(gòu)件轉(zhuǎn)換完成的表面模型。對比RVT原始模型與轉(zhuǎn)換后的表面模型,本文提出的模型轉(zhuǎn)換方法能夠完整繼承RVT模型的幾何、紋理、材質(zhì)信息。然后采用深度為3的八叉樹數(shù)據(jù)結(jié)構(gòu),將原始精度表面模型逐層構(gòu)建多分辨率LOD模型,以符號的形式代替原有的矢量模型,如圖8所示。在同樣操作環(huán)境下對原始精度表面模型和多分辨層次LOD模型作比較分析試驗(yàn)(見表1),模型加載顯示效率上,多分辨率層次LOD模型要高于原始精度表面模型。
圖7 RVT模型與轉(zhuǎn)換后的表面模型對比
圖8 多分辨率層次模型-建筑
表1原始精度模型與多分辨率層次LOD模型數(shù)據(jù)加載顯示比較
模型類型模型加載時(shí)間/s加載時(shí)內(nèi)存消耗/MB漫游時(shí)內(nèi)存消耗/MB顯示幀率/FPS原始精度模型7.832.0633.6129多分辨率層次LDO模型2.37.768.3834
本文提出的基于多分辨率層次模型的BIM-GIS集成可視化方法,能夠在完整繼承BIM建筑構(gòu)件信息幾何、語義屬性信息的基礎(chǔ)上,實(shí)現(xiàn)BIM模型與GIS模型的集成;并通過對原始精度模型的處理與數(shù)據(jù)組織管理,在滿足建筑構(gòu)件屬性信息完成描述與表達(dá)的基礎(chǔ)上,提高BIM-GIS可視化效率。BIM與GIS之間并無可替代性,更傾向于一種互補(bǔ)的關(guān)系。BIM是用來整合和管理設(shè)施本身全生命周期各個(gè)階段的信息,GIS則是整合和管理設(shè)施外部環(huán)境信息,把二者信息進(jìn)行共享和互操作,以滿足查詢、空間分析及可視化的功能,是未來GIS的發(fā)展方向之一,也是BIM多維應(yīng)用的一個(gè)重要途徑。