亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Addin的Arc GIS桌面系統(tǒng)擴(kuò)展方法研究

        2020-03-18 11:04:14劉康晨
        江蘇科技信息 2020年4期
        關(guān)鍵詞:調(diào)試信息系統(tǒng)

        劉康晨

        (江蘇師范大學(xué)地理測(cè)繪與城鄉(xiāng)規(guī)劃學(xué)院,江蘇徐州 221116)

        0 引言

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

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

        ArcGIS桌面系統(tǒng)不僅功能強(qiáng)大,還提供靈活的定制開(kāi)發(fā)方式,用以進(jìn)一步滿(mǎn)足用戶(hù)個(gè)性化需求。如 ArcGIS提供了VBA(Visual Basic for Applications),ArcObjects(簡(jiǎn)稱(chēng) AO),ArcEngine(簡(jiǎn)稱(chēng) AE),Model-Builder,Addin等多種定制擴(kuò)展開(kāi)發(fā)技術(shù)[4-5],供用戶(hù)自主定制開(kāi)發(fā)。在開(kāi)發(fā)過(guò)程中,傳統(tǒng)開(kāi)發(fā)方式更側(cè)重基于VBA,AO或AE的開(kāi)發(fā),而Addin技術(shù)作為新推出的開(kāi)發(fā)技術(shù),目前少有人對(duì)其研究分析。為更好地利用Addin開(kāi)發(fā)技術(shù),實(shí)現(xiàn)對(duì)ArcGIS桌面系統(tǒng)的擴(kuò)展,本文進(jìn)一步對(duì)該種開(kāi)發(fā)方式進(jìn)行解釋說(shuō)明。

        1 Addin技術(shù)概述

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

        其中,Python Addin技術(shù)在開(kāi)發(fā)過(guò)程中可直接調(diào)用ArcGIS內(nèi)置的ArcPY站點(diǎn)包,再利用ArcPY站點(diǎn)包實(shí)現(xiàn)對(duì)ArcGIS工具箱中各種工具直接調(diào)用。這既避免了了解復(fù)雜AO組件的難題,又降低了對(duì)開(kāi)發(fā)人員的要求[7]。同時(shí),Python語(yǔ)言簡(jiǎn)潔、寫(xiě)法獨(dú)特的優(yōu)勢(shì),使得在開(kāi)發(fā)過(guò)程中可減少代碼數(shù)量,且不需要編譯。但在這種開(kāi)發(fā)方式下,其編碼不易調(diào)試且可擴(kuò)展元素較少,缺點(diǎn)較為明顯。

        同Python Addin技術(shù)相比,面向.NET及Java高級(jí)編程語(yǔ)言的開(kāi)發(fā)方式可支持更多可擴(kuò)展元素。該方式是基于AO組件的擴(kuò)展開(kāi)發(fā),可實(shí)現(xiàn)細(xì)粒度的控制ArcGIS的各種操作。同時(shí),C#作為專(zhuān)為.NET Framework設(shè)計(jì)的一門(mén)面向?qū)ο蟮母呒?jí)編程語(yǔ)言,其語(yǔ)言簡(jiǎn)潔、兼容性強(qiáng)、面向?qū)ο蠹芭cWeb緊密結(jié)合等優(yōu)勢(shì)突出[8],更容易受到開(kāi)發(fā)人員的青睞。

        2 基于C#的Addin開(kāi)發(fā)一般步驟

        基于C#的Addin開(kāi)發(fā)過(guò)程一般可分為4個(gè)步驟:創(chuàng)建項(xiàng)目、添加組件、編寫(xiě)代碼、調(diào)試安裝。具體開(kāi)發(fā)流程如圖1所示。

        圖1 Addin開(kāi)發(fā)流程

        2.1 創(chuàng)建項(xiàng)目

        打開(kāi)Visual Studio 2010,選擇Desktop Add-Ins模板 ,具 體 有 ArcCatalog Add-in,ArcMap Add-in,ArcScene Add-in及ArcGlobe Add-in四種選擇,在開(kāi)發(fā)過(guò)程中可根據(jù)實(shí)際需要選擇相應(yīng)的模板。隨后,設(shè)置項(xiàng)目名稱(chēng)及其存放位置,并完善相關(guān)描述信息,如項(xiàng)目名稱(chēng)、開(kāi)發(fā)單位、開(kāi)發(fā)人員姓名、插件的用途介紹及插件的圖標(biāo)設(shè)置等。完成后即可點(diǎn)擊Next進(jìn)行下一步設(shè)置。

        2.2 添加組件

        完善相關(guān)信息后,根據(jù)插件界面設(shè)計(jì)的實(shí)際需要,為該項(xiàng)目添加相應(yīng)組件。Addin中支持的組件類(lèi)型主要有交互類(lèi)和容器類(lèi)兩種[9],具體如圖2所示,且部分交互類(lèi)組件還可依托于容器類(lèi)組件上。為組件添加相應(yīng)的描述信息后,點(diǎn)擊Finish即可實(shí)現(xiàn)項(xiàng)目創(chuàng)建。此外,在完成項(xiàng)目創(chuàng)建后,還可以通過(guò)右擊項(xiàng)目名稱(chēng),選擇“添加”—“組件”方式繼續(xù)添加其他組件元素。

        圖2 Addin支持功能類(lèi)型

        2.3 編寫(xiě)代碼

        完成項(xiàng)目創(chuàng)建后,在生成的Config.esriaddinx文件中可查看上述添加的相關(guān)描述信息及組件信息。同時(shí),利用AO及C#語(yǔ)言在組件對(duì)應(yīng)的類(lèi)文件中輸入相應(yīng)代碼,通過(guò)具體的對(duì)象或接口,實(shí)現(xiàn)擴(kuò)展元素相應(yīng)功能及彼此間的交互。

        2.4 調(diào)試安裝

        首次對(duì)Addin插件編譯調(diào)試時(shí),需先將其附加到已啟動(dòng)的ArcMap主程序上,具體通過(guò)選擇“工具”-“附加到進(jìn)程”實(shí)現(xiàn)。隨后要先關(guān)閉ArcMap,然后再進(jìn)行反復(fù)調(diào)試。在確保程序正確無(wú)誤后,即可發(fā)布后綴名為.esriAddIn的文件,雙擊文件即可實(shí)現(xiàn)安裝部署,操作簡(jiǎn)單快捷。同時(shí),可通過(guò)ArcMap下的“加載項(xiàng)管理器”直接卸載已安裝的Addin插件,不會(huì)存在注冊(cè)表殘留等問(wèn)題。

        3 Addin擴(kuò)展插件實(shí)例

        當(dāng)前ArcMap面向Geodatabase表或要素類(lèi),將柵格數(shù)據(jù)以屬性形式存儲(chǔ)到字段中時(shí),存在只能人工手動(dòng)逐條加入、不能批量加載的不足。根據(jù)第三章中基于C#的Addin開(kāi)發(fā)步驟,以開(kāi)發(fā)設(shè)計(jì)一個(gè)實(shí)現(xiàn)柵格數(shù)據(jù)批量加載的“ILoader”插件為例,進(jìn)一步闡述基于C#的Addin開(kāi)發(fā)過(guò)程。開(kāi)發(fā)設(shè)計(jì)的插件用戶(hù)界面如圖3所示。

        圖3 ILoader工具條界面

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

        //配置文件Config.esriaddinx信息

        //項(xiàng)目描述信息

        <Name>ILoader</Name>

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

        <Description>一個(gè)向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相關(guān)信息

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

        message="選擇一個(gè)可加載圖像數(shù)據(jù)的目標(biāo)表或要素類(lèi)"caption="表"tip="目標(biāo)表"category="Add-InControls"image="ImagesC1ComBox.png"sizeString="WWWWWWWWWWW"rows="12"itemSizeString="WWWWWWWWWWW"hintText="-------目標(biāo)表-------"editable="true"/>

        //工具欄ILoader相關(guān)信息

        <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>

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

        4 結(jié)語(yǔ)

        ArcGIS桌面系統(tǒng)作為一個(gè)專(zhuān)業(yè)GIS應(yīng)用軟件套件,其包含的ArcGISfor Desktop及ArcGISPro在各行業(yè)領(lǐng)域的數(shù)據(jù)處理過(guò)程中均得到廣泛應(yīng)用,但其本身在一些功能細(xì)節(jié)上還存在一定不足。目前,針對(duì)ArcGISfor Desktop擴(kuò)展的方法多樣,而利用Addin技術(shù)擴(kuò)展ArcGIS桌面系統(tǒng),不僅降低了開(kāi)發(fā)門(mén)檻,還極大地提高了開(kāi)發(fā)效率。本文主要闡述了基于C#的Addin開(kāi)發(fā)一般流程,并通過(guò)開(kāi)發(fā)實(shí)例具體驗(yàn)證擴(kuò)展插件的優(yōu)越性,希望能為有意愿學(xué)習(xí)Addin開(kāi)發(fā)技術(shù)的人員提供一定借鑒意義。

        表1 ILoader組件構(gòu)成

        猜你喜歡
        調(diào)試信息系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于航拍無(wú)人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        FOCAS功能在機(jī)床調(diào)試中的開(kāi)發(fā)與應(yīng)用
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        無(wú)線(xiàn)通信中頻線(xiàn)路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        調(diào)壓柜的調(diào)試與試運(yùn)行探討
        展會(huì)信息
        成人性生交大片免费看i| 亚洲av无码电影网| 午夜短视频日韩免费| 国产在线精品亚洲视频在线 | 国产少妇高潮在线视频| 人人澡人人妻人人爽人人蜜桃麻豆| 奶头又大又白喷奶水av| 青青草97国产精品免费观看| 精品国产福利久久久| 在线亚洲精品一区二区三区| 蜜桃视频在线看一区二区三区| 久久狠狠色噜噜狠狠狠狠97| 精品国产三级在线观看| 久久夜色精品国产噜噜噜亚洲av| 国产目拍亚洲精品二区| 国产毛女同一区二区三区| 丰满爆乳在线播放| 四虎影视亚洲精品| av资源在线永久免费观看| 蜜桃传媒免费在线播放| 成人三级a视频在线观看| 亚洲AV无码精品一区二区三区l| 台湾佬中文偷拍亚洲综合| 在线观看国产视频午夜| 国产精品v片在线观看不卡| 无码不卡高清毛片免费| 中文字幕中乱码一区无线精品| 人妻少妇精品视中文字幕免费| 亚洲av中文无码乱人伦在线视色 | 中文字幕一区二区三区久久网| 疯狂做受xxxx国产| 激情内射亚洲一区二区三区爱妻| 日本a在线免费观看| 国产一区二区三区中出| 中文字幕精品一区二区精品| 亚洲影院天堂中文av色| 免费美女黄网站久久久| 亚洲成人中文字幕在线视频| 日韩人妻无码一区二区三区| 成人免费无码a毛片| 草逼视频污的网站免费|