(北京科技大學(xué) 土木與資源工程學(xué)院,北京 100083)
建筑信息模型(BIM)和地理信息系統(tǒng)(GIS)都是工程建設(shè)領(lǐng)域廣泛應(yīng)用的信息技術(shù)。BIM以三維數(shù)字技術(shù)為基礎(chǔ),集成了建筑工程項(xiàng)目各種相關(guān)信息的數(shù)據(jù)模型,是對(duì)工程項(xiàng)目設(shè)施實(shí)體與功能特性的數(shù)字化表達(dá)。其空間分析能力較為微觀,并且BIM模型設(shè)計(jì)軟件支持的空間范圍小,無法承載海量大范圍的地形數(shù)據(jù),也不具備對(duì)地理信息進(jìn)行分析和建筑周邊環(huán)境整體展示的功能。
GIS是一種具有空間專業(yè)形式的數(shù)據(jù)管理系統(tǒng),且三維GIS技術(shù)突破了傳統(tǒng)二維平面中空間信息可視化能力的局限,使得建筑物和地形環(huán)境的空間結(jié)構(gòu)與相互關(guān)系得到展示,并且可面向從微觀到宏觀的海量三維地理空間數(shù)據(jù)進(jìn)行存儲(chǔ)。但是對(duì)于微觀模型的展示則是其短板,它無法創(chuàng)建精細(xì)化的建筑模型、模型信息粗略。
因此,將BIM和GIS進(jìn)行優(yōu)勢(shì)互補(bǔ)有效地結(jié)合,可以同時(shí)展示微觀與宏觀數(shù)據(jù),將為工程可視化及管理提供更豐富、全面的信息。
國(guó)內(nèi)外的專家、學(xué)者針對(duì)BIM與GIS技術(shù)的結(jié)合已經(jīng)做了一些研究[1-12],主要分為:基于軟件平臺(tái)的結(jié)合、基于IFC與CityGML標(biāo)準(zhǔn)[6-7]的結(jié)合。Sam Amirebrahimi[1]等人提出一種新的數(shù)據(jù)模型地理標(biāo)記語言(GML)用于對(duì)BIM與GIS集成的支持; 中國(guó)鐵路總公司研究人員運(yùn)用組件式GIS開發(fā)技術(shù)和BIM的概念,通過ArcGIS平臺(tái)開發(fā)了基于GIS和BIM的鐵路信號(hào)設(shè)備數(shù)據(jù)管理及維護(hù)系統(tǒng)[2]; 國(guó)外學(xué)者Zhu等人提出了一個(gè)基于工程基礎(chǔ)類IFC的BIM與GIS整合框架,實(shí)現(xiàn)了幾何信息的集成[3]。
本研究基于CityGML平臺(tái),整合了BIM模型和GIS數(shù)據(jù),實(shí)現(xiàn)了微觀模型與宏觀場(chǎng)景、數(shù)據(jù)的結(jié)合; 通過軟件二次開發(fā)、Web和數(shù)據(jù)庫(kù)技術(shù),設(shè)計(jì)并開發(fā)了基于BIM與GIS的工程項(xiàng)目的智慧管理系統(tǒng),實(shí)現(xiàn)了BIM模型信息查看、GIS模型進(jìn)度顯示、工程進(jìn)度展示等功能。
本研究的技術(shù)路線圖如圖1所示,主要關(guān)鍵技術(shù)包括數(shù)據(jù)融合、數(shù)據(jù)庫(kù)設(shè)計(jì)、網(wǎng)絡(luò)平臺(tái)的開發(fā)設(shè)計(jì)。
圖1 技術(shù)路線圖
2.1.1 BIM建模
BIM模型使用Revit軟件建模,該軟件支持建筑、結(jié)構(gòu)、MEP的設(shè)計(jì)與建模,提供了一個(gè)開放的圖形系統(tǒng),族是其所有建模操作的基礎(chǔ),可以通過使用具有幾何、材質(zhì)、運(yùn)維等信息的族文件實(shí)現(xiàn)快速、準(zhǔn)確地參數(shù)化建模。
本研究針對(duì)房建工程中存在一些異形幕墻、特殊的門窗構(gòu)件等情況,分別采用了內(nèi)建體量、新建構(gòu)件族等方式進(jìn)行建模,圖2所示為其中一個(gè)房建工程的BIM模型截圖。
圖2 建筑局部模型
2.1.2 GIS建模
GIS模型主要是一些道路的shp文件,用于展現(xiàn)道路的具體形狀、長(zhǎng)度、路寬等信息。本研究采用ArcGIS軟件進(jìn)行GIS模型的建模,該軟件可以用于創(chuàng)建、編輯、瀏覽和分析地理數(shù)據(jù),并且可以進(jìn)行空間數(shù)據(jù)庫(kù)內(nèi)容的管理。
使用ArcGIS軟件建模,首先需要將dwg格式的道路設(shè)計(jì)文件導(dǎo)入ArcGIS軟件,并設(shè)置相應(yīng)的坐標(biāo)系統(tǒng)以及精確的坐標(biāo)信息; 然后提取dwg文件里的線數(shù)據(jù),將其轉(zhuǎn)化為shp線數(shù)據(jù),再使用線生成面工具生成shp面數(shù)據(jù); 最后根據(jù)一定規(guī)則對(duì)shp文件進(jìn)行分割和編號(hào)。圖3是關(guān)于道路標(biāo)記后顯示的道路網(wǎng)絡(luò)圖。
圖3 標(biāo)記后的道路網(wǎng)絡(luò)進(jìn)度GIS模型
2.1.3 數(shù)據(jù)融合
圖4所示是實(shí)現(xiàn)BIM與GIS融合的算法路線。
圖4 算法路線
(1)通過FME實(shí)現(xiàn)幾何重構(gòu)算法:
圖5 扁平化處理
圖6 基于CityGML的數(shù)據(jù)庫(kù)設(shè)計(jì)圖
BIM數(shù)據(jù)通過FME進(jìn)行數(shù)據(jù)轉(zhuǎn)換成中間體,將其轉(zhuǎn)化成CityGML中間體模型數(shù)據(jù)。首先創(chuàng)建兩個(gè)獨(dú)立的BIM讀取器。移除不必要的中間要素,第一個(gè)讀取器讀取所有的BIM要素和填充要素查找表,第二個(gè)讀取器用于數(shù)據(jù)轉(zhuǎn)化。FME依次運(yùn)行讀取器,在運(yùn)行第二個(gè)讀取器之前,第一個(gè)讀取器要先完成運(yùn)行,并完全填充查找表,其BIM讀取器讀取所有信息并填充查找表。在對(duì)房間進(jìn)行數(shù)據(jù)轉(zhuǎn)化過程中,讀取器讀入數(shù)據(jù),將幾何轉(zhuǎn)換成簡(jiǎn)單的面對(duì)象,寫出器寫出為CityGML格式的Window。
由于將復(fù)雜的BIM體幾何對(duì)象轉(zhuǎn)換成多面對(duì)象對(duì)所有要素來說具有共性,所以將其放在自定義的變換器中。BIM實(shí)體幾何通過Geometry Part Extractor從屬性集分離,然后使用GeometryCoercer轉(zhuǎn)換為曲面。為了扁平化多級(jí)幾何對(duì)象,我們需要用扁平化全部對(duì)象來解聚集,然后重新聚合成多面,如圖5所示。
(2)坐標(biāo)匹配、布爾運(yùn)算等算法:
通過GPS獲取施工現(xiàn)場(chǎng)的具體三維坐標(biāo)(X,Y,Z)值,將坐標(biāo)值輸入到FME處理的BIM模型中,獲取中間體。同時(shí),將坐標(biāo)值輸入到GIS數(shù)據(jù)文件中。將獲取到的GIS數(shù)據(jù)進(jìn)行FME轉(zhuǎn)化后和中間體進(jìn)行坐標(biāo)匹配、布爾運(yùn)算等,最后融合成CityGML模型。
圖6所示為本研究所設(shè)計(jì)的多源數(shù)據(jù)的數(shù)據(jù)庫(kù)總覽圖。
工程多源數(shù)據(jù)的數(shù)據(jù)庫(kù)建庫(kù)設(shè)計(jì)涉及到很多方面:多種格式,多種信息,多種類型,其中基礎(chǔ)數(shù)據(jù)包含地形、地質(zhì)、交通、建筑設(shè)施、社會(huì)經(jīng)濟(jì)等方面,施工數(shù)據(jù)包括施工信息、變更文件、進(jìn)度信息、狀態(tài)信息等方面,設(shè)計(jì)數(shù)據(jù)包含規(guī)劃設(shè)計(jì)、建筑設(shè)計(jì)、施工設(shè)計(jì)等方面,這三方面的數(shù)據(jù)是構(gòu)成基本的屬性數(shù)據(jù)部分。二維底層數(shù)據(jù)是通過ArcGIS進(jìn)行處理獲取到的。除了前面設(shè)計(jì)的幾種重要數(shù)據(jù)外,其它的工程屬性數(shù)據(jù)是管理工程進(jìn)度功能不可或缺的數(shù)據(jù)。它們和BIM三維模型數(shù)據(jù)存儲(chǔ)在oracle數(shù)據(jù)庫(kù)中,組成了一個(gè)完整的空間數(shù)據(jù)庫(kù)。如下為CityGML數(shù)據(jù)入庫(kù)方法。
(1)將對(duì)象映射到表
一般來說,一個(gè)或多個(gè)類的UML圖映射到一個(gè)表; 表的名稱與類的名稱相對(duì)應(yīng)(可以添加一個(gè)表示一個(gè)抽象類的下劃線)。按照UML圖和表1所示關(guān)系進(jìn)行數(shù)據(jù)映射處理,即建表。類的標(biāo)量屬性成為具有相應(yīng)名稱的相應(yīng)表的列名。
屬性的類型是根據(jù)相應(yīng)數(shù)據(jù)庫(kù)(Oracle)的數(shù)據(jù)類型(見表1)。特別說明是,日期數(shù)據(jù)類型的某些屬性映射到時(shí)區(qū)的時(shí)間戳,這主要是允許存儲(chǔ)更精確的時(shí)間值。
表1 數(shù)據(jù)類型映射
UMLOracleString,anyURIVARCHAR2,CLOBIntegerNUMBERDouble,gml:LengthTypeBINARY_DOUBLEBooleanNUMBER(1,0)DateDATE,TIMESTAMP WITH TIME ZONEPrimitiveType(Color,TransformationMatrix,CodeType etc.)VARCHAR2EnumerationVARCHAR2GML Geometry, textureCoordinatesSDO_GEOMETRYGML RectifiedGridCoverageSDO_GEORASTER & SDO_RASTERTexture(only reference of type anyURI in CityGML)BLOB
(2)對(duì)象的從屬聲明
在(元數(shù)據(jù))表類OBJECTCLASS,該表管理模式下的所有類的名稱(CLASSNAME屬性)。子類和父類的關(guān)系是通過主外鍵關(guān)系來維持的,即子類中屬性SUPERCLASS_ID作為父類ID的外鍵等其它形式的主外鍵維持關(guān)系(見表2)。
表2 父類和子類的主外鍵關(guān)系對(duì)應(yīng)表(節(jié)選)
IDCLASSNAMESUPERCLASS_ID0Undefined1_GML2_Feature13_CityObject24LandUse35GenericCityObject310_WaterBoundarySurface311WaterSurface1012WaterGroundSurface1013WaterClosureSurface1014ReliefFeature315_ReliefComponent316TINRelief1517MassPointRelief1518BreaklineRelief1519RasterRelief1520_Site321CityFurniture322_TransportationObject323CityObjectGroup324_AbstractBuilding2025BuildingPart2426Building2427BuildingInstallation328IntBuildingInstallation329_BuildingBoundarySurface330BuildingCeilingSurface2931InteriorBuildingWallSurface2932BuildingFloorSurface2933BuildingRoofSurface2934BuildingWallSurface2935BuildingGroundSurface2936BuildingClosureSurface2937_BuildingOpening3
這個(gè)表OBJECTCLASS是用來有效地確定歸屬于父類表中的類。此外,表CITYOBJECT包含屬性O(shè)BJECTCLASS_ID,這個(gè)屬性鍵指相應(yīng)的表OBJECTCLASS。這種機(jī)制也被其他表采用,用于存儲(chǔ)不同的CityGML要素,比如THEMATIC_SURFACE(如建筑物的特征不同的邊界曲面)或者BUILDING_INSTALLATION(外部或內(nèi)部)等。
(3)由于CityGML數(shù)據(jù)模型是幾何拓?fù)淠P?、外觀模型、專題模型的十一組模型等數(shù)據(jù)模型組成的復(fù)雜數(shù)據(jù)模型,在此僅列出建筑模型數(shù)據(jù),如圖7~9所示。
圖7 數(shù)據(jù)庫(kù)建表
圖8 寶蓮廣場(chǎng)數(shù)據(jù)1(部分節(jié)選)
圖9 寶蓮廣場(chǎng)數(shù)據(jù)2(部分節(jié)選)
本研究采用基于B/S架構(gòu)的網(wǎng)絡(luò)設(shè)計(jì),采用三層MVC架構(gòu),View層采用的javaScript進(jìn)行數(shù)據(jù)的動(dòng)態(tài)操作,HTML用于靜態(tài)頁面展示,CSS用于樣式控制; 平臺(tái)展示層使用的是TerraExplorer瀏覽器框架,這是可以按照需要使用API進(jìn)行二次開發(fā)的瀏覽器,可以多樣化滿足客戶需要。Controller控制層使用asp.net和C#進(jìn)行操作,可以將視圖層和模型層進(jìn)行數(shù)據(jù)交換和視圖展示。Model模型層是連接數(shù)據(jù)庫(kù)的重要通道,可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。除了基本的網(wǎng)絡(luò)框架技術(shù)外,還需要ArcEngine和空間數(shù)據(jù)庫(kù)等技術(shù)。
2.3.1 遙感影像處理和DEM數(shù)據(jù)建模
基礎(chǔ)數(shù)據(jù)處理是實(shí)現(xiàn)網(wǎng)絡(luò)化平臺(tái)的基礎(chǔ)工作,對(duì)于實(shí)現(xiàn)BIM與GIS的數(shù)據(jù)融合的驗(yàn)證以及市政工程網(wǎng)絡(luò)化進(jìn)度管理都很重要。
數(shù)據(jù)處理主要分成三個(gè)部分:
(1)遙感數(shù)據(jù)處理。遙感影像數(shù)據(jù)的多波段融合和校準(zhǔn)處理后,才可以是作為底圖應(yīng)用的,加載的是遙感影像圖,可以清晰地顯示各個(gè)工程項(xiàng)目的大概樣貌,進(jìn)行后期處理后,可以進(jìn)行三維漫游、施工進(jìn)度可視化等。使用Photoshop或者ArcGIS來進(jìn)行影像色彩處理,通過ERDAS IMAGINE或者ENVI等處理工具來進(jìn)行波段組合、數(shù)據(jù)融合、數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)拼接、正射糾正等。
(2)DEM數(shù)據(jù)建模。通過CAD等施工數(shù)據(jù)等轉(zhuǎn)化而來的DEM數(shù)據(jù)是作為三維遙感影像數(shù)據(jù)的又一重要要素。在原始DWG圖中補(bǔ)充繪制等高線,利用CASS對(duì)等高線或高程點(diǎn)數(shù)據(jù)屬性對(duì)照進(jìn)行修改,完成DWG到Shp的轉(zhuǎn)化工作,使用ArcMap生成tif格式的DEM數(shù)據(jù)。
(3)遙感影像與DEM融合。將多源數(shù)據(jù)融合提高數(shù)據(jù)的利用率,并作為工程進(jìn)度管理的底圖使用,便于工程空間分布大致位置確定,用于CityGML數(shù)據(jù),GIS數(shù)據(jù)等在影像圖上的定位等。
最后將其與遙感數(shù)據(jù)進(jìn)行處理具有三維效果的遙感影像數(shù)據(jù)如圖10所示。
圖10 三維遙感影像圖
2.3.2 基于CityGML模型的三維場(chǎng)景漫游
對(duì)于道路工程和房建工程可以預(yù)設(shè)漫游路徑進(jìn)行自動(dòng)導(dǎo)航; 也可以手動(dòng)導(dǎo)航進(jìn)行預(yù)覽施工現(xiàn)場(chǎng),對(duì)進(jìn)度進(jìn)行管理。以下是實(shí)現(xiàn)部分代碼:
function FlytoObject(ItemName){var obj=document.getElementById("TE"); var IInformationTree=obj.interface("IInformation Tree5″); var ItemID=IInformationTree.FindItem("wgs84\房建工程\"+ItemName+"\"+ItemName); var IPlane=obj.interface("IPlane5″); IPlane.FlyToObject(IInformationTree.GetTerraObjectID(ItemID), 18); }
2.3.3 基于BIM與GIS的道路進(jìn)度模型控制
二維道路的進(jìn)度控制是通過離散化線狀道路進(jìn)行分段標(biāo)記顯示,來實(shí)現(xiàn)進(jìn)度控制管理的。以下是部分實(shí)現(xiàn)代碼:
cmd.CommandText=@"select Color from qjProcedureType where ProcedureID="+i.ToString(); //根據(jù)狀態(tài)ID獲取顏色編碼string ProName=cmd.ExecuteScalar().ToString().Trim(); string value=ID.ToString()+"-"+ProName; ClientScript.RegisterArrayDeclaration("arrayColor","′"+value+"′"); for(var i=0; i 圖11 數(shù)據(jù)融合之后的整體視圖 圖12 數(shù)據(jù)融合之后的局部視圖 該案例是一個(gè)BIM與GIS結(jié)合的工程項(xiàng)目群智慧管理系統(tǒng),為市政BT項(xiàng)目建設(shè)全周期提供輔助決策及增值服務(wù)。該系統(tǒng)探索了BIM與GIS的結(jié)合、三維可視化及網(wǎng)絡(luò)技術(shù)在市政BT項(xiàng)目建設(shè)管理中的可行性及應(yīng)用,以下是系統(tǒng)的部分關(guān)鍵內(nèi)容。 圖11和圖12顯示了BIM與GIS融合成的CityGML模型加載顯示效果,通過融合后可以與二維GIS數(shù)據(jù)很好地進(jìn)行兼容。根據(jù)需求,加載不同的LOD層,其加載速度明顯要比單純使用BIM模型數(shù)據(jù)有優(yōu)勢(shì)。 圖13是整個(gè)工程的道路網(wǎng)絡(luò)總圖,標(biāo)記后的道路顯示了不同階段的進(jìn)度完成情況。其中紅色表示未完成部分,綠色表示已完成部分。 圖13 道路網(wǎng)絡(luò)模型總圖 圖14是相關(guān)道路的完成量,未完成量以及總里程等具體數(shù)據(jù)信息和可視化的道路情況。 圖14 道路進(jìn)度展示 除了在三維視圖里顯示進(jìn)度之外,還可以通過曲線統(tǒng)計(jì)圖和進(jìn)度統(tǒng)計(jì)表來補(bǔ)充說明進(jìn)度情況,如圖15所示。 圖15 產(chǎn)值統(tǒng)計(jì)圖與進(jìn)度統(tǒng)計(jì)表 在工程質(zhì)量管理模塊中,可以選擇查看相應(yīng)的工程質(zhì)量信息,如圖16所示。 圖16 工程質(zhì)量資料查看頁面 數(shù)據(jù)錄入模塊,可以對(duì)工程進(jìn)度、工程質(zhì)量、工程計(jì)量和安全管理5個(gè)模塊的數(shù)據(jù)通過錄入界面存進(jìn)服務(wù)器數(shù)據(jù)庫(kù)中,并分別顯示在對(duì)應(yīng)的5個(gè)模塊當(dāng)中。圖17是對(duì)工程產(chǎn)值中的項(xiàng)目名稱,日期,施工項(xiàng)目部和計(jì)劃產(chǎn)量等數(shù)據(jù)錄入。 圖17 計(jì)劃完成產(chǎn)值數(shù)據(jù)錄入 本文基于CityGML完成BIM與GIS數(shù)據(jù)融合,實(shí)現(xiàn)微觀與宏觀場(chǎng)景結(jié)合,形成的CityGML模型檢索加載速度快,兼容性更好,同時(shí)論述了多源數(shù)據(jù)融合方法,將多種格式、多種信息集成為數(shù)據(jù)庫(kù),設(shè)計(jì)并開發(fā)了結(jié)合BIM與GIS的城市工程項(xiàng)目智慧管理系統(tǒng),彌補(bǔ)了BIM與GIS數(shù)據(jù)各自在工程管理上的不足,實(shí)現(xiàn)了圖層控制、進(jìn)度管理、質(zhì)量管理、工程計(jì)量、安全管理、數(shù)據(jù)錄入等功能,為工程項(xiàng)目提供了可視化、數(shù)字化、網(wǎng)絡(luò)化的管理工具,為城市工程智慧管理提供參考。 本系統(tǒng)基本實(shí)現(xiàn)了城市工程網(wǎng)絡(luò)化和可視化管理,在基于BIM與GIS技術(shù)的CityGML數(shù)據(jù)模型的細(xì)節(jié)層次渲染,內(nèi)部精細(xì)化展示等方面有待進(jìn)一步探索。城市工程智慧管理對(duì)于促進(jìn)工作效率、提升工作質(zhì)量、增進(jìn)工作交流發(fā)揮著重大作用,其在大型工程項(xiàng)目群建設(shè)中的應(yīng)用與推廣,必將會(huì)加快我國(guó)建筑行業(yè)的全面發(fā)展,實(shí)現(xiàn)我國(guó)建筑業(yè)信息化、智能化。3 研究案例
3.1 數(shù)據(jù)融合
3.2 GIS模型進(jìn)度顯示
3.3 質(zhì)量管理
3.4 數(shù)據(jù)錄入
4 結(jié)論與展望