摘 要:我們基于CityEngine的三維設計平臺,以貴州大學北校區和新校區為例,利用全站儀采集的校園地形數據,嘗試利用CityEngine對校園進行三維建模、與ArcGIS完美的結合,大大提高三維建模的效率[4],為用戶提供在線瀏覽的三維虛擬校園。
關鍵詞:CityEngine ArcGIS;三維建模;虛擬校園
0 引言
隨著“數字地球”、“數字中國”以及“數字城市”等概念的提出、研究和逐步實現,“數字校園”成為大高校的研究熱點之一[2],旨在將三維可視化技術,虛擬現實技術深入應用到校園領域。三維虛擬數字校園是數字化校園的基礎,能夠實現對校園設施的有效管理和資源合理配置,提高學校的辦事效率,為教育教學管理、學校對位宣傳等提供了一個智能化平臺[3]。
三維建模技術是將空間地理數據從二維形式變換為以三維立體的形式顯示,而三維建模技術是建立虛擬現實世界的基礎,通過建立三維模型,將設計圖底圖三維化,直觀形象的展示規劃場景,較真實的反映現實世界。作為初次嘗試,我們僅實現三維立體的校園展示。
1 開發平臺的選取以及系統設計流程
模型的建立是基于CityEngine結合ArcGIS以及autoCAD 2010,以C#為編程語言為設計的三維數字校園系統。從數據采集、處理、系統、設計到開發的步驟層層推進,處理階段及實現的功能如下:
(1)數據的采集:Google衛星地圖數據、測量數據、校園實景信息。
(2)數據處理:AutoCAD,Photoshop處理 CityEngine建模階段:將CAD地形數據轉換ShapeFile格式數據,在Arcmap中進行整飾建立圖層集并進行矢量化生成新校區二維平面圖。
(3)數據庫建立:首先利用ArcCatlog建立新校區地理數據庫,并建立要素類、要素。在ArcMap中查看實測的CAD數據和將之實地對比,進行適當的編輯修改。比如道路的圓滑程度,樓房的邊角處的處理。
(4)系統實現的功能:三維顯示、信息顯示、地圖控制顯示、三維場景輸出。
2 校園三維建模
2.1 建模軟件的選取
常見的三維建模軟件有:3DS Max,Maya,CAD等。因CityEngine對GIS數據的完美支持,對已有的基礎GIS數據不需轉換即可迅速實現三維建模,減少了系統再投資的成本,也縮短了三維GIS系統的建設周期[1],處理模型與地形的關系以及動態調整模型的功能十分便利和智能,因而建模過程中選取CityEngine軟件。
2.2 數據的采集
2.2.1 地理數據的采集
常見的數據獲取方式有以下幾種:
低空飛行遙感:特點是在于對地觀測過程中是最廉價、最普遍、最易獲得的平臺。
地圖掃描:對地圖進行數字化獲得數據信息。
直接測量:通過測量獲得數據,特點是獲取精度高。現勢性較強,只是工作量比較大。
遙感測量:特點是范圍大,獲取速度快,但受進度限制。
2.2.2 紋理數據采集
地面紋理通過在Google Earth中截圖獲得。房屋、道路,井蓋,自動售水機等小品模型的紋理通過實地拍攝獲得,在photoshop中進行校正,壓縮等處理[3],供建模貼圖使用。
2.3 模型的建立
(1)在ArcMap中加載CAD數據,導出范圍為shapefile文件。
(2)矢量化。對各要素進行編輯,實地觀察對比后進行適當修改,對二維區域添加行道數和路燈以及井蓋等獨立點要素。以獲得二維效果圖。
(3)在CityEngine分別創建一個工程文件、一個場景文件和一個CGA規則文件。
(4)導入數據(地理數據庫文件.gdb),并設置坐標系。導入成功后效果如圖所示。
(5)拉伸建模
創建建模規則,如下:
attr groundfloor_height = x //x是地面一樓的高度
attr floor_height = x //x是其他樓層的高度
attr tile_width = x //x是將樓面按塊劃分的寬度
attr height=x //x是樓高
attr wallColor = “#fefefe” //墻面顏色
定義的規則放在CGA規則中,在CGA代碼編輯器最前面,這些屬性將顯示在屬性查看器(Inspector)中,可通過屬性查看器修改這些屬性。
(6)構建的窗戶規則Window_asset = “facades/window.obj”,但是我這里沒有窗戶的obj模型,最后窗戶顯示的是未定義。
(7)對shape使用height中定義的高度進行拉伸,并命名為Building
Lot -->extrude(height)Building
(8)通過應用comp()-->CGA的一個規則函數,將Building分解為多個面,生成了正面(FrontFacade)、多個側面(SideFacade)和一個頂面(Roof)Building-->comp(f){ front:FrontFacade | side:SideFacade | top:Roof} 如下圖:
(9)分解完成后,對面進行外觀造型。典型的外觀造型流程為:①將面分解為樓層(Floors)。②將樓層分解為塊(Tile)。每一塊通常由墻面和窗口構成。
3 三維數字校園系統
系統界面分為二維窗口、三維窗口、圖層控制窗口和工具欄4個部分。
三維視圖基本功能除了基本的放大、縮小等功能,還具有如下功能:
(1)場景輸入:用戶在瀏覽三維場景時,如果對某個區域或建筑感興趣,可通過控件SceneControl的GetScreenShot()對屏幕進行抓取實現的場景輸出功能,將感興趣的場景輸出[3]。
(2)校園瀏覽:通過該系統,用戶能夠瀏覽校園的全局或者局部景觀,尤其是三維校園景觀,給用戶如同漫步在真實的校園環境中的感受,系統界面友好,圖像瀏覽暢通。可以通過Layers工具控制圖層顯示與否。
(3)校園查詢:該系統提供了豐富的查詢功能。例如,你對圖書館感興趣,鼠標點擊圖書館,就可查看到關于圖書館的樓層、樓層高度以及每一層放的書籍類等等信息。
(4)地圖便簽:本系統實現了對定點地物進行標注的想法,便于用戶在指定位置標明自己的建議和看法,增強用戶體驗并能提高管理員的決策管理系統。
4 結論與展望
CityEngine基于規則的建模方法,能夠充分利用現有的GIS數據,將大場景的二維數據快遞、批量構建三維模型,減少人工干預,縮短建模周期,對建模效果可以快速有效的調整,且可以充分利用ArcGIS的三維分析功能對生成的模型進行量化分析。基于CityEngine參數化建模技術[1],創建了符合貴州大學實際情況的規則,實現了校園三維虛擬場景的建立。
參考文獻
[1]張暉,劉超,李妍,等.基于CityEngine 的建筑物三維建模技術研究[J].測繪通報,2014,(11):108-112.
[2]朱安峰,王海鷹,高金頂.基于CityEngine 的三維數字校園系統[J].計算機系統應用,2015,24(2):112-115.
[3]包振虎,劉濤,張志華.基于ArcGIS Engine的三維數字校園的設計與實現[J].地理信息世界,2013,20(6):66-71.
[4]祁向前,喬輝.基于CityEngine數字校園建筑物三維建模研究[J].山西建筑,2016,42(2):255-257.
(作者單位:貴陽市貴州大學資源與環境工程學院地信141班)