蔡周平 吳 享 李 強 武廣臣
(1. 珠海市測繪院, 廣東 珠海 519015; 2. 沈陽順天建設集團有限公司, 遼寧 沈陽 110041;3. 廣東鴻土規劃設計有限公司, 廣東 廣州 510045)
在新一輪城鎮規劃建設的背景下,我國智慧城市規劃和建設已取得階段性成果,一些城市實現了智能規劃。然而,由于城市規劃存在重項目輕統籌現象,導致智慧城市規劃存在信息孤島、重復建設和資源浪費等突出問題[1]。隨著云計算、大數據、互聯網等新一代信息技術的迅猛發展,數據獲取、處理、計算、存儲、共享能力極大提升,為規劃信息化建設提供了強大的技術支撐[2],也為解決信息孤島、重復建設問題提供了有效方法。無論是當前新型城鎮化發展的背景,還是信息時代時空要素和流動性變化,都需要從地理空間視角去認識和構建智慧城市[1],需要利用地理信息大數據解決智慧城市規劃問題。地理信息大數據具有多樣化、體量大、快速化、價值高的特征[3],充分挖掘其價值并應用于智慧城市規劃,是當前智能城市規劃需要解決的關鍵問題之一。
城市引擎(CityEngine,CE)是近年來美國環境系統研究所(Environmental Systems Research Institute,ESRI)推出的一款基于地理信息數據建模軟件,它是以計算機生成建筑模型(Computer generated architecture,CGA)作為設計語言,通過規則對空間三維模型進行定義與描述,實現三維建模[4]。近年來,基于地理信息系統(Geographic information system,GIS)數據的CityEngine建模越來越多,在小區域建模方面,呂永來等進行了建筑物建模初探,提出單體建筑規則化建模關鍵性問題[5];葉前曉等利用二維GIS基礎數據,在CityEngine平臺進行銅陵學院三維建模,取得了較好的三維可視化效果[6];在廣域建模方面,目前CityEngine應用最多的是三維數字城市和智慧城市,陳敏捷利用CityEngine對贛州市老區進行三維建模,實現了老城區三維模型的快速生產[7];鄺躍兵基于CityEngine提出立面凹凸和頂面簡化方法,建立了快速聯動城市三維模型[8];張海燕針對當前一些三維模型屬性信息缺乏問題,提出了一種基于CityEngine的Web智慧城市建模方法,實現模型的屬性查詢、空間分析與日照分析[4]。CityEngine的建模優勢在于可充分挖掘已有地理信息數據,且生成的模型具有空間幾何特征和屬性特征,而這恰與城市規劃相吻合,比如說建筑體量調整、規劃指標計算等[9],因此,本文基于CityEngine進行智慧城市三維建模,并對部分城市規劃指標進行驗證。
2001年,帕斯卡爾米勒發明了一種突破性的程序建模技術并用于三維建筑設計,為城市建模規則化打下了基礎[10],并于2009年5月發布了第一款建模軟件CityEngine2009,后被美國環境系統研究所收購,實現對ArcGIS的完美支持。CityEngine可以利用現有的二維計算機輔助設計(Computer aided design,CAD)數據或GIS數據快速生成三維模型,實現城市規劃與設計[7]。
CityEngine采用CGA作為建模語言,其建模思想是通過定義各類規則,運用分割方法不斷精化設計模型,從而實現建筑物三維建模[11]。通過定義各類規則化組件,CityEngine實現從粗粒度到細粒度迭代建模。對于現實世界的幾何體,首先確定其幾何范圍即空間包圍盒,并以位置、坐標系統、正交矢量和尺寸矢量作為測度因子,基于坐標系統對粗模型進行拉伸、平移、旋轉與縮放,基于三維正交矢量進行幾何分割。幾何分割是CityEngine規則化建模的核心方法,對于典型建筑而言,通常規則是在平面被拉伸后進行分體、分面,生成建筑物層、面幾何體,進一步分割則實現門窗柱等配件建模,最后通過紋理貼圖和修整實現建筑物建模,其建模過程遵循“基礎框架構造、模型細節化設計、紋理貼圖”三個基本步驟[12],建模過程如圖1所示。

圖1 CityEngine建模過程
CGA規則化建模采用各類建模函數實現建模。依據不同功能,建模函數分為形狀操作、形狀屬性、內置函數、關鍵字、實用函數庫和其他信息六大類。形狀操作類函數是CGA規則的核心函數,包括幾何創建和幾何分割等9子類函數和屬性,常見的extrude、split等函數均為此類函數;形狀屬性反映當前形狀的屬性,它們像函數一樣可被讀取,其中一些可以通過set操作進行設置;內置函數返回當前對象值,并且不改變當前形狀,簡單數學函數、類型轉換函數、字符串函數均屬此類;實用函數庫是針對數學、文件、字符串、顏色等操作而設定的函數。CGA形狀建模有手動和規則化兩種方法,前者是依靠視覺手工繪制,后者是依靠精確數據建模,相比前者建模精度高,應用更廣泛。CGA規則化建模適用于城市規劃,利用現有的CAD或GIS數據可以精確確定規劃區尺度信息,利用形狀操作類函數生成三維模型,最后增加附件信息。城市規劃建模后,可有效保存CAD或GIS信息,滿足規劃指標分析、日照分析等功能,實現城市規劃智能化。
2.1.1數據準備
實驗區為遼寧石橋子站規劃區,總規劃面積5.6 km2,一期規劃1.99 km2。現有數據為該區CAD功能分區圖,格式為dxf,規劃區標志性建筑一座,已建立obj三維模型;規劃區規劃設計報告與說明;規劃區1∶10 000數字高程模型(Digital Elevation Model,DEM)和地面數字正射影像(Digital Orthophoto Map,DOM)數據。由于規劃區現有土地多為棚戶區和部分耕地林地,僅有一條規劃城市主干路,因此,紋理數據采用系統自帶紋理庫加第三方紋理庫的方式進行配賦。
2.1.2建模方法
規劃區三維建模分為數據處理、幾何建模和場景輸出三個流程。數據處理時,首先對功能區CAD數據、影像數據和DEM等多源數據在AutoCAD和ArcGIS中進行坐標套合檢驗,以實現在CityEngine中嚴密匹配,避免出現圖形不吻合現象;然后將功能分區dxf數據轉換為Shp文件,并對其進行分層,作為創建CityEngine幾何圖形基礎數據,接下來將Shp數據、影像數據和DEM統一加載到CityEngine中,完成數據導入。幾何建模基于Shp文件,根據不同分層進行分類建模,依據主次分為建筑物建模、街道建模和附屬設施建模三類,其中附屬設施采用系統或外導模型,建筑物模型層高和高度按照規劃報告數據設定。貼圖采用虛實結合的方式,對于規劃區主干路,依據實景進行拍照貼圖;對于規劃區建筑白模實施虛擬貼圖。場景輸出兼顧規劃分析需要,將模型輸出為3ws格式,完成體量分析、日照分析等規劃分析,三維規劃建模流程如圖2所示。

圖2 CGA三維規劃建模流程
2.1.3建模實現
三維場景中主要地物是各類道路和建筑物,文獻[11]按縱橫描述了道路的11種拆分,覆蓋了所有類型街道。建模中,每兩個相鄰路口的道路片段,需要進行自定義拆分。由于規劃區內沒有復雜道路,因此,將道路分為主干路、次干路和一般路三類。主干路建模采用文獻[7]的方法,將其縱向分為斑馬線、停止線、等候區、車行道、斑馬線,橫向分為左車道、中心線、右車道;次干路在主干路拆分基礎上簡化,縱向為斑馬線、車行道、斑馬線,橫向為左車道、右車道;一般路則做最簡化,不進行縱橫向拆分。拆分主要運用split函數,在道路軸對齊后,按上述規則進行拆分,以下是某段主干路縱向拆分代碼,繪制結果如圖3(a)所示。
RoadWay-->
alignScopeToAxes(y)
split(u,unitSpace,0){Crosswalk_Wid*conStart:Crosswalk
|1.0*conStart:RoadTex
|10*conStart:TurnRoadMarking
|~2:Streetsides
|10*conEnd:scaleUV(0,-1,-1)TurnRoadMarking
|1.0*conEnd:RoadTex
|Crosswalk_Wid*conEnd:Crosswalk}
建筑物三維建模是利用CGA規則編程實現建筑物高度確定、門窗定位和紋理貼圖,規劃區分為商務區、教育區、工業區、居民區和田園別墅區,因此,建立五類CGA通用大規則,在每一大類規則下再建立若干類小規則,以實現代碼重用,提高效率。對于單體建筑物,建模時根據規劃將設計模型拆分分析,對模型每個部件進行重新定義,通過由粗到精的分割的方法不斷完善三維模型。根據資料數據摘錄的建筑物高度信息,運用extrude函數對建筑物進行高度拉伸,接下來運用comp函數進行模型分面,運用split函數在Y軸和Z軸分別分割,實現層和門窗的建模,最后運用屋頂函數對建筑物頂面進行設計,生成建筑物空白模型。紋理貼圖運用texture函數,其中運用到定位函數setupProjection和projectUV。對于規劃區已有的建筑物,將實際影像剪切糾正后進行紋理貼圖,對于新規劃建筑物,采用系統和外導的紋理數據進行貼圖。對規劃區已有的一棟地標性建筑,進行整體導入。道路和建筑物建模完成后,導入樹木、垃圾桶等附屬設施,完成三維建模。城市規劃三維模型整體效果如圖3(b)所示。

圖3 城市規劃三維模型
2.2.1建筑體量調整
功能區和建筑物規劃設計是在地形圖中進行的,無法對周邊地形和環境進行可視化,因此,規劃建筑的體量適宜性達不到最優化。利用城市規劃三維模型,對建筑體量進行三類調整,第一類是對建筑高度進行調整,對山丘周邊12座建筑整體高度降低20%,遠離山丘的主干路的11座建筑高度升高25%,并調整其他22座建筑高度,以適應整體環境。第二類是對建筑屋頂進行調整,6層以下建筑全設屋頂,選擇CityEngine的roofGable、roofHip、roofPyramid、roofShed其一作為屋頂類型。第三類調整是對建筑紋理進行調整,沿街建筑紋理以大理石背景為主,色彩以灰色調為主,以營造素雅、和諧的規劃環境;居民小區以淡黃淺棕為主色調,突出安靜、祥和氛圍。通過動態體量調整,實現城市與自然相融合相統一,建筑體量達到最佳效果。
2.2.2指標分析
城市規劃三維模型可進行建筑面積、容積率、綠地率等指標分析,并進行動態調整。此處以容積率為例,進行其符合性分析。在CGA建模前已對地塊定義了report標注,因此,建模后CityEngine可即時輸出設計方案相關報告參數[13]。運用report輸出規劃區各功能區面積及其范圍內建筑面積,計算商務區、教育區、工業區、居民區和田園別墅區的容積率,其中商務區、教育區容積率上限閾值為5,工業區、居民區和田園別墅區容積率上限閾值為3,最終得各功能區容積率指標如圖4所示。從圖4(a)可得商務區容積率為5.2,超出閾值0.2,其他四區均不超限。容積率整體分布見圖4(b),可知田園別墅區擁有最好的容積率。通過統計容積率,對規劃模型進一步調整,使商務區容積率小于5。

圖4 容積率分析
2.2.3日照分析
規劃日照分析多采用軟件分析的方法,然而在超高建筑物密集區,建筑物之間的遮擋判斷是一個難以解決的問題。基于CityEngine的城市規劃三維模型導出為3WS后,可進行日照輔助分析。首先在三維模型中高亮選擇待分析建筑,然后選擇時區、月份和時間,利用陽光投射直接陰影方法,通過拉動“陽光”滑塊目視建筑物被遮擋情況,實現概略估計日照時間。圖5為某樓在2020年12月21日(冬至日)上午9:10日照情形,根據目視觀察,發現該樓15層陽面上午8:20~11:48有連續日光照射,時間長達3 h 28 min,滿足冬至日不少于2 h的規劃要求。

圖5 日照輔助分析
基于已有二維數據,本文運用CityEngine進行了規劃區三維建模,并進行了規劃輔助分析。實驗表明,CityEngine城市規劃三維模型具有良好的動態性和可編輯性,可進行建筑體量調整、指標分析、日照分析等規劃應用,得到定性定量評價結果,具有良好的輔助功能和適普性。CityEngine城市規劃三維模型適宜于規劃方案調整輔助與決策,尤其是在建筑體量調整和日照遮擋判斷方面,可提供定性判斷信息。規劃三維模型保留GIS圖屬信息,可作為智慧城市的虛擬模型,并保留了良好的擴展接口,后期的研究應結合建筑信息建模技術,將地理信息和建筑信息模型結合起來,進行更多類型分析與應用,同時擴大CityEngine建模應用范圍,統一建設標準,以徹底解決信息孤島、重復建設等問題。