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