• 
    

    
    

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

      AO組件技術(shù)在水利信息管理中的應(yīng)用

      2011-07-18 07:31:28李小根潘向麗孫大鵬
      關(guān)鍵詞:庫容控件計算方法

      李小根,潘向麗,周 進(jìn),孫大鵬

      (華北水利水電學(xué)院,河南鄭州 450011)

      AO組件技術(shù)在水利信息管理中的應(yīng)用

      李小根,潘向麗,周 進(jìn),孫大鵬

      (華北水利水電學(xué)院,河南鄭州 450011)

      應(yīng)用組件庫ArcObjects中的組件研制了某水庫的庫容和淹沒面積的計算功能模塊,分析了功能模塊的基本原理,建立了基于AO的計算方法,并和傳統(tǒng)方法進(jìn)行了比較.結(jié)果表明,基于AO的計算方法得出的結(jié)論精度更高,在防洪、調(diào)度、洪水綜合利用方面能夠提供精確的、科學(xué)的決策依據(jù).

      控件;模塊;引擎;ArcObjects

      在水庫的日常管理中,水庫的管理部門經(jīng)常要計算水庫的庫容和淹沒面積,按照傳統(tǒng)方法,水庫的管理部門將水庫按照規(guī)則立方體進(jìn)行計算,這種計算方法勢必帶來一定的誤差.而應(yīng)用ESRI公司的組件庫ArcObjects的控件能夠很好地解決這一問題,該方法按照水庫的實際地形來計算水庫的庫容和淹沒面積,能夠得出精確的計算結(jié)果.

      1 基本原理

      該計算方法使用ESRI ArcGIS Objects的 ToolbarControl和 MapControl 2個控件.ToolbarControl控件用于容納各種內(nèi)置和自定義工具,MapControl讀取用來進(jìn)行計算所需的地理數(shù)據(jù).MapControl控件是該數(shù)據(jù)計算方法的核心控件,用來裝載地圖數(shù)據(jù)對象.這些裝入MapControl的地圖數(shù)據(jù)對象在程序設(shè)計中指定,并且可以指定為鏈接模式或包含模式.在鏈接模式下,無論何時創(chuàng)建MapControl控件,控件會自動從地圖文檔中讀取最新的數(shù)據(jù).在包含模式下,MapControl控件將地圖文檔中的數(shù)據(jù)的一個副本復(fù)制到控件中,不再顯示復(fù)制以后更新的地圖文檔的內(nèi)容.把地圖文檔裝入MapControl控件,可以使用 MapControl控件的 LoadMxFile方法[1].

      2 計算方法的實現(xiàn)過程

      該數(shù)據(jù)計算方法界面的設(shè)計視圖如圖1所示.

      此獨立 CalForm窗體從 System.Windows.Forms.Form繼承而來,包括2個主要對象和4個主要方法、事件[2-3].

      2個主要對象分別為:MapControl控件的實例axMapControl1,ToolbarControl控件的實例axToolbar-Control1.4個主要方法和事件為:GetProarea(),GetVolume(),axMapControl1_OnMouseMove(),ax-ToolbarControl1_OnMouseMove().

      GetProarea()方法用來計算當(dāng)前水位下庫區(qū)淹沒面積.使用了ArcGIS Engine的 Geodatabase對象庫中的ITin,ITinAdvanced,ISurface 3個接口.其中,ITin接口用于新建對象,ITinAdvanced接口的Init()方法用于初始化TIN數(shù)據(jù),ISurface接口的GetProjectedArea()方法用于計算當(dāng)前水位下的庫區(qū)淹沒面積.GetProarea()方法的核心代碼為:

      圖1 數(shù)據(jù)計算的設(shè)計視圖

      用GetVolume()方法計算當(dāng)前水位下的庫容.使用了ArcGIS Objects的 Geodatabase對象庫中的ITin,ITinAdvanced,ISurface 3 個接口.其中,ITin 接口用于新建對象,ITinAdvanced接口的Init()方法用于初始化TIN數(shù)據(jù),ISurface接口的GetVolume()方法用于計算當(dāng)前水位下的庫容.GetVolume()方法的核心代碼為:

      數(shù)據(jù)計算界面中的水深點擊式查詢功能是自定義工具.此工具對象繼承自 ESRI.ArcGIS.SystemUI.ITool和 ESRI.ArcGIS.SystemUI.ICommand,通過ToolbarControl的AddItem()方法添加到工具條中.在實現(xiàn) ESRI.ArcGIS.SystemUI.ITool 和 ESRI.Arc-GIS.SystemUI.ICommand接口時最主要的部分是重寫了 ESRI.ArcGIS.SystemUI.ICommand 接口的 On-MouseDown()事件.用它來處理鼠標(biāo)在地圖上的點擊,搜索鼠標(biāo)點擊點附近的TIN數(shù)據(jù),根據(jù)TIN數(shù)據(jù)進(jìn)行線性內(nèi)插,計算出點擊點的高程值并返回給用戶.重寫OnMouseDown()事件的部分代碼為:

      3 計算結(jié)果

      某水庫水位是從128 m到106 m的整數(shù)水位,使用該系統(tǒng)對庫容和淹沒面積進(jìn)行計算并與常規(guī)計算方法、積分法的計算結(jié)果相比較,統(tǒng)計結(jié)果如圖2和圖3所示.

      圖2 庫容計算結(jié)果比較

      4 結(jié)語

      從圖2和圖3可以看出,3條線基本重合,說明該方法切實可行.引入“比例”的概念,用“比例”表示該系統(tǒng)的計算結(jié)果與常規(guī)法和積分法計算結(jié)果的平均值所差的百分比.可以得出如下結(jié)論:①當(dāng)水位在107 m以上時該系統(tǒng)的庫容和淹沒面積計算結(jié)果和其它2種方法的計算結(jié)果相差無幾,最多差3.07%,大多數(shù)在1%之內(nèi),這個誤差正是由傳統(tǒng)方法計算造成的,而該計算方法是應(yīng)用積分方法得出來的結(jié)果,精度比較高;②當(dāng)水位在106 m到107 m,也就是接近死水位1 m范圍內(nèi)出現(xiàn)了較大誤差,事實上水位降到這個范圍的可能性很小,因此這部分誤差對該系統(tǒng)的運行不會造成太大影響.另外還可用曲線擬合法修正這部分計算結(jié)果.

      圖3 淹沒面積計算結(jié)果比較

      [1]Hand D,Mannila H,Smyth P.數(shù)據(jù)挖掘原理[M].張銀奎,廖麗,宋俊,譯.北京:機械工業(yè)出版社,2003.

      [2]呂鳳軍.數(shù)字圖像處理編程基礎(chǔ)[M].北京:機械工業(yè)出版社,1998.

      [3]黃敏,何國輝.Visual C++程序開發(fā)指南[M].北京:科學(xué)出版社,1995.

      Application of the AO Component to Water Conservancy Information Management

      LI Xiao-gen,PAN Xiang-li,ZHOU Jin,SUN Da-peng
      (North China Institute of Water Conservancy and Hydroelectric Power,Zhengzhou 450011,China)

      The ArcObjects components were applied to developing the functional module for calculating the storage capacity and flooded area of the reservoir,and the basic principle of it was analyzed.The calculation method based on ArcObjects was established,and the calculation results were compared with the ones obtained by the traditional method.It indicated that the results obtained by the calculation method based on ArcObjects were more accurate and could provide a precise and scientific decision-making basis for flood control,scheduling,comprehensive utilization of flood.

      component;module;engine;ArcObjects

      1002-5634(2011)05-0024-03

      2011-06-28

      李小根(1973—),男,河南焦作人,副教授,博士,主要從事水利信息技術(shù)、地理信息系統(tǒng)方面的研究.

      (責(zé)任編輯:蔡洪濤)

      猜你喜歡
      庫容控件計算方法
      浮力計算方法匯集
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      全省已建成水庫總庫容
      隨機振動試驗包絡(luò)計算方法
      月潭水庫防洪庫容的確定
      不同應(yīng)變率比值計算方法在甲狀腺惡性腫瘤診斷中的應(yīng)用
      零庫容梯級電站聯(lián)合調(diào)控策略研究
      一種伺服機構(gòu)剛度計算方法
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      世界上庫容最大的水庫
      庄河市| 奉贤区| 汉川市| 图片| 神木县| 潮安县| 美姑县| 碌曲县| 万宁市| 六盘水市| 广汉市| 元阳县| 襄汾县| 历史| 九江市| 湖州市| 阿拉善盟| 沁水县| 阿勒泰市| 清水县| 平远县| 沂源县| 衡水市| 昌都县| 安阳市| 乌拉特前旗| 曲周县| 汶川县| 达拉特旗| 安多县| 东城区| 隆安县| 吴堡县| 高邑县| 孟州市| 印江| 井冈山市| 拉孜县| 太白县| 日土县| 长治市|