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

基于Addin的Arc GIS桌面系統擴展方法研究

2020-03-18 11:04:14劉康晨
江蘇科技信息 2020年4期
關鍵詞:調試信息系統

劉康晨

(江蘇師范大學地理測繪與城鄉規劃學院,江蘇徐州 221116)

0 引言

ArcGIS是美國ESRI公司在對其早期開發產品整合的基礎上,于1999年推出的一款可伸縮、全系列GIS平臺,供用戶選擇使用。從最初的ArcInfo 8發展到如今的ArcGIS10.7,當前ArcGIS主要包括了ArcGIS for Desktop,ArcGIS Server,ArcGIS Online,ArcGIS Enterprise,ArcGISPro等產品。其中,ArcGIS桌面系統是供GIS專業人員編輯、管理和分析地理信息的軟件套件,可用于完成數據編輯、制圖、可視化、地理分析和空間處理等一系列由簡單到復雜的GIS任務[1]。目前的ArcGIS桌面系統主要包括兩大類:ArcGISfor Desktop,ArcGISPro。在傳統ArcGISfor Desktop中主要包括 ArcMap,ArcCatalog,ArcScene和ArcGlobe四類產品,而ArcGISPro在整合傳統ArcGISfor Desktop產品于一體的基礎上,又加入City Engine以提升ArcGIS三維建模能力,在未來有取代ArcGIS for Desktop的可能。

隨著版本不斷更新,ArcGIS桌面系統功能更加完善,現已成為GIS專業人員處理地理信息的必備軟件。利用ArcGIS桌面系統處理地理數據時優勢明顯[2-3]:借助其強大的分析工具和擴展模塊,可實現對地理數據方便快捷地處理;同時,憑借其友好地人機交互界面,用戶可以對數據快速處理;而軟件本身提供的模板和具備的能力,能極大減少地圖的生產耗時,且在一定程度上實現地圖生產自動化;此外,還可以輕松創建GIS資源,便于信息分享。

ArcGIS桌面系統不僅功能強大,還提供靈活的定制開發方式,用以進一步滿足用戶個性化需求。如 ArcGIS提供了VBA(Visual Basic for Applications),ArcObjects(簡稱 AO),ArcEngine(簡稱 AE),Model-Builder,Addin等多種定制擴展開發技術[4-5],供用戶自主定制開發。在開發過程中,傳統開發方式更側重基于VBA,AO或AE的開發,而Addin技術作為新推出的開發技術,目前少有人對其研究分析。為更好地利用Addin開發技術,實現對ArcGIS桌面系統的擴展,本文進一步對該種開發方式進行解釋說明。

1 Addin技術概述

Addin通常被譯作插件,是從ArcGIS10開始引入的新的桌面定制開發技術。相較于AO,AE等傳統二次開發方式,Addin具有容易創建、易于安裝、便于共享、更加安全及方便卸載等特性。在開發過程中,根據所采用的開發語言不同,可將Addin開發方式具體分為兩種[6]:基于Python腳本語言的Addin技術、面向.NET(包含C#,VB,C++等)及Java高級編程語言的Addin技術。

其中,Python Addin技術在開發過程中可直接調用ArcGIS內置的ArcPY站點包,再利用ArcPY站點包實現對ArcGIS工具箱中各種工具直接調用。這既避免了了解復雜AO組件的難題,又降低了對開發人員的要求[7]。同時,Python語言簡潔、寫法獨特的優勢,使得在開發過程中可減少代碼數量,且不需要編譯。但在這種開發方式下,其編碼不易調試且可擴展元素較少,缺點較為明顯。

同Python Addin技術相比,面向.NET及Java高級編程語言的開發方式可支持更多可擴展元素。該方式是基于AO組件的擴展開發,可實現細粒度的控制ArcGIS的各種操作。同時,C#作為專為.NET Framework設計的一門面向對象的高級編程語言,其語言簡潔、兼容性強、面向對象及與Web緊密結合等優勢突出[8],更容易受到開發人員的青睞。

2 基于C#的Addin開發一般步驟

基于C#的Addin開發過程一般可分為4個步驟:創建項目、添加組件、編寫代碼、調試安裝。具體開發流程如圖1所示。

圖1 Addin開發流程

2.1 創建項目

打開Visual Studio 2010,選擇Desktop Add-Ins模板 ,具 體 有 ArcCatalog Add-in,ArcMap Add-in,ArcScene Add-in及ArcGlobe Add-in四種選擇,在開發過程中可根據實際需要選擇相應的模板。隨后,設置項目名稱及其存放位置,并完善相關描述信息,如項目名稱、開發單位、開發人員姓名、插件的用途介紹及插件的圖標設置等。完成后即可點擊Next進行下一步設置。

2.2 添加組件

完善相關信息后,根據插件界面設計的實際需要,為該項目添加相應組件。Addin中支持的組件類型主要有交互類和容器類兩種[9],具體如圖2所示,且部分交互類組件還可依托于容器類組件上。為組件添加相應的描述信息后,點擊Finish即可實現項目創建。此外,在完成項目創建后,還可以通過右擊項目名稱,選擇“添加”—“組件”方式繼續添加其他組件元素。

圖2 Addin支持功能類型

2.3 編寫代碼

完成項目創建后,在生成的Config.esriaddinx文件中可查看上述添加的相關描述信息及組件信息。同時,利用AO及C#語言在組件對應的類文件中輸入相應代碼,通過具體的對象或接口,實現擴展元素相應功能及彼此間的交互。

2.4 調試安裝

首次對Addin插件編譯調試時,需先將其附加到已啟動的ArcMap主程序上,具體通過選擇“工具”-“附加到進程”實現。隨后要先關閉ArcMap,然后再進行反復調試。在確保程序正確無誤后,即可發布后綴名為.esriAddIn的文件,雙擊文件即可實現安裝部署,操作簡單快捷。同時,可通過ArcMap下的“加載項管理器”直接卸載已安裝的Addin插件,不會存在注冊表殘留等問題。

3 Addin擴展插件實例

當前ArcMap面向Geodatabase表或要素類,將柵格數據以屬性形式存儲到字段中時,存在只能人工手動逐條加入、不能批量加載的不足。根據第三章中基于C#的Addin開發步驟,以開發設計一個實現柵格數據批量加載的“ILoader”插件為例,進一步闡述基于C#的Addin開發過程。開發設計的插件用戶界面如圖3所示。

圖3 ILoader工具條界面

“ILoader”插件中包括的具體組件名稱及其作用,具體如表1所示。同時,關于插件的相關描述性信息及所有的組件元素信息,均可在配置文件Config.esriaddinx中查看,如下所示。

//配置文件Config.esriaddinx信息

//項目描述信息

<Name>ILoader</Name>

<AddInID>{40b44017-99e7-4acf-acb5-5805b96 d111f}</AddInID>

<Description>一個向Geodatabase表批量加載圖像的工具欄</Description>

<Version>1.0</Version>

<Image>ImagesILoader.png</Image>

<Author>劉康晨</Author>

<Company>JSNU</Company>

<Date>2020/01/01</Date>

<Targets>

<Target name="Desktop"version="10.2"/>

</Targets>

<AddIn language="CLR"library="ILoader.dll"namespace="ILoader">

//組合框C1ComBox相關信息

<ComboBox id="JSNU_ILoader_C1ComBox"class="C1ComBox"

message="選擇一個可加載圖像數據的目標表或要素類"caption="表"tip="目標表"category="Add-InControls"image="ImagesC1ComBox.png"sizeString="WWWWWWWWWWW"rows="12"itemSizeString="WWWWWWWWWWW"hintText="-------目標表-------"editable="true"/>

//工具欄ILoader相關信息

<Toolbar id="JSNU_ILoader_ILoader"caption="ILoader"showInitially="false">

<Items>

<ComboBoxrefID="JSNU_ILoader_C1ComBox"/>

<ComboBox refID=

"JSNU_ILoader_C2ComBox"separator="true"/>

<ItemrefID=

"JSNU_ILoader_C3Button"separator="true"/>

<Button refID="JSNU_ILoader_C4Button"/>

</Items>

利用該插件進行柵格數據加載時,首先通過C1ComBox組合框選擇包含柵格字段的表,通過C2ComBox組合框選擇一個字段用于匹配;然后通過C3Button,C4Button按鈕選擇待匹配的柵格數據,依次分析其文件名,并將與“匹配字段”中取值匹配的柵格數據返回柵格字段中,未匹配的則返回Null,直至處理完所有被選中的數據為止。此外,匹配結果還可通過C5DWnd可停靠窗口上的DataGridView控件顯示。通過本插件最終可實現柵格數據的批量加載,完善ArcMap原有功能的不足[10]。

4 結語

ArcGIS桌面系統作為一個專業GIS應用軟件套件,其包含的ArcGISfor Desktop及ArcGISPro在各行業領域的數據處理過程中均得到廣泛應用,但其本身在一些功能細節上還存在一定不足。目前,針對ArcGISfor Desktop擴展的方法多樣,而利用Addin技術擴展ArcGIS桌面系統,不僅降低了開發門檻,還極大地提高了開發效率。本文主要闡述了基于C#的Addin開發一般流程,并通過開發實例具體驗證擴展插件的優越性,希望能為有意愿學習Addin開發技術的人員提供一定借鑒意義。

表1 ILoader組件構成

猜你喜歡
調試信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
FOCAS功能在機床調試中的開發與應用
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
調壓柜的調試與試運行探討
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 日韩精品欧美国产在线| 秋霞一区二区三区| 中文成人在线视频| 天堂久久久久久中文字幕| 亚洲最猛黑人xxxx黑人猛交| 国产一区二区三区精品欧美日韩| 欧美福利在线播放| 国产成人免费观看在线视频| 国产男女免费完整版视频| 亚洲最黄视频| av在线5g无码天天| 久久中文字幕av不卡一区二区| 亚洲无码熟妇人妻AV在线| av午夜福利一片免费看| 免费不卡在线观看av| 亚洲娇小与黑人巨大交| 成人自拍视频在线观看| 欧美综合成人| 在线播放国产99re| 色婷婷综合激情视频免费看| 日韩久久精品无码aV| 99热这里只有精品在线观看| 亚洲成人高清无码| 人妻精品久久无码区| 小说区 亚洲 自拍 另类| 亚洲熟女中文字幕男人总站| 女人毛片a级大学毛片免费| 青青草原国产精品啪啪视频| 久久人人妻人人爽人人卡片av| 欧美色香蕉| 久久99国产视频| 黄色网页在线播放| 国产精品第一区在线观看| 男女性色大片免费网站| 在线免费观看AV| 99久久精品免费视频| 欧美人在线一区二区三区| 国产AV无码专区亚洲精品网站| 国内精品久久久久鸭| 国产欧美日韩va另类在线播放| 日韩在线播放中文字幕| 亚洲va欧美va国产综合下载| 永久免费av网站可以直接看的| 爱爱影院18禁免费| 乱人伦99久久| 日韩欧美在线观看| 色综合天天娱乐综合网| 丁香五月婷婷激情基地| 亚洲一区二区视频在线观看| 亚洲天堂视频网| 全色黄大色大片免费久久老太| 99久久亚洲综合精品TS| 91日本在线观看亚洲精品| 亚洲一级毛片免费观看| 精品99在线观看| 欧美日韩第三页| 71pao成人国产永久免费视频| 欧美三级不卡在线观看视频| 三上悠亚精品二区在线观看| 亚洲天堂日韩在线| 久久免费精品琪琪| 亚洲人成网站色7799在线播放| 自拍欧美亚洲| 免费久久一级欧美特大黄| 亚洲熟女中文字幕男人总站| 久久中文字幕不卡一二区| 青青草原国产免费av观看| 情侣午夜国产在线一区无码| 97视频在线精品国自产拍| 欧美激情成人网| 蜜桃视频一区二区| 无码久看视频| 成人福利在线观看| 国产高清在线观看| 成人福利一区二区视频在线| 久久香蕉国产线看观看亚洲片| 国产99在线| 四虎国产精品永久在线网址| 亚洲女同一区二区| 日本一区二区三区精品国产| 国产自产视频一区二区三区| 中国国产高清免费AV片|