• 
    

    
    

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

      基于ArcEngine二次開發(fā)方法及數(shù)據(jù)庫技術(shù)的矢量圖層邏輯錯(cuò)誤快速修改方法的探索實(shí)現(xiàn)

      2021-03-10 07:46:36錢發(fā)斌延紅衛(wèi)
      林業(yè)調(diào)查規(guī)劃 2021年1期
      關(guān)鍵詞:矢量圖二次開發(fā)圖層

      錢發(fā)斌,延紅衛(wèi)

      (云南省林業(yè)調(diào)查規(guī)劃院,云南 昆明 650051)

      在林業(yè)調(diào)查規(guī)劃工作中經(jīng)常需要對工作形成的矢量圖層進(jìn)行邏輯錯(cuò)誤修改,由于矢量圖層的小班因子一般較多,修改起來比較緩慢,往往是修改好了某一個(gè)因子,因修改另一個(gè)因子又導(dǎo)致該因子派生出新的錯(cuò)誤。通過研究矢量圖層邏輯錯(cuò)誤的常規(guī)修改方法,結(jié)合ArcEngine(全稱ArcGIS Engine)二次開發(fā)方法和數(shù)據(jù)庫技術(shù),探索出新的矢量數(shù)據(jù)邏輯錯(cuò)誤修改方法,并應(yīng)用于林業(yè)生產(chǎn)領(lǐng)域的各項(xiàng)工作中,以期提高工作效率。

      1 ArcEngine二次開發(fā)方法及數(shù)據(jù)庫技術(shù)

      1.1 ArcEngine二次開發(fā)方法

      ArcEngine是用于構(gòu)建定制應(yīng)用的一個(gè)完整的嵌入式的GIS組件庫。利用ArcEngine,開發(fā)者能將ArcGIS功能集成到一些應(yīng)用軟件。在ArcGIS9系列產(chǎn)品中,ArcGIS Desktop、ArcEngine和ArcGIS Server都是基于核心組件庫ArcObjects搭建的。ArcObjects組件庫有3000多個(gè)對象可供開發(fā)人員調(diào)用,為開發(fā)人員集成了大量的GIS功能,可快速地幫助開發(fā)人員進(jìn)行GIS項(xiàng)目的二次開發(fā)。2004年美國ESRI發(fā)布了ArcEngine,ArcEngine開發(fā)包提供了一系列可以在ArcGISDesktop框架之外使用的GIS組件,ArcEngine包含一個(gè)構(gòu)建定制應(yīng)用的開發(fā)包,其具有簡潔、靈活、易用、可移植性強(qiáng)等特點(diǎn),程序設(shè)計(jì)者可在自己的計(jì)算機(jī)上安裝ArcEngine開發(fā)工具包,工作于自己熟悉的編程語言和開發(fā)環(huán)境中。ArcEngine通過在開發(fā)環(huán)境中添加控件、工具、菜單條和對象庫,在應(yīng)用中嵌入GIS功能[1]。

      1.2 數(shù)據(jù)庫技術(shù)

      數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的一個(gè)核心技術(shù),是一種計(jì)算機(jī)輔助管理數(shù)據(jù)的方法,可研究如何組織和存儲數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)庫技術(shù)是現(xiàn)代信息科學(xué)與技術(shù)的重要組成部分,是計(jì)算機(jī)數(shù)據(jù)處理與信息管理系統(tǒng)的核心。數(shù)據(jù)庫技術(shù)研究解決了計(jì)算機(jī)信息處理過程中大量數(shù)據(jù)有效地組織和存儲問題,在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲冗余,實(shí)現(xiàn)數(shù)據(jù)共享,保障數(shù)據(jù)安全以及高效地檢索數(shù)據(jù)和處理數(shù)據(jù)[2]。

      2 常見的幾種圖層邏輯錯(cuò)誤修改方法

      2.1 傳統(tǒng)的修改方法

      在實(shí)際工作中,大多數(shù)人一般使用ArcGIS軟件來進(jìn)行邏輯錯(cuò)誤修改,通常的修改過程是在軟件中打開要進(jìn)行邏輯修改的圖層,然后調(diào)出查詢對話框,輸入查詢語句,查出錯(cuò)誤,再通過屬性表的計(jì)算字段功能完成修改(圖1)。

      圖1 傳統(tǒng)的修改方法

      2.2 模型修改方法

      ArcGIS提供了模型構(gòu)建功能,矢量圖層邏輯修改的另一種方法是在熟悉模型構(gòu)建的情況下調(diào)用相應(yīng)的GIS功能,通過整理完備的事務(wù)邏輯和處理流,在ArcGIS模型構(gòu)建器中自定義創(chuàng)建模型,把凡是符合條件的錯(cuò)誤讓模型完成自動修改。

      3 基于ArcEngine結(jié)合數(shù)據(jù)庫技術(shù)的修改方法

      3.1 基本思路

      基于ArcEngine二次開發(fā)技術(shù),利用Sql Server數(shù)據(jù)庫技術(shù),通過ArcEngine控件獲取圖層信息,再將圖層屬性信息轉(zhuǎn)換為數(shù)據(jù)表,轉(zhuǎn)換后的數(shù)據(jù)表放在一個(gè)DataTable數(shù)據(jù)容器中,通過數(shù)據(jù)傳輸語句導(dǎo)入數(shù)據(jù)庫,而后通過編寫邏輯檢查語句來進(jìn)行批量檢查錯(cuò)誤和改錯(cuò)。這樣做的好處在于,設(shè)計(jì)的初衷和過程可能繁瑣,但最終的處理均是交給計(jì)算機(jī)來完成,對于人工來說是無感的、十分快捷的,對于操作人員來說不需要掌握其中的內(nèi)容,只需了解怎樣修改數(shù)據(jù)邏輯即可。

      3.2 工作原理

      系統(tǒng)的基本工作邏輯是:在軟件中打開要進(jìn)行邏輯錯(cuò)誤修改的圖層,迅速地獲取到圖層信息,將圖層信息轉(zhuǎn)換為數(shù)據(jù)表并放入DataTable組件中,并將此DataTable中的內(nèi)容導(dǎo)入數(shù)據(jù)庫,數(shù)據(jù)庫根據(jù)事先通過電子表格導(dǎo)入的業(yè)務(wù)邏輯檢查語句進(jìn)行批量檢查,然后用戶根據(jù)錯(cuò)誤情況進(jìn)行修改,修改完成后再進(jìn)行刷新,檢查是否還存在未修改完的錯(cuò)誤以及是否有新的錯(cuò)誤產(chǎn)生,如是,重復(fù)以上步驟直至錯(cuò)誤修改完成(圖2)。

      圖2 系統(tǒng)的工作原理

      3.3 修改方法

      修改方法有2種,一種是在軟件中開發(fā)出編輯、修改、批量計(jì)算等功能來進(jìn)行修改,另外一種是根據(jù)個(gè)人習(xí)慣在ArcGIS中進(jìn)行修改,因?yàn)椴捎眠@種在某種意義上打破了ArcGIS自動架構(gòu)鎖的限制(實(shí)際鎖依然存在,但可以在軟件中打開圖層進(jìn)行邏輯檢查的同時(shí),又在ArcGIS中對同一圖層進(jìn)行編輯和修改,感覺像不存在鎖的限制一樣),邏輯檢查語句可以根據(jù)實(shí)際情況編寫,如在工作中需要小斑面積要大于0.067 hm2(1畝),樹種平均胸徑要大于5 cm才能有蓄積等這樣的業(yè)務(wù)邏輯要求,可以統(tǒng)一編寫所有語句存放在一個(gè)電子表格中導(dǎo)入軟件即可,根據(jù)需要可隨時(shí)更改,極其方便和靈活(圖3)。

      4 應(yīng)用分析及對比驗(yàn)證

      4.1 應(yīng)用分析

      經(jīng)過實(shí)例驗(yàn)證,從理論層面上說,基于ArcEngine二次開發(fā)方法結(jié)合數(shù)據(jù)庫技術(shù)的修改方法對矢量圖層的邏輯錯(cuò)誤進(jìn)行修改,不僅避免了傳統(tǒng)修改方法改一處需要先查詢再改錯(cuò)再查詢再改錯(cuò)的反復(fù)修改的繁瑣,同時(shí),針對批量查詢出的錯(cuò)誤,有時(shí)可以根據(jù)錯(cuò)誤情況結(jié)合人工判斷把幾種錯(cuò)誤統(tǒng)一修改,在很大程度上減少了改此及彼派生出新的錯(cuò)誤,如果采用傳統(tǒng)的修改方法,有可能對一個(gè)字段已修改正確了,而因改了另一個(gè)字段又出現(xiàn)了新的錯(cuò)誤,這種情況的出現(xiàn)無法避免,其取決于矢量圖層字段之間的邏輯關(guān)系是否嚴(yán)謹(jǐn)。因此,采用批量查詢修改的方式從理論上無疑是快捷高效的,而模型修改方法在解決這一問題上是無能為力的,除非在開始編寫模型時(shí)就把所有的邏輯錯(cuò)誤類型考慮在內(nèi)。

      4.2 對比驗(yàn)證

      從執(zhí)行效率層面來看,模型修改方法的執(zhí)行效率是最高的,因?yàn)槠渌械墓ぷ骶捎?jì)算機(jī)來完成;傳統(tǒng)的修改方法通過編寫語句完成一個(gè)查詢平均約需1.5 min時(shí)間,而修改一次錯(cuò)誤約30 s時(shí)間,則100個(gè)邏輯查詢語句(假設(shè)派生的錯(cuò)誤有20個(gè)),則總耗時(shí)為:(100個(gè)+20個(gè))×1.5 min/個(gè)+(100個(gè)+20個(gè))×0.5 min/個(gè)=240 min=4 h。當(dāng)然,這是理論上的絕對值,實(shí)際修改過程中可能耗時(shí)要更久;基于ArcEngine結(jié)合數(shù)據(jù)庫技術(shù)的修改方法省去了逐一輸入語句查詢過程,也省去了對派生錯(cuò)誤的逐一查詢過程,較傳統(tǒng)的修改方法,100個(gè)邏輯查詢語句(同樣假設(shè)派生的錯(cuò)誤有20個(gè))從理論上看修改這些錯(cuò)誤的總耗時(shí)為:(100個(gè)+20個(gè))×0.5 min/個(gè)=60 min=1 h。由此看來,效率提高了4倍(表1)。

      圖3 修改方法

      通過實(shí)際驗(yàn)證,后2種方法的效率之比不止于4倍。因傳統(tǒng)的修改方法如果修改的錯(cuò)誤數(shù)較多,需反復(fù)進(jìn)行同樣類似的操作,會使人變得疲憊不堪,中間需要反復(fù)休息,而基于ArcEngine結(jié)合數(shù)據(jù)庫技術(shù)的修改方法本身耗時(shí)不多,可一氣呵成,這樣極大地提高了工作效率。

      5 結(jié)論

      實(shí)踐證明,基于ArcEngine二次開發(fā)方法結(jié)合數(shù)據(jù)庫技術(shù)的矢量圖層邏輯錯(cuò)誤修改方法是可靠和高效的,最重要的是可以重復(fù)使用,不限圖層、字段類型,任何坐標(biāo)的任何矢量圖層均可放入軟件中,只需根據(jù)不同業(yè)務(wù)邏輯導(dǎo)入相應(yīng)的邏輯檢查語句集(語句集還可根據(jù)實(shí)際隨時(shí)更改),即可快速檢查和修改,一次編程,永久使用,使用簡單,靈活方便,可充分提高林業(yè)生產(chǎn)和工作效率。

      猜你喜歡
      矢量圖二次開發(fā)圖層
      Analysis of the line current differential protection considering inverter-interfaced generation station and countermeasures
      淺談基于Revit平臺的二次開發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      淺談Mastercam后處理器的二次開發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
      巧用混合圖層 制作抽象動感森林
      利用矢量圖對小物體從光滑斜面下滑運(yùn)動探討
      圖層法在地理區(qū)域圖讀圖中的應(yīng)用
      淺析“遞層優(yōu)化法”在礦井制圖中的應(yīng)用
      河南科技(2014年6期)2014-04-04 08:00:42
      基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
      Photoshop圖層的解讀
      松原市| 垦利县| 和静县| 肥东县| 和平区| 明溪县| 高阳县| 绵竹市| 申扎县| 古丈县| 郎溪县| 宝应县| 天台县| 盘山县| 庆云县| 东兰县| 平南县| 白山市| 榕江县| 华坪县| 东方市| 扬州市| 青川县| 南溪县| 中江县| 广平县| 大石桥市| 兖州市| 武宁县| 绍兴市| 松阳县| 安乡县| 孟州市| 湖州市| 哈尔滨市| 德化县| 枣强县| 甘德县| 蓝山县| 长春市| 攀枝花市|