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

基于ArcGIS Engine的三維場景快速動態建模方法

2015-03-29 06:33:58毛新光
測繪通報 2015年6期
關鍵詞:數據庫模型

吳 鋒,毛新光

(杭州電子科技大學信息與控制研究所,浙江 杭州310018)

一、引 言

三維地理信息系統(GIS)的應用領域十分廣泛,如城市交通調度、地質災害定位、地下管線、廠礦生產過程模擬等,相比二維GIS不僅能再現直觀的、真實的事物間縱橫交錯、上下起伏的空間關系,具有較強的立體感和逼真感,而且能對構建中的三維場景進行三維空間的分析和操作等功能??梢哉f三維GIS的應用開發已成為當前GIS研究中的重點[1-3]。

縱觀國內外三維GIS的研發現狀,有3種途徑實現三維GIS:一是基于底層庫函數開發實現,如OpenGL和VC++的開發方式[4];二是在三維可視化系統上以插件形式加載數據顯示和查詢功能模塊,如Vega工具軟件[5];三是在現有GIS平臺提供的API上進行二次開發,如ArcGIS的ArcObjects組件[6]。底層庫函數開發方式效率較高,但代碼編程量較大。三維可視化系統在模型制作方面具有較好的逼真性,但在GIS方面的功能較弱。現有GIS平臺軟件中,三維可視化方面的功能較為欠缺,但隨著三維空間分析功能的日趨完善,在現有GIS軟件中進行二次開發將是三維GIS系統研究、開發的主流方式。

要實現三維GIS,必須解決三維場景如何建模和應用支撐平臺的模型數據管理。從研究現狀來看,目前三維場景的快速動態建模主要有統一規范法、標準模型符號法、非仿真功能寫景法、二維GIS法和CAD方法等[7-11]。通過比較分析,這些方法或建模工作量大、效率低,或要求編寫大量的程序代碼,或建立的三維場景缺乏較好的空間查詢和分析功能。

本文提出一種基于ArcGIS Engine組件技術和數據庫技術的快速動態建模方法,即預先建立對應的三維場景模型庫并保存在ArcGIS Engine組件的數據庫中,通過地理描述和數據管理獲取模型構件、組裝構件而成需要的三維場景,從而大大降低三維場景建模的工作量;另外,將地理描述信息與場景精確模型結合起來,大大提高了場景模型的真實感,而且數據編輯、空間分析能力也得到了體現。

二、三維對象模型庫的建立

1.CAD模型與GIS的集成方法

目前三維場景中的實體,大部分都是通過外部三維制作軟件制作好后以點、線、面的形式導入到三維場景中來,如3ds Max制作的三維實體。這種數據集成要求CAD模型與GIS二者之間的數據能夠相互轉換或在GIS中可以直接讀寫CAD文件。

目前常見的數據集成有文件轉換、數據庫共享和直接訪問3種方式。文件轉換方式是指數據文件格式從一種到另一種的轉換,如ArcGISEngine的控件SceneControl支持SHP文件,3ds Max支持*.dwg文件,*.dwg和*.shp可以通過*.dxf(CAD格式)進行轉換。數據庫共享方式通過在系統中嵌入應用程序API接口訪問其他系統的數據,如ArcSDE就具有識別CAD文件的擴展程序,允許用戶在數據庫管理系統中存儲、提取CAD文件要素或GIS特征,這是一種新型方式。直接訪問方式則是直接讀入另一系統的數據而無須經過中介,如ArcGIS直接讀取3ds Max制作的*.3ds文件來構建三維場景,從而實現CAD與GIS的數據集成。直接訪問方式也是本文采用的主要集成方式。

2.三維對象模型庫的組成

三維場景中的實體結構可以分為單一模型和組合模型。單一模型就是該模型結構復雜,不能拆分為單一模型的組合,在向三維場景中添加模型時,作為單一的模型;組合模型就是場景中的三維模型可以拆分為單一的組合,從模型庫中調用該單一模型,組成該組合模型。

依據三維場景中實體的分類表達規則和組成要素的不同,三維對象模型數據庫可分為以下幾類:建筑物模型庫、建筑物紋理庫、地面覆蓋模型庫、獨立對象模型庫。建筑物模型庫主要存儲以3ds Max軟件導出的*.3ds文件;建筑物紋理庫主要存儲建筑物墻面紋理、窗戶紋理等;地面覆蓋模型庫主要存儲地面江河、道路、植被的紋理庫;獨立對象模型庫主要存儲一些地面上設施如樹木、路燈、交通站臺、電話亭等標志性建筑物。三維對象模型庫的組成結構如圖1所示。

圖1 三維對象模型庫的組成結構

各個對象模型庫的建立方法如下:

1)典型建筑物模型庫和獨立對象模型庫:該模型庫主要存儲一些不能分解的結構模型,對于結構復雜的典型三維建筑和獨立對象,反復調用模型庫中的一些簡單實體,并通過組合方法建立起三維場景中的實體,從而達到簡捷、快速建模的目的。

2)紋理庫的設計:對于一些結構簡單、規則幾何體的三維實體如長方體、正方體等,利用多片來建立三維場景。但利用多片建立的只是三維場景幾何模型,還需要進一步對模型的表面進行貼圖、渲染。針對這種情況,需要建立建筑物紋理庫。該庫以大量圖片為基礎,并配合圖片處理軟件如PhotoShop工具對圖片進行預處理。

3)地面覆蓋模型庫的設計:三維場景的地面覆蓋物模型庫主要存儲地表中的綠地、地形、水系類別的地面覆蓋物紋理。入庫的紋理數據文件,必須存在數據庫的表中,當編輯或更新地面覆蓋物紋理時,直接從數據庫的數據表中調用相應的數據紋理。

三、基于ArcGISEngine的三維場景建模方法

在完成建筑物數據庫、建筑物紋理庫、地面覆蓋紋理庫、獨立對象數據庫和數據采集的基礎上,結合.NET的編程環境與ArcGIS Engine中的Scene-Control、ToCControl、ToolbarControl、MapControl等控件進行二次開發,實現三維數據模型的快速建模。

1.快速建模流程

在三維場景構建時,針對場景三維實體模型的不同,需要采取不同的模型方法。針對典型的模型,可直接調用典型模型數據庫中的典型模型;用組合模型構建復雜三維建筑模型時,調用建筑模型數據庫中*.3ds中的數據模型;對于簡單的模型,可以Multipatch來構建,調用紋理數據庫中的紋理圖片,進行紋理貼圖,可以建模逼真的三維場景中的實體。根據三維場景中三維實體的不同情況,調用不同模型庫,起到快速建模三維場景的效果。三維場景快速建模流程如圖2所示。

圖2 三維場景快速建模流程

2.由二維矢量數據自動生成三維模型

在ArcGIS Engine中可以通過二維的點、線、面二維要素和坐標Z經過拉伸來建模三維場景中的三維模型。通過對Z坐標或要素屬性字段值進行拉伸,點要素構成三維場景中垂直的線,線要素構成面,面要素構成塊。而Multipatch對象,則通過該實體頂點在三維場景中X、Y、Z坐標值來構建三維實體各個面,再經過貼圖來構建三維場景中的實體。以下是二維矢量數據如何生成三維模型的算法:

1)獲取三維場景要拉伸的圖層。

2)添加紋理,即定義地理要素圖層對象并獲取圖層對象、創建要渲染的符號、創建要填充的紋理符號、從path變量中填充要填充紋理符號的紋理、設置要渲染的psimplerenderer的紋理符號。

3)對要渲染的地理要素圖層對象pGeoFeature-Layer,設置為psimplerenderer并進行渲染。

4)設置矢量圖層基準高,得到頂點空間坐標

式中,R為圓弧半徑;α為圓弧上各頂點與原點連線到x軸的角度;ProLayer3D.Zfactor為使矢量數據拉伸到某一固定值的拉伸因子。

5)應用三維屬性到ppLayer矢量圖層,使圖層具有三維顯示效果。

3.由三維制作軟件生成模型的導入方法

(1)典型單一模型和對象模型的重建方法

針對三維場景中的獨立對象實體、典型標志性建筑、結構復雜而風格獨特的建筑物,通過三維制作軟件3ds Max制作獨立的和典型的三維模型,包括相關紋理信息,一塊導出為*.3ds文件,然后入庫。在建立三維場景時,可以反復從建筑數據庫中調用該模型,加載到SceneControl控件中,從而達到快速建模的目的。具體算法的基本流程如下:

1)創建一個新圖層,然后把新圖層添加到三維場景的SceneControl控件對象中。

2)設立一個點的新元素,該點就是三維模型要加載的位置。

3)利用IMarker3DSymbol創建一個接口對象,然后利用該對象方法CreateFromFile讀取數據庫中建筑物和獨立對象的模型對象。

4)創建一個SceneControl控件容器對象,然后將該對象加載到在圖層對應的容器中,起到動態加載三維場景的目的。

(2)利用模型庫組合模型的建模方法

在三維場景構建中,非典型的建筑物具有相似的結構和紋理。針對這種情況,先建立一個可以組成這種三維場景中建筑物的基本實體單位,并將這樣的單位實體入庫。在建模這樣的三維實體時,可直接調用模型庫中的單位實體模型。通過組合建模方法,達到快速構建三維場景的目的。

具體算法的基本流程如下:

1)創建一個新圖層,然后把新圖層添加到三維場景的SceneControl控件對象中。

2)設定一個點的新元素,該點就是三維模型要加載的位置。

3)確定底層元素顯示的Symbol和Geometry:

IPoint pt=new PointClass();

double longtitude=double.Parse(textBox1.Text);

double latitude=double.Parse(textBox2.Text);

pt.PutCoords(longtitude,latitude);

4)再分別確定中間層、頂層元素顯示的Symbol和Geometry。

4.多片三維模型在三維場景的生成

對于結構簡單的、規則的、逼真度要求不是很高的三維場景中的實體,可以通過對規則三維模型如長方體、正方體等進行貼圖來表示現實世界中的三維實體。通過多片Multipatch制作規則實體的大致模型,模型的位置通過輸入規則模型在平面的投影坐標和實體模型的長、寬、高3個參數來確定三維實體模型各個頂點的坐標,然后通過對三維實體模型的前面、后面、左面、右面、頂部進行紋理貼圖來構造三維模型。

用Multipatch構建三維實體模型的基本算法如下:

1)指定紋理對象。

2)創建材質列表。

3)創建Multipatch第一面的各個頂點及其紋理頂點:

IPoint pPoint1=new PointClass();

pPoint1.X=x;

pPoint1.Y=y;

pPoint1.Z=0;

4)繼續創建Multipatch其余面的各個頂點及其紋理頂點。

5)給各個頂點的坐標(X,Y,Z)賦值。

6)創建其余的紋理坐標頂點并賦值。

7)創建其余面的頂點及其紋理頂點并賦值。

8)給各個面的頂點指定頂點坐標和需要紋理貼圖的各個頂點坐標:

IGeneralMultiPatchCreator PCreator=new GeneralMulti-PatchCreatorClass();

PCreator.Init(30,6,false,false,false,24,materialList);

PCreator.SetPatchType(0,esriPatchType.esriPatchTypeRing);

PCreator.SetPatchPointIndex(0,0);

PCreator.SetMaterialIndex(0,0);

PCreator.SetPatchTexturePointIndex(0,0);

PCreator.SetPoint(0,pPoint1);

利用規則幾何體如正方體、立方體,對三維幾何體的各個面進行貼圖,利用Multipatch向三維場景添加幾何體。

四、應用實例

隨著石化能源產業的高速增長、石化產品運輸量的不斷增高,石化產品交通運輸事故也日益增多。針對運輸安全問題,筆者以ArcGIS Engine為工具,結合GIS、GPS、3G等技術,研發了基于GIS/GPS/3G的危險品運輸車輛監控三維GIS系統。該系統提供了一個三維可視化平臺,幫助用戶從不同的角度來監控三維場景中的地物,并實時獲取車輛的軌跡。

對危險品車輛的監控即實時跟蹤車輛位置。GPS發送的經緯度存入數據庫,系統需要從數據庫實時解析GPS數據并顯示在三維虛擬場景中,如圖3所示的小圓點。根據圓點軌跡即可實時監控危險品車輛在三維場景中的行駛狀況。

圖3 實時顯示車輛軌跡的三維場景效果

在車輛監控三維GIS系統的開發中充分運用了快速動態建模方法:

1)地形建模:地形表面主要由矢量數據生成的不規則三角網數據模型生成,為其他地物提供一個模擬表面。由于三維車輛監控場景的地形高程為0,地形場景模擬可以用衛星掃描的圖片進行柵格配準。

2)復雜地物建模:對于典型而復雜的地表人工實體和獨立對象,采用建模軟件3ds Max來構建三維實體模型,然后轉換為ArcGISEngine支持的格式來建模三維模型。

3)規則幾何體建模:通過多片構建規則三維實體模型,然后對三維外表進行貼圖,逼真構建三維場景中的對象實體。

五、結束語

本文提出了一種基于ArcGIS Engine的三維場景快速動態建模方法,該方法根據場景的地物分為點、線、面3類不同的特點,提出了聯合拉伸、模型庫、多片Multipatch等多種快速建模方法,從而實現了三維場景的快速生成和渲染。該方法的關鍵在于GIS組件技術的利用和基于數據庫技術的對象、紋理等模型庫的建立,它是快速建模三維場景的基礎。為大規模開發三維可視化系統提供了一種新的思路。該方法成功應用于危險品運輸車輛監控三維GIS的快速開發,有效地提高了開發效率,降低了勞動強度和開發成本。

本文主要側重基于ArcGIS組件的三維建模和數據顯示研究,下一步的工作是基于ArcGIS的空間分析工作。隨著現代空間數據定位與分析的需要,三維快速建模技術的應用會越來越廣泛,相信基于GIS組件技術和數據庫技術的三維實體速建模方法會為其他行業三維GIS應用提供一定的借鑒和參考。

[1] 王金宏,朱軍,尹靈芝,等.基于線性參照系統的虛擬高速鐵路場景建模方法簡述[J].地球信息科學學報,2014,16(1):23-30.

[2] TANG A Y,ADAMST M,USERY E L.A Spatial Data Model Design for Feature-based Geographical Information Systems[J].IJGIS,1996,10(5):643-659.

[3] ROYAN J.Network-based Visualization of 3DLandscapes and City Models[J].IEEE Computer Graphics and Applications,2007,27(6):70-79.

[4] SUN W T,LI Q,QIAN B.Track Simulation of Flexible Roll Forming Based on VC++and OpenGL[J].Advanced Materials Research,2012,457-458:304-307.

[5] ZHOU X N.3D Campus Simulation Based on Vega and Creator[C]∥2010 International Conference on Computer and Communication Technologies in Agriculture Engineering,2010,3(12-13):512-514.

[6] 張文元,付仲良.基于ArcGISEngine的綜合管線三維可視化研究[J].測繪通報,2008(8):28-31.

[7] TIAN X.Quick 3D Modeling of Machining Environment by Means of On-machine Stereo Vision with Digital Decomposition[J].CIRP Annals-Manufacturing Technology,2007,56(1):411-414.

[8] 何垂杰,鄧克裹,袁懷月.基于ArcGIS Engine的工業廠區快速三維建模與可視化[C]∥現代空間定位技術應用研討交流會論文集.廣州:中國測繪學會,2007:264-274.

[9] 高睿,劉修國,熊威.城市三維景觀可視化研究與應用[J].計算機應用研究,2005,22(3):160-164.

[10] 劉玉春.應急指揮信息系統中三維模型快速構建方法研究[J].測繪科學,2008,33(S1):117-119.

[11] 鄧非,張祖勛,張劍清.基于序列影像的城市三維建模[J].計算機工程,2007,33(8):208-210.

猜你喜歡
數據庫模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 91在线国内在线播放老师| 99热这里只有精品2| 国产不卡国语在线| 五月丁香伊人啪啪手机免费观看| 国产精品嫩草影院av| 精品小视频在线观看| 夜夜操天天摸| 国产又大又粗又猛又爽的视频| 欧美精品v欧洲精品| 在线观看91精品国产剧情免费| 色婷婷在线影院| 91在线丝袜| 亚洲国产成人精品青青草原| 无码av免费不卡在线观看| 亚洲av无码专区久久蜜芽| 中日无码在线观看| 高清不卡一区二区三区香蕉| 国产香蕉在线视频| 黄片一区二区三区| 黄色在线不卡| 91在线精品免费免费播放| 久草视频中文| 91精品亚洲| 国产精品亚洲专区一区| 任我操在线视频| 好吊色妇女免费视频免费| 色综合久久无码网| 欧洲熟妇精品视频| 成人福利在线视频免费观看| 丁香婷婷激情综合激情| 国产三级国产精品国产普男人| аv天堂最新中文在线| 婷婷综合色| 又爽又大又黄a级毛片在线视频 | 凹凸精品免费精品视频| 国产亚洲精品97AA片在线播放| 欧美影院久久| 欧美在线黄| 国产又色又爽又黄| 亚洲男人在线| 亚洲a级毛片| 国内黄色精品| 亚洲无码不卡网| 91黄视频在线观看| 国产精品2| 丁香婷婷激情网| 亚洲一区第一页| 亚洲中字无码AV电影在线观看| 国产女人在线| 国产成人精品男人的天堂| 98超碰在线观看| 国产免费羞羞视频| 国产丝袜第一页| 成人综合网址| 女人18毛片久久| 精品国产网站| 日韩在线永久免费播放| 久久情精品国产品免费| 丁香六月综合网| 欧美精品在线免费| 国产jizzjizz视频| 国内精品久久人妻无码大片高| 精品国产香蕉在线播出| 天堂成人在线视频| 国产精女同一区二区三区久| 亚洲日韩高清在线亚洲专区| 操美女免费网站| 国产精品美乳| 国产精品伦视频观看免费| 午夜福利无码一区二区| 久久国语对白| 91久久国产综合精品女同我| 久久毛片网| 亚洲天堂精品视频| 日日拍夜夜嗷嗷叫国产| 久久精品国产999大香线焦| 国产精品爽爽va在线无码观看| 国产乱人免费视频| 中文字幕日韩欧美| 四虎在线观看视频高清无码| 欧美国产另类| 免费观看无遮挡www的小视频|