• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于ArcEngine三維地形分析和可視化

      2012-12-26 06:59:12李向新穆寶勝
      關(guān)鍵詞:坡向等高線控件

      高 戀,李向新,穆寶勝

      (昆明理工大學(xué)國(guó)土與資源工程學(xué)院,云南昆明 650093)

      基于ArcEngine三維地形分析和可視化

      高 戀,李向新,穆寶勝

      (昆明理工大學(xué)國(guó)土與資源工程學(xué)院,云南昆明 650093)

      基于ESRI公司提供的二次開(kāi)發(fā)工具ArcEngine和C#編程語(yǔ)言,闡述了三維GIS的理論、方法及過(guò)程,實(shí)現(xiàn)了GIS數(shù)據(jù)的三維顯示以及部分三維分析功能。

      三維GIS;三維可視化;ArcEngine;三維分析

      隨著科技的發(fā)展,GIS越來(lái)越多的應(yīng)用于各行各業(yè)中。GIS所表達(dá)的地理信息是三維連續(xù)分布的,單純的二維地理信息系統(tǒng)不能真實(shí)地描述三維客觀世界[1-2],人們?cè)絹?lái)越多地要求從真三維空間來(lái)處理問(wèn)題。例如,通過(guò)三維可視化可以實(shí)際地看到山谷及山脊的存在,而不需要從等高線數(shù)據(jù)推斷出山谷及山脊的存在[3]。迄今為止,目前國(guó)內(nèi)外還沒(méi)有一個(gè)成熟完整的三維GIS系統(tǒng),與三維GIS相關(guān)的系統(tǒng)大多集中在三維可視化方面,如EVS,Vis5D,Voxel,醫(yī)學(xué)可視化及各種CAD軟件等,也有一些三維系統(tǒng)部分實(shí)現(xiàn)三維GIS的功能,比較有名的軟件有LYNX,IVM(interactive volume modeling),GOCAD,I/EMS,SGM 等。對(duì)GIS的三維開(kāi)發(fā)比較常用的是OpenGL,VRML等[4],這些都需要從底層開(kāi)發(fā)做起,工作量大、開(kāi)發(fā)周期長(zhǎng)、成本高。三維GIS的研究亟待解決。

      ESRI公司推出的組件式GIS開(kāi)發(fā)工具ArcEngine是一組完備的并且打包的嵌入式組件庫(kù)和工具庫(kù)[5],使用它開(kāi)發(fā)軟件用戶(hù)不需要從底層做起,只需要定制自己需要的組件到特定的功能。筆者就是采用ArcEngine技術(shù)對(duì)三維GIS進(jìn)行研究,基于C#編程語(yǔ)言實(shí)現(xiàn)三維的可視化及一些分析功能。

      1 ArcEngine實(shí)現(xiàn)三維GIS的理論和方案

      1.1 ArcEngine實(shí)現(xiàn)三維GIS的理論

      ArcEngine由開(kāi)發(fā)工具和運(yùn)行環(huán)境組成,支持多種開(kāi)發(fā)語(yǔ)言,包括com,.net,java以及C++等,筆者采用VS2008(C#)來(lái)開(kāi)發(fā)。在ArcEngine中用于三維開(kāi)發(fā)的組件有SceneControl和GlobeControl,在此采用Scene-Control控件。SceneControl是一個(gè)高性能的嵌入式開(kāi)發(fā)組件,提供給開(kāi)發(fā)者建立和擴(kuò)展Scene程序,它相當(dāng)于ArcScene Desktop應(yīng)用程序中的三維視圖,并且提供了顯示和增加空間數(shù)據(jù)到三維的方法。SceneControl通過(guò)對(duì)象接口ISceneViewer來(lái)實(shí)現(xiàn),該接口提供對(duì)象Camera,該對(duì)象由Observer和Target構(gòu)成。SceneControl提供了一些屬性和方法來(lái)操作三維對(duì)象,如SceneGraph,Scene等屬性,LoadSx File方法等[3]。

      1.2 ArcEngine實(shí)現(xiàn)三維GIS的方案

      結(jié)合開(kāi)發(fā)研究的過(guò)程,現(xiàn)將其開(kāi)發(fā)的過(guò)程與方案歸納如下。

      1)系統(tǒng)界面設(shè)計(jì)。新建一個(gè)工程,添加如下控件:圖層控件ax TOCControl,三維顯示控件axSceneControl,工具欄控件ax Toolbar Control。通過(guò)屬性設(shè)置使ax Toolbar Control和ax TOCControl控件分別與axS-ceneControl控件進(jìn)行綁定。在代碼區(qū)引用必要的類(lèi)庫(kù):Carto,Analyst3D,Display,esriSystem,Data-SourcesFile,DataSourcesRaster,Geodatabase,Geometry,DataSourcesGDB,Geo Analyst,Catalog UI。在界面頂部添加菜單欄。

      工具欄和菜單欄見(jiàn)圖1。

      圖1 工具欄和菜單欄Fig.1 Toolbar and menubar

      2)三維GIS實(shí)現(xiàn)功能的模塊設(shè)計(jì)。實(shí)現(xiàn)了加載DEM、加載TIN、疊加TIN、分層設(shè)色、坡度分析、通視分析、坡向分析、等高線提取功能。系統(tǒng)功能見(jiàn)圖2。

      圖2 三維GIS的功能結(jié)構(gòu)圖Fig.2 Function structure of 3D GIS

      2 三維GIS功能的具體實(shí)現(xiàn)過(guò)程

      2.1 三維GIS的可視化具體實(shí)現(xiàn)過(guò)程

      1)加載數(shù)據(jù)。三維GIS的可視化即數(shù)據(jù)的三維顯示,首先需要加載數(shù)據(jù)。系統(tǒng)中以加載昆明市滇池地區(qū)的tiff格式的柵格數(shù)據(jù)為例,DEM數(shù)據(jù)加載需要用到2個(gè)組件類(lèi):Scene和SceneGraph。Scene是一個(gè)矢量、柵格和圖形數(shù)據(jù)顯示和處理的容器,該類(lèi)實(shí)現(xiàn)了IScene接口,提供了控制Scene的方法和屬性[6],例如,Add Layer方法用于向場(chǎng)景中增加1個(gè)圖層。

      SceneGraph是一個(gè)記錄在Scene中出現(xiàn)的數(shù)據(jù)和事件的容器,該類(lèi)實(shí)現(xiàn)了ISceneGraph接口,提供了控制和處理Scene中圖形的方法和屬性,例如,Locate方法用于通過(guò)單擊場(chǎng)景中的任意點(diǎn)定位一個(gè)對(duì)象[3]。編程實(shí)現(xiàn)的主要語(yǔ)句為pRaster Layer.CreateFromDataset(pRaster Dataset);pScene.Add Layer(p Layer,true)。

      2)疊加影像數(shù)據(jù)。DEM數(shù)據(jù)加載完后,需要使物體具有三維效果,就需要疊加影像數(shù)據(jù),使其具有地形起伏的三維效果。疊加影像數(shù)據(jù)需要用到組件類(lèi)Tin Layer,Raster Layer,Tin3DProperties和Raster3DProperties。Tin Layer組件類(lèi)用于創(chuàng)建Tin圖層對(duì)象,Raster Layer組件類(lèi)用于創(chuàng)建Raster圖層對(duì)象,Tin3DProperties組件類(lèi)用于創(chuàng)建Tin數(shù)據(jù)的三維場(chǎng)景屬性對(duì)象,Raster3DProperties組件類(lèi)用于創(chuàng)建Raster數(shù)據(jù)的三維場(chǎng)景屬性對(duì)象[3]:

      3)分層設(shè)色。通過(guò)分層設(shè)色可以使地貌高程分布及其相互對(duì)照鮮明,分層設(shè)色需要組件類(lèi)是:AlgorithmicColor Ramp,RgbColor,Raster ClassifyColor Ramp Renderer,SimpleFillSymbol,Tin Elevation Renderer。主要實(shí)現(xiàn)語(yǔ)句如下:

      通過(guò)以上步驟加上正確的編程語(yǔ)言來(lái)實(shí)現(xiàn),DEM圖像便具有三維效果并顯示出來(lái)。

      2.2 三維GIS分析功能的介紹及具體實(shí)現(xiàn)過(guò)程

      1)坡度、坡向分析的介紹及具體實(shí)現(xiàn)過(guò)程。某一位置的坡度分析是水平面與局部地表之間的正切值,即高度變化的最大值比例,坡向是變化率最大的方向[3]。對(duì)某一位置的坡度、坡向分析有利于水利局及規(guī)劃局等部門(mén)做出正確的決策。在ArcEngine中實(shí)現(xiàn)這些功能需要用到下面幾個(gè)類(lèi)和接口:Point,Raster Workspace,Raster Band,ISurfaceOp,IRaster AnalysisEnviroment等。坡度分析與坡向分析實(shí)現(xiàn)語(yǔ)言一致,坡度分析是用ISurfaceOp的Slope方法來(lái)實(shí)現(xiàn);坡向分析是用ISurfaceOp的Aspect方法來(lái)實(shí)現(xiàn)。筆者提取的數(shù)據(jù)是昆明市滇池地區(qū)的tiff格式數(shù)據(jù)。在此主要給出坡度分析的實(shí)現(xiàn)語(yǔ)句,如下:

      坡度提取和坡向提取效果圖見(jiàn)圖3和圖4。

      2)通視分析的介紹及主要實(shí)現(xiàn)語(yǔ)句。通視分析有很廣的應(yīng)用背景,如軍事上觀察敵人的活動(dòng)區(qū)域,在這一區(qū)域中視線不能被遮擋??蓱?yīng)用于旅游中的風(fēng)景評(píng)價(jià)、房地產(chǎn)中視線遮擋判斷以及通信中的信號(hào)覆蓋,或軍事上的火力覆蓋等多方面,由被覆蓋的可視面積反求待定位置與高度等。

      通視分析要選擇一個(gè)目標(biāo)位置,而這個(gè)目標(biāo)位置可以是一個(gè)“點(diǎn)”,筆者就是在基于“點(diǎn)”的情況下的通視分析。需要有“點(diǎn)”文件的保存目錄,在surfaceOp.Visibility(raster GeoDataset,featureDataset,esriGeo-Analysis Visibility Enum.esriGeo Analysis Visibility Frequency)語(yǔ)句實(shí)現(xiàn)。

      3)等高線提取的具體實(shí)現(xiàn)過(guò)程。筆者對(duì)規(guī)則格網(wǎng)的柵格數(shù)據(jù)進(jìn)行等高線提取。要設(shè)置高程的基準(zhǔn)面和等高線間距。主要是用ISurfaceOp的Contour方法來(lái)實(shí)現(xiàn)(roster Geo Dataset,interval,ref basecoutoar),方法中的第1個(gè)表示用于提取的柵格數(shù)據(jù),第2個(gè)表示等高線間距,第3個(gè)表示等高線的基準(zhǔn)高程。以GRID柵格圖像(GRID柵格圖像為某地區(qū)中的圖像,圖像名不知)為例,分別設(shè)置5 m和10 m不同的等高距,效果圖見(jiàn)圖5和圖6,可以清晰地看見(jiàn)10 m等高距的等高線比5 m等高距的等高線要稀疏很多。主要語(yǔ)句如下:

      3 結(jié) 語(yǔ)

      基于ArcEngine和C#編程語(yǔ)言實(shí)現(xiàn)了最常用的三維顯示及三維分析的坡度、坡向、通視、等高線提取功能。對(duì)于等高線的提取等三維分析功能,筆者的分析結(jié)果與Arc Map的分析結(jié)果是一致的,證明了結(jié)果的可行性。本研究結(jié)果即可作為獨(dú)立的系統(tǒng)運(yùn)行,也可嵌入到其他系統(tǒng)中。但對(duì)于坡度、坡向的提取只是完成了定性的提取,至于定量的分析還有待進(jìn)一步研究。真正的三維開(kāi)發(fā)是需要更多更新的技術(shù),三維GIS的實(shí)現(xiàn)遠(yuǎn)不止這些,在以后的研究中,將會(huì)更加深入的對(duì)此進(jìn)行研究。

      [1]許捍衛(wèi),茆德柱,何 江.基于ArcEngine的GIS三維功能開(kāi)發(fā)技術(shù)研究[J].測(cè)繪工程(Engineering of Surveying and Mapping),2006,15(6):50-53.

      [2]李建成,郭建文,蓋迎春,等.基于ArcEngine的三維GIS的設(shè)計(jì)與實(shí)現(xiàn)[J].遙感技術(shù)與應(yīng)用(Remote Sensing Technology and Application),2009,24(3):395-398.

      [3]邱洪鋼,張青蓮,陸紹強(qiáng).ArcGis Engine開(kāi)發(fā)從入門(mén)到精通[M].北京:人民郵電出版社,2010.

      [4]張嘯雷,王 冬.基于 ArcScene的三維 GIS實(shí)現(xiàn)的研究[J].城市勘測(cè)(Urban Geotechnical Investigation and Surveying),2010,26(4):26-28.

      [5]韓 鵬,王 泉,王 鵬,等.地理信息系統(tǒng)開(kāi)發(fā)——Arc Engine方法[M].武漢:武漢大學(xué)出版社,2008.

      [6]史永忠,曹全龍.基于 ArcEngine的三維地形可視化系統(tǒng)的研究與開(kāi)發(fā)[J].現(xiàn)代測(cè)繪(Modern Surveying and Mapping),2007,30(3):37-39.

      3D GIS based on ArcEngine

      GAO Lian,LI Xiang-xin,MU Bao-sheng
      (Faculty of Land Resource Engineering,Kunming University of Science and Technology,Kunming Yunnan 650093,China)

      This paper describes the theory,method and procedure of building up 3D GIS based on ArcEngine provided by ESRI Company and C#programming lauguage,and realizes some functions such as 3D visualization,3D analysis and so on.

      3D GIS;3D visualization;ArcEngine;3D analysis

      TP311.52;P208

      A

      1008-1542(2012)01-0061-04

      2011-10-11;責(zé)任編輯:陳書(shū)欣

      高 戀(1986-),女,河南滑縣人,碩士研究生,主要從事GIS的二次開(kāi)發(fā)方面的研究。

      猜你喜歡
      坡向等高線控件
      DEM地表坡向變率的向量幾何計(jì)算法
      地形圖的閱讀
      一種基于Fréchet距離的斷裂等高線內(nèi)插算法
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      “等高線地形圖的判讀”專(zhuān)題測(cè)試
      地理教育(2016年10期)2016-11-09 00:32:53
      青藏高原東緣高寒草甸坡向梯度上植物光合生理特征研究
      土壤與作物(2015年3期)2015-12-08 00:46:55
      山區(qū)等高線內(nèi)插生成DEM的精度評(píng)價(jià)
      坡向和坡位對(duì)小流域梯田土壤有機(jī)碳、氮變化的影響
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      晉東南中山區(qū)仁用杏適地適時(shí)補(bǔ)灌研究
      青川县| 平凉市| 玉树县| 乐平市| 墨玉县| 如皋市| 衡阳市| 集贤县| 三门县| 建阳市| 当阳市| 遂平县| 灵台县| 博野县| 龙游县| 大荔县| 元朗区| 剑川县| 遂川县| 邵阳县| 龙陵县| 大安市| 裕民县| 绥滨县| 屯门区| 宣汉县| 通渭县| 宁陵县| 龙江县| 福清市| 大姚县| 庄浪县| 宜兰市| 渑池县| 华宁县| 临西县| 临夏市| 浦北县| 通化县| 固阳县| 疏附县|