• 
    

    
    

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

      基于ArcGIS Engine的地圖符號庫管理系統(tǒng)的設(shè)計與實現(xiàn)

      2015-02-22 08:08:50張黎娜
      唐山學(xué)院學(xué)報 2015年6期
      關(guān)鍵詞:畫布畫板繪制

      張黎娜

      (安徽廣播電視大學(xué),合肥 230000)

      基于ArcGIS Engine的地圖符號庫管理系統(tǒng)的設(shè)計與實現(xiàn)

      張黎娜

      (安徽廣播電視大學(xué),合肥 230000)

      為了滿足采煤沉陷區(qū)三維建模與動態(tài)仿真項目開發(fā)過程中對地圖符號的需要,采用基于ArcGIS Engine的開發(fā)方式,使用C#語言,進行了地圖符號庫管理系統(tǒng)的開發(fā)與設(shè)計。應(yīng)用結(jié)果表明,該系統(tǒng)能夠滿足實際項目開發(fā)過程中對地圖符號的應(yīng)用需要。

      ArcGIS Engine;C#語言;地圖符號庫管理系統(tǒng)

      0 引言

      在項目實際的開發(fā)過程中,地圖符號的質(zhì)量要求應(yīng)該以充實地圖內(nèi)容、增強地圖的可讀性、利于項目實際開發(fā)與研究為首要前提[1-2]。地圖符號的設(shè)計和實現(xiàn)對矢量數(shù)據(jù)是否能準確、高效地顯示和描述地理空間中的點、線、面狀地物是至關(guān)重要的。ArcMap軟件的地圖符號庫,是地圖可視化的重要信息載體,能直觀地呈現(xiàn)出目標對象的種類、時間、空間、質(zhì)量等特征信息[3]。但是,在采煤沉陷區(qū)三維建模與動態(tài)仿真項目實際的開發(fā)過程中,常常會應(yīng)用到一些很特別的礦區(qū)符號,ArcMap軟件中自帶的地圖符號庫很難準確描述和呈現(xiàn)這些地物信息,必須進行手工繪制實現(xiàn)這些信息的表達。為了彌補ArcMap軟件的不足,本研究基于ArcGIS Engine開發(fā)方式、采用C#語言進行地圖符號庫管理系統(tǒng)的建立,以滿足項目開發(fā)過程中對地圖符號的實際需要。

      1 地圖符號庫的設(shè)計與制作

      1.1 地圖符號設(shè)計方法

      GIS是一種基于數(shù)據(jù)庫管理系統(tǒng)的管理空間對象的信息系統(tǒng),具有以地理數(shù)據(jù)為操作對象的空間分析功能。ArcGIS Engine是ArcGIS的一套軟件開發(fā)引擎,可以創(chuàng)建自定義的GIS桌面程序[4]。GIS軟件符號庫中地圖符號設(shè)計的方法主要有4種,其操作特點和缺點分析如表1所示。

      本研究采用第4種方法,應(yīng)用Visual studio2005+C#語言開發(fā)環(huán)境、ArcGIS Engine開發(fā)方式進行地圖符號庫管理系統(tǒng)的建立,開發(fā)和設(shè)計一些特殊的專題地圖符號,實現(xiàn)地圖符號的制作、顯示、導(dǎo)入、導(dǎo)出、管理等功能。雖然這種方法的設(shè)計過程相對復(fù)雜、繁瑣、開發(fā)周期長,但是對于制作特殊的礦區(qū)地圖符號卻是非常有效的。

      表1 地圖符號設(shè)計方法分析

      1.2 地圖符號庫的制作

      1.2.1 地圖符號庫管理系統(tǒng)體系結(jié)構(gòu)

      地圖符號庫管理系統(tǒng)體系結(jié)構(gòu)如圖1所示。系統(tǒng)主要由三大模塊組成:符號制作、符號導(dǎo)入導(dǎo)出、符號庫管理,提供了以下3種功能:一是提供符號添加、刪除、新建功能;二是提供符號的導(dǎo)入、導(dǎo)出等功能;三是對符號庫中符號進行管理和維護。

      圖1 地圖符號庫管理系統(tǒng)體系結(jié)構(gòu)

      1.2.2 地圖符號庫管理系統(tǒng)的實現(xiàn)

      地圖符號庫管理系統(tǒng)由8個類構(gòu)成。各個類及功能分別如下:

      (1)public partial class FormSaveSymbol,主要功能是保存各類符號,保存的符號類型為ServerStyle。

      (2)public partial class FormSymbolExport,主要功能是將已經(jīng)制作好的地圖符號導(dǎo)入到指定位置(可以把設(shè)計的符號導(dǎo)入到GIS符號庫中進行地圖制作)。

      (3)public partial class FormSymbolImport,主要功能是導(dǎo)入外界已有的地圖符號(可以導(dǎo)入GIS符號庫中的點、線、面符號),對于導(dǎo)入的地圖符號可以進行二次編輯,導(dǎo)入的文件類型為ServerStyle。

      (4) public partial class UCSymbolMake

      {

      private DrawTools m_dt//儲存原始畫布大小,用來新建文件時使用;

      private Size m_defaultPicSize;

      private IStyleGallery m_pStyleGallery//是否改變畫布大??;

      private bool m_bResized = false//繪圖樣式;

      private string m_sDrawType//打開的文件名;

      private string m_fileName//調(diào)節(jié)大小可能造成畫板大小超過屏幕區(qū)域,所以事先要設(shè)置autoScroll為true。

      }

      此類的主要功能是針對已存在的地圖符號或是現(xiàn)有的圖片(JPG.Bmp.png等圖片格式)進行編輯。在地圖符號的編輯過程中GDI繪圖的坐標系有3個:屏幕坐標、客戶區(qū)坐標、文檔坐標。實際操作的過程中滾動條的出現(xiàn)增加了符號制作的難度,因為操作過程中滾動條的上下移動改變的是文檔坐標,但是客戶區(qū)坐標不變,而location屬性屬于客戶區(qū)坐標,如果根據(jù)客戶區(qū)坐標直接計算地圖符號位置就會出現(xiàn)錯誤,這就需要知道文檔坐標與客戶區(qū)坐標的偏移量,偏移量可以通過AutoScrollPostion獲得。

      (5)public partial class UCSymbolManager,主要功能是負責(zé)地圖符號的管理,數(shù)據(jù)庫的屬性表中記錄了地圖符號的“名稱”“Index”“分類”等屬性。

      (6)public partial class UCSymbolLibMgr,主要功能是顯示符號庫管理系統(tǒng)主界面。

      (7) public class DrawTools

      {

      public Graphics DrawTools_Graphics//目標畫板;

      private Pen p;

      private Image orginalImg//原始畫布,用來保存已完成的繪圖過程;

      private Color drawColor=Color.Black//繪圖顏色;

      private Graphics newgraphics//中間畫板;

      private Image finishingImg//中間畫布,用來保存繪圖過程中的痕跡。

      }

      此類的主要功能是進行地圖符號的手工繪制。根據(jù)提供的基本圖元,繪制出各種所需的地圖符號。在繪圖過程中為避免圖片抖動,防止記錄不必要的繪圖痕跡,需要先在中間畫板上將地圖符號完成,然后再將繪制好的符號一次性畫到目標畫板上。繪圖的步驟為:先實例化中間畫板(在中間畫板上繪制出所需要的地圖符號),畫布為上一次繪制結(jié)束時的畫布的副本(如果第一次繪制,那畫布就是初始時的畫布副本),然后按照地圖符號的樣式在中間畫板上進行繪制,接著將繪制結(jié)束的符號畫到中間畫布上。因為最終繪制結(jié)束時的符號應(yīng)該是在鼠標松開時完成,所以鼠標移動中所繪制的地圖符號都只能畫到中間畫布上,但仍需要顯示在目標畫板上,否則鼠標移動過程中看不到畫制的效果。當(dāng)鼠標松開時,才最終把中間畫布上的地圖符號畫到原始畫布上。

      (8)class StyleGalleryItemView,此類的主要功能是通過符號庫中的IStyleGalleryItem和IStyleGalleryClass類來生成地圖符號的預(yù)覽。

      地圖符號庫管理系統(tǒng)部分運行界面如圖2所示(顯示的為制作的部分點符號)。

      (a)符號制作的界面

      (b)符號管理界面圖2 地圖符號庫管理系統(tǒng)部分運行界面

      2 地圖符號庫管理系統(tǒng)的優(yōu)點及在實際項目中的應(yīng)用

      2.1 地圖符號庫管理系統(tǒng)的優(yōu)點

      (1)較強的靈活性。靈活性是利用C#語言開發(fā)GIS系統(tǒng)的最大優(yōu)點,C#語言可以根據(jù)系統(tǒng)的具體要求實現(xiàn)具體的操作功能,在一些GIS系統(tǒng)(特別是小型GIS系統(tǒng))開發(fā)時,具有無可比擬的優(yōu)勢。

      (2)易于擴展。地圖符號庫管理系統(tǒng)是一個獨立的模塊,它可以作為獨立的個體單獨運行,也可以嵌入到其他基于ArcGIS Engine開發(fā)方式開發(fā)的系統(tǒng)中運行。系統(tǒng)短小精悍,對軟件和硬件的要求比較低,運行速度快。

      2.2 實際項目中的應(yīng)用

      在采煤沉陷區(qū)三維建模與動態(tài)仿真項目的實際開發(fā)過程中,地圖符號庫管理系統(tǒng)很好地滿足了ArcGIS Engine應(yīng)用系統(tǒng)對符號的應(yīng)用需要。不僅準確表達了地圖信息,并且充實了礦區(qū)地圖的內(nèi)容、增強了地圖的可讀性。

      3 結(jié)語

      為了滿足采煤沉陷區(qū)三維建模與動態(tài)仿真項目對地圖符號的需要,開發(fā)了地圖符號庫管理系統(tǒng)。該系統(tǒng)不僅提供了地圖符號的制作功能,而且也集成了符號的管理功能。它可以作為獨立個體單獨運行,也可以嵌入到其他基于ArcGIS Engine方式開發(fā)的系統(tǒng)中運行。應(yīng)用結(jié)果表明,開發(fā)的地圖符號庫管理系統(tǒng)能夠滿足ArcGIS Engine應(yīng)用系統(tǒng)對地圖符號的應(yīng)用需要。

      [1] 牛芩濤,盛業(yè)華.基于ArcGIS的地圖符號庫的設(shè)計與實現(xiàn)[J].四川測繪,2003,26(3):14-116.

      [2] 祁華斌.基于ArcMap的地圖符號庫建立與符號化實施[J].測繪通報,2003,26(3):14-17.

      [3] 邱洪鋼,張青蓮,陸邵強.ArcGIS Engine開發(fā)從入門到精通[M].北京:人民郵電出版社,2010:7.

      [4] 張黎娜,鄒海.基于ArcSDE的地理數(shù)據(jù)入庫和實例開發(fā)[J].計算機技術(shù)與發(fā)展,2013,23(12):183-185.

      [5] 熊麗華,楊峰.基于ArcSDE的空間數(shù)據(jù)庫技術(shù)的應(yīng)用研究[J].計算機應(yīng)用,2004,24(3):90-96.

      [6] Zhang Degan, Li Guang, Zheng Ke. An energy-balanced routing method based on forward-aware factor for wireless Sensor Network[J]. IEEE Transactions on Industrial Informatics,2014,10(1):766-773.

      [7] Zhang Degan, Wang Xiang, Song Xiaodong. A novel approach to mapped correlation of ID for RFID anti-collision[J]. IEEE Transactions on Services Computing,2014,7(4):741-748.

      [8] Zhang Degan, Zhu Yannan. A new constructing approach for a weighted topology of wireless sensor networks based on local-world theory for the Internet of Things(IOT)[J]. Computers & Mathematics with Applications,2012,64(5):1044-1055.

      (責(zé)任編校:李秀榮)

      Design and Implementation of the Management System of Map Symbol Library Based on ArcGIS Engine

      ZHANG Li-na

      (Anhui Radio and TV University, Hefei 230000,China)

      The author of this paper has developed a map symbol management system in C # language with ArcGIS Engine to meet the needs for map symbols in three-dimensional modeling of an coal mining subsidence area and dynamic simulation of project development. Application results show that the system can meet the practical needs for map symbols in the process of project development.

      ArcGIS Engine; C# language;map symbol management system

      TP311;P283.1

      A

      1672-349X(2015)06-0024-03

      10.16160/j.cnki.tsxyxb.2015.06.010

      猜你喜歡
      畫布畫板繪制
      Art on coffee cups
      商業(yè)模式畫布
      商界評論(2022年12期)2022-03-06 16:43:01
      為什么要在畫布上割一刀?
      讓鮮花在畫布上盛開
      放學(xué)后
      童話世界(2018年17期)2018-07-30 01:52:02
      七彩畫板
      七彩畫板
      七彩畫板
      大師的畫布
      七彩畫板
      泉州市| 兴文县| 姜堰市| 九龙县| 大城县| 东源县| 离岛区| 清水县| 寻甸| 财经| 紫云| 仁怀市| 锦屏县| 米林县| 扶绥县| 城市| 太原市| 二手房| 柏乡县| 昭苏县| 西乌| 礼泉县| 丹棱县| 简阳市| 敦煌市| 仙游县| 墨江| 武夷山市| 星座| 辽宁省| 时尚| 莒南县| 海盐县| 遂昌县| 义马市| 天长市| 舟曲县| 商都县| 新津县| 正蓝旗| 清丰县|