999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CityEngine的南灣湖三維建模

2018-04-29 00:00:00王溢張皓然馬瑞雪施新程
河南科技 2018年1期

摘 要:本文利用三維技術對信陽市南灣湖風景區的建筑、景點等地物生成直觀的地理圖形數據,使人們能直觀地了解內部景區情況。將CityEngine與Arcgis數據結合,并運用CGA規則進行批量化建模,運用SketchUp進行精細建模。但在建筑不規則且復雜的景區,CityEngine并不適用,應使用處理更精細的軟件。

關鍵詞:三維GIS;數字城市;三維建模

中圖分類號:P228;P208 文獻標識碼:A 文章編號:1003-5168(2018)01-0030-04

3D Modeling of South Lake based on CityEngine

WANG Yi ZHANG Haoran MA Ruixue SHI Xincheng

(College of Geographical Sciences, Xinyang Normal University,Xinyang Henan 464000)

Abstract: In this paper, using 3D technology of Nanwan Lake Scenic Area in Xinyang city building, attractions, features such as generating geographic data directly, so that people can intuitively understand, see inside the scenic spots of CityEngine and Arcgis data. Using the CGA rules for batch modeling, and using Sketchup fine modeling. But in the irregular building and the scenic CityEngine complex is not suitable, should use more sophisticated software.

Keywords: 3D GIS;digital city;3D modeling

1 研究背景和研究意義

隨著計算機、遙感技術、GIS技術等的發展,三維建模技術開始逐步發展起來,并被廣泛地運用于城市設計與規劃、管網設計和數字城市等各種領域,可以讓人們更好地看到立體的現實世界。三維模型是建立現實世界虛擬化三維場景模型的基礎,運用計算機圖像處理設計,將地理空間數據從傳統以二維平面圖的表達方式轉換為三維立體的方式顯示,可以更真實、形象地顯示現實世界[1]。

1.1 研究背景

智慧城市的目標在于幫助社區解決棘手問題,例如,緩解交通擁堵、打擊違法犯罪、促進經濟增長、控制氣候變化的影響及改善城市服務水平。從根本上講,智慧城市愿景是指引智慧城市建設的根本前提,其決定了智慧城市的戰略目標,進而影響智慧城市建設中的人力安排與資源配置[2]。提高旅游競爭力是智慧旅游城市的核心目標,我國有北京、武漢、成都等12個智慧旅游試點城市[3]。

1.2 研究意義

本文以信陽市南灣湖風景區為例。南灣湖作為信陽市的著名景點,始建于南北朝年間,距今已有1 500多年的歷史。湖上有黑龍潭、白龍潭。南灣湖內島嶼眾多,形態各異,錯落有致地散布在碧青的湖中,鳥島處處見鳥影,每年有十萬只候鳥在此繁衍,但至今卻沒有三維技術方面的介紹和宣傳。針對南灣湖,可以利用三維建模技術對建筑、景點等進行直觀展示,把南灣湖內部景點與島嶼位置的信息組織起來,形成直觀的地理圖形數據,進行系統分析,讓人們能夠更直觀地了解南灣湖內部景點情況,實現服務最優化。

本文主要在CityEngine平臺下進行建模,通過調用GIS中的屬性數據,進行快速批量的建模,這種方法不僅充分利用了GIS的已有數據,提高了三維建模效率,而且可以將建筑物三維模型與ArcGIS進行無縫集成,有利于充分利用ArcGIS的三維空間分析功能。

2 三維建模的建立

2.1 三維建模流程

本文選取河南省信陽市浉河區南灣湖風景區的茶島為研究區域,該區域位于東經114°06',北緯32°125'的信陽市西南5km,該區域多以水體、樹木為主。應用CityEngine實行三維建模的流程如圖1所示。

2.2 城市建模數據準備與處理

本文所需的數據是包括信陽市南灣湖矢量化數據、遙感影像圖數據和實景拍攝數據。數據預處理主要包括對南灣湖進行矢量化處理、建筑物進行精細建模、CGA規則處理等。

2.2.1 遙感圖、矢量化處理。①下載南灣湖茶島的高清影像圖,在ArcGIS中對影像圖進行矢量化處理,主要分為建筑物、綠地、水體、道路等幾類;②為了在CityEngine中方便將模型數據導入,還需要在ArcGIS中對建筑物的屬性進行賦值,如shiyuange、fanggeting等;③將影像圖、矢量化數據放入assets文件夾中,將數據導入CityEngine中,將skp文件拖進CityEngine完成矢量化處理。

2.2.2 建筑物的精細建模。本文通過SketchUp對灣湖的大門、售票處、觀景臺等的模型進行更加細致的處理。CityEngine支持obj、dae兩種格式。dae格式的模型不能提供足夠的精度,因此以jpg、obj格式導出。模型數據如圖2所示。

2.2.3 DEM數據。基礎數據主要是指所研究區域的矢量化數據及構建場景所需要的影像圖數據。此外,為了實現模型與數據的貼合,還需要準備所研究區域的DEM數據。在該過程中,要注意矢量化數據和遙感影像圖坐標的統一,本例使用WGS 1984 Web Mercator投影坐標系統。

2.2.4 貼圖數據。貼圖是為了使模型看起來更加真實、美觀,且在CityEngine中調用方便。三維模型中獲取貼圖數據主要有兩種方法:一是可以通過影像圖片來獲取紋理,但此類方法可能因為影像圖更新不及時導致模型貼圖不真實[4];二是實地拍攝取材。這種方法使模型更加真實、貼合實際。本文的貼圖數據均是通過第二種方法得到的。道路貼圖如圖3所示。

2.3 場景構建與數據導入

CityEngine支持兩種場景導入的方法,本文采用導入工程文件夾的方法導入,該方法導入的過程如下。①創建場景:File-->new-->cityengine scene-->Finish;②導入影像圖、DEM:Layer-->New Map Layer-->Finish-->Frame Layer。導入之后檢查DEM與遙感圖是否重合,若沒有,檢查對應坐標系選擇是否正確。③導入矢量化數據:assets-->data-->.skp。將完成的矢量化skp文件拖拽到scence場景中,若沒有在場景中顯示,點擊Aligns shapes to height maps.進行設置。④完成以上步驟后,檢查所有數據是否重合,若重合,完成場景的建立,若出現偏差,查看坐標系、矢量化屬性等是否對應正確。

2.4 編寫規則

CityEngine建筑生成思想全部集中在CGA的編寫上,通過CGA規則可以對建筑物進行拆分、添加紋理等處理。CGA語法規則可以實現快速建模,提高效率,還可以對模型進行空間分析[5]。

2.4.1 標志性建筑的引入。標志性建筑是南灣湖建模的重點和亮點。先使用SketchUp對風格各異的標志性建筑進行精細建模,將制作好的模型導出.obj格式,其貼圖文件在對應的.mtl文件中。導出后的模型再通過編寫CGA規則引入CityEngine中,其規則如下:

attr name=\"shanzi\"http://對應矢量化的建筑物name字段名稱

modelPath=\"assets/obj/shanzi.obj\"http://設置標志性建筑路徑

Lot-->

i(modelPath) //替換函數

center(x) //居中函數

r(scopeCenter,0,30,0) //旋轉函數

translate(rel,scope,5,0,0) //平移函數

需要注意的是,標志性建筑引入后可能跟預期效果存在偏差,可以使用縮放函數、平移函數、居中函數和旋轉函數來進行調整。

2.4.2 一般建筑物的創建。復雜的建筑物需要做一定的建筑分割,分別運用CGA規則編寫使用,可以使模型更加真實、美觀。以其中一個標志性建筑為例,首先運用extrude函數將模型進行拉伸;spilt函數和comp函數結合使用進行模型分割,將模型的面分割成小塊,為下一步貼圖作準備;texture函數對模型各個部分進行紋理貼圖,使模型更加真實。

核心代碼如下:

extrude(height) //拉伸函數

split(y){~3.8:firstfloor9|~6:upperfloor9} // 延Y軸切割寬度3.8

firstfloor9-->

comp(f){front:frontface9|left:leftface9|back:backface9|right:rightface9|bottom:diji9} //分割成不同的面,并設置背景顏色等

frontface9-->

split(x){~0.8:tile9|~1.5:mass9|~1:tile9|~2.2:door9|~1:tile9|~1.5: mass9|~0.8:tile9} //size(float)表示切割的寬度;~表示取近似值

tile9-->

setupProjection(0, scope.xy, 1, 2) // 對texture導入圖片進行約束

texture(\"obj/matou1/Roofing_Shingles_Multi.jpg\") //貼圖處理

projectUV(0) //設置貼圖紋理坐標

2.4.3 綠化建模。針對南灣湖茶島部分,主要對草地、林地進行建模,以代替實際林地。

核心代碼如下:

attr courtTex = fileRandom(\"assets/courtyard/court*.jpg\")

attr greenTex = \"park/grass.png\" //草地貼圖

const dirt_tex =\"tex1/courtyard_floor_2.jpg\"

randomTree =50%: //設置兩種樣式的樹各占一半

\"assets/treemodel/tree/Tree.obj\"

else:

\"/ESRI.lib/assets/Plants/Banana_Tree/Banana_Tree_Model_0.obj\"

Trees -->

offset(-.5)

comp(f){inside : scatter(surface,geometry.area / 150,uniform) { PutTrees } | border : NIL}//設置150平方米面積上有一棵樹

PutTrees -->

set(trim.vertical,1)

s(0,rand(5,8),0) //設置樹的隨機高度是5到8米

r(0,0,rand(360))

i(randomTree)

Tree.

效果如圖4所示。

2.4.4 道路建模。道路是三維建模的重要組成部分。研究區域道路相差不大,因此做了統一的處理,在對應CGA規則中的設置為“steets”。

核心代碼為:

Sidewalk --> //對道路進行建模

set(trim.vertical,1) set(trim.horizontal,1)

comp(f){ all: SidewalkPart }

SidewalkPart -->

SidewalkWithCurbs

alignScopeToAxes(y) t(0,sidewalkHeight,0) //定義道路的坐標系

SidewalkLamps

SidewalkTrees

SidewalkWithCurbs -->

case sidewalkHeight > 0:

extrude(world.y,sidewalkHeight)

comp(f)

{ top : split(y){ sidewalkHeight : Curbs | ~1 : Pavement }

| front : Curbs }

else: Pavement //利用條件函數對道路進行建模

效果如圖5所示。

2.4.5 水體建模。本文的研究區域有大面積的水體,通過 CGA規則編寫水體不能馬上在CityEngine中顯示出來,需要場景發布之后才可以看到動態的水。

核心代碼如下:

Water -->

// __waterparams_scale_speed

case Water_Type == \"River\" : //水體的類型

set(material.name,\"river__water__waterparams_5_10\")

color(.44,.55,.44)° //設置水體的顏色

效果如圖6所示。

3 場景發布

所有數據完成之后,發布場景,進行場景共享。場景發布有兩種方式:一種是本地發布Web Scene Viewer打開,另一種是ArcGIS Online云端進行共享[6]。本文使用第二種方法:①部署webviewer到IIS上;②3ws場景包部署和調用。完成之后直接連接網頁即可。

4 問題及解決辦法

4.1 CityEngine方面

由于對CGA規則不了解,在寫規則時出現了很多問題,主要是關鍵詞的應用,如comp函數、split函數等和語句之間的邏輯關系,以及在一開始導入底圖和數據時,總是出現影像圖和shp數據不重合的現象。除此之外,由于南灣湖風景區中有許多不規則建筑、標志性建筑,用CityEngine很難對復雜建筑貼圖,或者CGA規則無法處理。因此,若對城市進行建模,運用CityEngine十分快速、簡潔,若對不規則、復雜的景觀或者建筑物進行建模,建議運用UNITY3D,或者是UE CE ogr,其在處理三維虛擬漫游、三維場景仿真上具有良好的效果[7]。

4.2 范圍選擇

本文研究范圍是南灣湖風景區,但由于此區域面積較大,且水域范圍廣,因此前期矢量、遙感圖、DEM數據不能重合,且運行速度較慢,所以退而求其次,選擇南灣湖風景區內最有代表性的茶島進行建模。

4.3 其他方面

在建筑方面,分為精細建模和批量建模。其中,精細建模依靠的是第三方軟件SketchUp,在導出的三維模型導入CityEngine中會出現模型紋理丟失的情況,這時需要檢查jpg、obj文件路徑是否一致。在批量建模時,由于規則代碼要與ArcGIS數據相掛接,在分類時由于類型眾多及掛接不當,導致與實際結果大相徑庭。因此,要注意在矢量化時數據類型和CGA代碼導入規則編寫名稱保持一致。

5 結論

CityEngine在三維建模方面已經得到了廣泛應用,其直接支持GIS數據,不需要轉化已有的GIS數據就可以直接實現三維建模,減少了投資[8]。本文采用CityEngine軟件實現快速建模,通過研究發現,CityEngine在城市建模中快速且高效,并且能結合GIS數據直接轉化成三維模型,與傳統方法相比大大提高了效率,為大批量建模提供了便利。但在建筑不規則且復雜的景區建議使用處理更加細致的軟件。

參考文獻:

[1]謝年,向煜,徐艇偉.基于規則的快速三維建模技術研究[J].城市勘測,2013(4):5-8.

[2]許慶瑞,吳志巖,陳力田.智慧城市的愿景與架構[J].管理工程學報,2012(4):1-7.

[3]黃松,李燕林,戴平娟.智慧旅游城市旅游競爭力評價[J].地理學報,2017(2):242-255.

[4]錢佳琪.智慧城市的愿景與架構問題研究[J].黑龍江科技信息,2014(12):41.

[5]呂永來,李曉莉.基于CityEngine CGA的三維建筑建模研究[J].測繪,2013(2):91-94.

[6]劉強,林孝松.基于CityEngine的三維場景快速建模研究[J].綠色科技,2017(4):115-117.

[7]王星捷,李春花.基于Unity3D平臺的三維虛擬城市研究與應用[J].計算機技術與發展,2013(4):241-244.

[8]朱以洲.基于CityEngine的城市快速三維建模技術研究[C]//江蘇省測繪地理信息學會.江蘇省測繪地理信息學會2014年學術年會論文集.江蘇省測繪地理信息學會,2014.

主站蜘蛛池模板: 国产亚洲高清在线精品99| 毛片免费在线视频| 亚洲二三区| 久久婷婷色综合老司机| 国产综合日韩另类一区二区| 毛片网站在线看| 亚洲性日韩精品一区二区| 精品国产免费观看| 国产亚洲第一页| 99re在线观看视频| 91成人在线观看| 色爽网免费视频| 亚洲六月丁香六月婷婷蜜芽| 天堂网亚洲系列亚洲系列| 国产成人精品午夜视频'| 亚洲最新在线| 啪啪啪亚洲无码| 女同国产精品一区二区| 97久久人人超碰国产精品| 91精品专区国产盗摄| 在线亚洲小视频| 91小视频在线播放| 亚洲一级毛片在线观| 国产精品太粉嫩高中在线观看| 亚洲国产欧美国产综合久久 | 亚洲日本精品一区二区| 久久精品亚洲中文字幕乱码| 99中文字幕亚洲一区二区| 国产精品无码制服丝袜| 不卡午夜视频| 亚洲色图另类| 久久综合一个色综合网| 欧美yw精品日本国产精品| а∨天堂一区中文字幕| 日本国产在线| 九色免费视频| 国产成人亚洲无码淙合青草| 久久不卡精品| 在线亚洲小视频| 91成人在线免费观看| 黄色成年视频| 亚洲综合专区| 青草视频在线观看国产| 欧美精品亚洲精品日韩专区| 色综合天天操| 国产综合精品一区二区| 黄色一及毛片| 99热这里只有免费国产精品| 亚洲开心婷婷中文字幕| 国产精品永久在线| 少妇精品在线| 国产丝袜精品| 综合色88| 真实国产乱子伦视频| 四虎影视永久在线精品| 美女国产在线| 国产精品va免费视频| 人妻精品久久久无码区色视| 丁香综合在线| 国产成人免费视频精品一区二区| 欧美亚洲一二三区| 午夜丁香婷婷| 国产精品欧美日本韩免费一区二区三区不卡 | 午夜激情婷婷| 啪啪啪亚洲无码| 最新国产在线| 亚洲午夜福利在线| 伊人成人在线视频| 一级全黄毛片| 日本尹人综合香蕉在线观看| 无码日韩精品91超碰| 亚洲综合久久成人AV| 亚洲婷婷六月| 欧美激情伊人| 国产精品播放| 亚洲乱亚洲乱妇24p| 午夜国产小视频| 一本视频精品中文字幕| 精品视频一区二区三区在线播| 久热re国产手机在线观看| 青青青视频蜜桃一区二区| 国产乱人伦偷精品视频AAA|