国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ArcObject實現(xiàn)ArcMap數(shù)據編輯流程的改變

2015-06-15 01:47閆會杰王勁徐菁言
測繪技術裝備 2015年3期
關鍵詞:賦值要素流程

閆會杰 王勁 徐菁言

(國家測繪地理信息局第一航測遙感院 陜西西安 710054)

1 引言

國家 1∶5萬基礎地理信息數(shù)據庫是國家空間數(shù)據基礎設施的重要組成部分,是國家信息化權威的、統(tǒng)一的定位基準和空間載體。該數(shù)據庫已廣泛應用于國民經濟建設(如水利、交通、國土、農林資源普查、環(huán)境保護、城鄉(xiāng)規(guī)劃與建設)、國防建設的多個領域,因此對政府決策、區(qū)域規(guī)劃、社會管理、工程建設、資源調查與監(jiān)測、應急救災等諸多方面發(fā)揮了基礎性、支撐性的作用。

為了加快國家 1∶5萬基礎地理信息數(shù)據庫的現(xiàn)勢性,確保其成果的可用時效性,對于該數(shù)據庫實現(xiàn)定期更新十分重要。目前我國已經開始2014版國家1∶5萬基礎地理信息數(shù)據庫更新工作。

2 要素的狀態(tài)賦值概述

國家 1∶5萬基礎地理信息數(shù)據庫的持續(xù)更新采用重點要素的動態(tài)更新和全要素的動態(tài)更新相結合的方式。

具體流程和關鍵方法為:在上一年的數(shù)據底圖基礎上,將所有要素的狀態(tài)(STACOD屬性)賦值為“原始”,并對每個要素賦予全庫唯一標識碼(FEAID屬性),并標明數(shù)據的版本信息(VERSION屬性),然后開始要素更新工作。在更新過程中,任何要素的增加、刪除、修改都在STACOD屬性中反映出來,更新完的數(shù)據中,要素的屬性分為“原始”、“修改”、“增加”和“刪除”,F(xiàn)EAID屬性和VERSION屬性和STACOD屬性應保持邏輯一致性。更新成果在和已有2013版數(shù)據庫數(shù)據進行整合時,即可通過STACOD、FEAID和VERSION三個屬性,快速實現(xiàn)數(shù)據融合。以2013版數(shù)據為例,具體更新模式如圖1所示。

傳統(tǒng)作業(yè)模式中要素的狀態(tài)賦值一般采取以下三種方法。一是前期對STACOD賦值采用手工賦值的方法完成;二是在數(shù)據編輯過程中,忽略STACOD屬性,完成更新后通過和原始數(shù)據進行比對,如發(fā)現(xiàn)有變化,再通過半自動方式完成賦值;三是采用ArcMap的編輯追蹤功能,將編輯過的數(shù)據標識出來,完成更新后再進行確認、賦值。

因為任何要素的任一節(jié)點變化都需要在 STACOD中反映出來,所以采用傳統(tǒng)作業(yè)模式時,要素的狀態(tài)賦值工作量巨大、過程繁瑣,而且容易出錯。

圖1:傳統(tǒng)數(shù)據更新模式

3 解決之道

解決上述困難的方法很多,本文采用基于ArcObject開發(fā)平臺實現(xiàn)數(shù)據編輯過程中對要素編輯狀態(tài)的控制,從而實現(xiàn)數(shù)據編輯傳統(tǒng)作業(yè)模式的改變。

3.1 ArcObject開發(fā)平臺

ArcObject(以下簡稱為“AO”)是 ESRI公司ArcGIS家族中應用程序的開發(fā)平臺,是基于Microsoft COM技術所構建的一系列COM組件集。AO的程序開發(fā)方式可以分為兩種。一種是在ArcMap應用框架基礎上進行定制開發(fā),另一種是脫離 ArcMap應用框架獨立開發(fā)。

3.2 技術流程

根據 ArcObject開發(fā)平臺和要素的狀態(tài)賦值工作的特點,本文采用上述第一種開發(fā)方式。總體思路為:修改ArcMap應用框架數(shù)據編輯流程,在數(shù)據編輯過程中實現(xiàn)對要素編輯狀態(tài)的控制,從而實現(xiàn)要素編輯的自動化。具體技術流程如圖2所示。

圖2:要素編輯狀態(tài)控制實現(xiàn)技術流程

4 過程實現(xiàn)

ArcMap提供了三種功能拓展模式:VBA,DLL和控件開發(fā),本文選用C#開發(fā)DLL來拓展ArcMap10.1的功能。

首先安裝Microsoft Visual Studio(VS)開發(fā)環(huán)境,再安裝ArcGIS Desktop和ArcObject SDK for Microsoft.NET Framework。這時在 VS中新建工程就可以看到ArcGIS的Desktop拓展模板,如圖3所示。

圖3:Desktop拓展模板

選擇Editor Extension的拓展類型,在生成的對應cs文件中可以看到默認生成的兩個可重寫過程OnStartup和 OnShutdown。在 OnStartup中添加Events.OnStartEditing+=new EditEvents_OnStartEditingEventHandler(Events_OnStartEditing); Events.OnStopEditing+=new EditEvents_OnStopEditingEventHandler(Events_OnStopEditing);,來改變ArcMap默認的編輯流程。

之后在OnStartEditing和OnStopEditing事件中添加代碼,使編輯流程轉向自定義的流程。關鍵代碼如下:

再添加一個切換開關,以便控制使用哪種編輯流程,從而實現(xiàn)及時切換回ArcMap正常的編輯狀態(tài)。

動態(tài)更新項目中的要素刪除并不是真的刪除,只是在要素的STACOD中賦予“刪除”的屬性即可,該功能可以通過添加工具來完成。

當然項目的其它需求也可以通過類似的開發(fā)來完成。完成之后進行編譯,就得到esriAddIn文件,雙擊該文件就完成在 ArcMap中的注冊。這時在ArcMap中選擇使用修改后編輯流程,任何編輯動作的完成,都會同時在要素的STACOD屬性中進行修改和標識。當然對應FEAID屬性和Version屬性的值也可以通過添加相應代碼來完成同步修改。

5 結束語

通過ArcMap的功能拓展,改變了ArcMap的自身編輯流程,加入自定義的部分功能,使要素編輯動作完成的同時,完成對要素狀態(tài)的賦值,完全解除了作業(yè)員對STACOD賦值的工作量,大大提高了數(shù)據更新工作的效率。

當然項目的其它需求也可以通過類似的開發(fā)來完成。完成之后進行編譯,就得到esriAddIn文件,雙擊該文件就完成在 ArcMap中的注冊。這時在ArcMap中選擇使用修改后編輯流程,任何編輯動作的完成,都會同時在要素的STACOD屬性中進行修改和標識。當然對應FEAID屬性和Version屬性的值也可以通過添加相應代碼來完成同步修改。

[1]陳軍,王東華,商瑤玲,等.國家1∶50 000數(shù)據庫更新工程總體設計研究與技術創(chuàng)新[J].測繪學報,2010,39(1).

[2]蔣波濤.ArcObjccts開發(fā)基礎與技巧一基于VisualBasic.NET[M].武漢∶武漢大學出版社,2006.

猜你喜歡
賦值要素流程
吃水果有套“清洗流程”
掌握這6點要素,讓肥水更高效
強賦值幺半群上的加權Mealy機與加權Moore機的關系*
違反流程 致命誤判
觀賞植物的色彩要素在家居設計中的應用
論美術中“七大要素”的辯證關系
四川省高考志愿填報流程簡圖
算法框圖問題中的易錯點
析OGSA-DAI工作流程
利用賦值法解決抽象函數(shù)相關問題オ