ArcEngine編程_第1頁
ArcEngine編程_第2頁
ArcEngine編程_第3頁
ArcEngine編程_第4頁
ArcEngine編程_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、AE開發(fā)教程開發(fā)教程AE簡(jiǎn)介ArcGIS介紹ArcGIS概述 統(tǒng)一的地理信息系統(tǒng)平臺(tái) 靈活性 信息技術(shù)標(biāo)準(zhǔn) 功能強(qiáng)大ArcGIS由三個(gè)重要部分組成ArcGIS 桌面軟件 ,一個(gè)一體化的高級(jí)的GIS應(yīng)用ArcSDE通路,一個(gè)用數(shù)據(jù)庫管理系統(tǒng)管理空間數(shù)據(jù)庫的接口ArcServer軟件,基于Internet的分布式數(shù)據(jù)和服務(wù)的GIS ArcGIS桌面軟件 ArcView ArcEditor ArcInfoArcSDE 是在數(shù)據(jù)庫管理系統(tǒng)中存儲(chǔ)和管理多用戶空間數(shù)據(jù)庫的通路。ArcGIS Desktop通過它來應(yīng)用和管理Geodatabase數(shù)據(jù)。ArcServer 為ArcGIS系統(tǒng)增加了Intern

2、et地圖服務(wù)能力,所有的ArcGIS桌面客戶端可以通過Web從ArcServer服務(wù)器動(dòng)態(tài)地獲取矢量數(shù)據(jù)流。ArcGIS桌面系統(tǒng)ArcMapArcCatalogArcToolBoxArcEngine簡(jiǎn)介 ArcObject是一套ArcGIS的可重用的通用的二次開發(fā)組件集.對(duì)其進(jìn)行打包形成ArcEngine。ArcGISArcObjectArcEngineArcObject發(fā)展歷程ArcGIS Engine是嵌入式是嵌入式GIS產(chǎn)品產(chǎn)品 它將它將ArcObject中的一些組件單獨(dú)打中的一些組件單獨(dú)打包出來,靈活性高,費(fèi)用低包出來,靈活性高,費(fèi)用低AO是指是指ArcGIS Desktop版本的組件

3、版本的組件集集ArcObject,即即ArcObject Desktop Development Kit早期的基礎(chǔ)函數(shù)早期的基礎(chǔ)函數(shù)(function)和模塊和模塊(model)構(gòu)成早期的構(gòu)成早期的ArcGIS軟件軟件AE編程基礎(chǔ) (1)基于接口的編程,基礎(chǔ)是COM COM(Component Object Model)不是接口也不是類,而是一種二進(jìn)制基本的組件通信標(biāo)準(zhǔn),因此它是語言獨(dú)立的。COM組件間所有通訊都通過組件的接口實(shí)現(xiàn),一旦一個(gè)接口被添加,就不能被刪除。 (2)什么是接口?為什么要使用接口? 過程、函數(shù) 類 接口 接口和類 接口是一種用來定義程序的協(xié)定。它可以包含方法、屬性和事件,

4、但它本身并不提供它所定義的成員的實(shí)現(xiàn),而只是指定實(shí)現(xiàn)該接口的類或接口必須提供的成員。 接口可以看作是一個(gè)特殊的類形式,除了不能被實(shí)例化為一個(gè)對(duì)象外,它可以實(shí)現(xiàn)類能夠完成的任何任務(wù),如聲明對(duì)象為某種接口類型,接口也可以繼承等。接口和類DOGBarkGrowlColorCallPetNameIPetIDogClassPropertiesand MethodsInterfaces對(duì)象模型圖ArcObject對(duì)象模型圖 ArcGIS9.0的Desktop版本中AO的枚舉對(duì)象是647個(gè),結(jié)構(gòu)對(duì)象是35個(gè) 3073個(gè)接口,組件類2389個(gè) 一共是6144個(gè)對(duì)象,而且隨著新版本的出現(xiàn)在不斷增加對(duì)象模型圖的標(biāo)

5、記對(duì)象模型圖的標(biāo)記u 繼承 u 組成u 創(chuàng)建u 多重性 *u 關(guān)聯(lián)Bird AbstractNest CoClassChicken CoClassFeature ClassWing ClassEgg Class*2例如table-createRow對(duì)象模型圖的標(biāo)記的幾個(gè)基本概念:對(duì)象模型圖的標(biāo)記的幾個(gè)基本概念:(1)繼承關(guān)系:)繼承關(guān)系:人們將具有共同特性的元素抽象成類別,并通過增加其內(nèi)涵而進(jìn)一步分類。例如,動(dòng)物可分為飛鳥和走獸,人可分為男人和女人。(2)創(chuàng)建關(guān)系()創(chuàng)建關(guān)系(Instantiation):):指某個(gè)類中的對(duì)象擁有一個(gè)方法,可以創(chuàng)建另一類中的對(duì)象。 (3)關(guān)聯(lián)關(guān)系()關(guān)聯(lián)關(guān)系(

6、Association):):表示兩個(gè) 類之間存在某種語義上的聯(lián)系。多重性多重性表示參與對(duì)象數(shù)據(jù)的上下界限制,即限制對(duì)象類與其他對(duì)象關(guān)聯(lián)的數(shù)目關(guān)系。以下是用于多重性關(guān)聯(lián)的符號(hào):以下是用于多重性關(guān)聯(lián)的符號(hào):u 1一個(gè)并且只有一個(gè),這種多樣性是可選的,如果不標(biāo)明,則默認(rèn)為“1”u 0.1零個(gè)或一個(gè)u M.N從M到N(正整數(shù))u *或者0.*從零到任意正整數(shù);u 1.*從1到任意正整數(shù)。 按照功能劃分:v地圖加載:地圖、圖層、要素等v地圖編輯:要素的圖形、屬性v查詢分析:圖層、要素等v地圖輸出:Pagelayoutv地圖顯示:圖層屬性、要素屬性等LayerApplicationMap0 . 1*Mx

7、DocumentFeatureLayerFeatureClassTableDataSetFeatureDataset*ArcMapMapLayerGeodatabaseApplicationAppDisplayTemplatesMxDocumentExtensionStatusBarIApplicationIMxApplicationIAppDisplayIDisplayIScreenDisplayITemplatesIStatusBarIExtensionIDocumentIDocumentEventsIDocumentEventsDispIMxDocument*Application結(jié)構(gòu)圖

8、1、概念:、概念: 可創(chuàng)建的類(組件類):可創(chuàng)建的類(組件類):指那些能夠直接使用通過開發(fā)環(huán)境中的對(duì)象定義語法來創(chuàng)建對(duì)象的類??蓜?chuàng)建類可以直接被創(chuàng)建或者實(shí)例化。AE中的三種類中的三種類可創(chuàng)建的類(組件類)可創(chuàng)建的類(組件類)CoClass2、特點(diǎn)、特點(diǎn)u 可創(chuàng)建的:用New關(guān)鍵字Dim pMap As IMapSet pMap=New Mapu 實(shí)例化: Dim pMap As IMapSet pMap=pMxDocument.FocusMap獲取當(dāng)前文檔的焦點(diǎn)地圖u OMD符號(hào):三維帶陰影的矩形可以使用New關(guān)鍵字實(shí)例化的類 可實(shí)例化類:可實(shí)例化類:不能夠直接創(chuàng)建新對(duì)象,但是這種類的對(duì)象能夠

9、作為其他對(duì)象的屬性被創(chuàng)建,或是通過其他類的方法來創(chuàng)建。可實(shí)例化類可實(shí)例化類Class 1、概念、概念2、特點(diǎn)、特點(diǎn)u 不可創(chuàng)建的類,不能用New關(guān)鍵字u 只能由其它對(duì)象獲得實(shí)例Dim pNewRow As IRowSet pNewRow=pTable.CreateRow三維無陰影生生 成成 抽象類:抽象類:不能用以創(chuàng)建新對(duì)象,但可以用來指定子類。如Layer是FeatureLayer和RasterLayer的抽象類。抽象類抽象類Abstract1、概念、概念2、特點(diǎn)、特點(diǎn)u 不可創(chuàng)建,不可實(shí)例化u 把一些類共同的屬性和方法提取出來,用其它類來繼承用其它類來繼承。u 二維帶陰影的矩形為子類定義通

10、用的接口繼承:分為兩種(類繼承和接口繼承)u 類繼承類繼承: 子類中含有父類所有的接口。 Layer、 FeatureLayer QI u 接口繼承接口繼承:子接口中包含父接口中的所有屬性方法。No QI 表示方法:ILayer:IUnkown 所有COM都有IUnkown接口,每個(gè)接口都繼承至IUnkown接口。IObjectClass 、IFeatureClass用:表示 IFeaturelayer:ILayer(幫助)繼承接口 Property 啞鈴形狀的圖標(biāo) MethodProperty Get(read)Property Set(write)屬性和方法符號(hào)屬性和方法符號(hào)常用ArcEn

11、gine接口u IWorkspaceFactory接口(工作空間工廠)接口(工作空間工廠)uProvides access to members that create and open workspaces and supply workspace factory information.u WorkspaceFactory是GeoDatabase的入口。它是一個(gè)抽象類,派生了許多的子類,例如AccessWorkspaceFactory,ShapefileWorkspaceFactory、SdeWorkspaceFactory等,這些對(duì)象都實(shí)現(xiàn)了IWorkspaceFactory接口,不同類

12、型的文件需要不同的工作空間工廠對(duì)象來打開一個(gè)工作空間。IWorkspaceFactory接口定義了所有工作空間對(duì)象的一般屬性和方法,用戶可以通過它管理不同類型的工作空間,所有的工作空間對(duì)象都可以通過這個(gè)接口產(chǎn)生。u IWorkspaceFactory接口(工作空間工廠)接口(工作空間工廠) Worksapce是空間和非空間數(shù)據(jù)集,如要素類,柵格數(shù)據(jù)集和表格的容器。它提供實(shí)例化數(shù)據(jù)集和創(chuàng)建新數(shù)據(jù)集的方法。Workspace可根據(jù)esriWorkspaceType分類,即FileSystemWorkspace,LocalDatabaseWorkspace,和RemoteDatabaseWorksp

13、ace。Shapefiles和ArcInfo workspace是FileSystemWorkspace的一個(gè)示例。存儲(chǔ)在Access中的個(gè)人數(shù)據(jù)庫和文件數(shù)據(jù)庫是LocalDatabaseWorkspace的一個(gè)例子。存儲(chǔ)在RDBMS中的地理數(shù)據(jù)庫,如Oracle,DB2,SqlServer,或Informix以及使用ArcSDE存取的都是RemoteDatabaseWorkspace的示例。 一個(gè)workspace分配一個(gè)WorkspaceName對(duì)象作為其FullName屬性值。Workspace的WorkspaceName可以在地圖文件中保存。應(yīng)用程序?qū)orkspace從永久存儲(chǔ)介質(zhì)中

14、載入后,可以調(diào)用Open方法打開,以便和workspace連接并獲得一個(gè)對(duì)象的引用。IWorkspace提供訪問workspace各種屬性的方法,例如其連接屬性和數(shù)據(jù)集。u IWorkspace接口(工作空間)接口(工作空間)u IWorkspace接口(工作空間)接口(工作空間)uProvides access to members that have information about the workspace. IFeatureWorkspace接口用于訪問和管理地理數(shù)據(jù)庫中的要素的重要成分?jǐn)?shù)據(jù)集,如Tables,ObjectClasses,F(xiàn)eatureClasses,F(xiàn)eature

15、Datasets,和RelationshipClasses。所有的Open方法(例如OpenTable)都要以dataset的名稱作為輸入。在企業(yè)數(shù)據(jù)庫上工作時(shí),就需要使用完全限定名(例如,”database.owner.tablename”或”owner.tablename”).處理地理數(shù)據(jù)庫時(shí)(personal,file或ArcSDE),workspace將運(yùn)行一個(gè)實(shí)例datasets的對(duì)象表。不同的opendatasets的方法返回一個(gè)對(duì)其的引用。IFeatureWorkspace是用workspace創(chuàng)建和打開對(duì)象、對(duì)象類的主接口。u IFeatureWorkspace接口接口uPro

16、vides access to members that create and open various types of datasets and other workspace level objects. u IFeatureWorkspace接口(工作空間)接口(工作空間)uProvides access to members that create and open various types of datasets and other workspace level objects. u IFeatureDataset接口接口 Dataset(數(shù)據(jù)集)是一個(gè)代表了Workspace

17、中所謂數(shù)據(jù)集合的抽象類,它是一個(gè)集合,但是在理解數(shù)據(jù)集對(duì)象的時(shí)候,要用廣義的概念來看待,不要用我們?cè)跀?shù)據(jù)庫里存儲(chǔ)的那個(gè)機(jī)構(gòu),否則會(huì)走入誤區(qū),因?yàn)樵谠O(shè)計(jì)數(shù)據(jù)庫的時(shí)候,我們可以在數(shù)據(jù)集里面存儲(chǔ)相關(guān)的要素類。那么我們?cè)诰幊痰臅r(shí)候可能這么想,要獲取數(shù)據(jù)庫中的某一個(gè)要素類,要先獲取數(shù)據(jù)集,然后獲取要素類,其實(shí)通過工作空間的openfromfile()就可以,可以把數(shù)據(jù)庫比作文件夾,數(shù)據(jù)集比作子文件夾。放在工作空間的對(duì)象都是一種數(shù)據(jù)集對(duì)象,也就是說table,featureclass等都是數(shù)據(jù)集,數(shù)據(jù)集中的數(shù)據(jù)可以是一個(gè)字段,一行記錄,一張表等。u IFeatureDataset接口接口uProvides

18、 access to create a new feature class in a feature dataset. uIFeatureClassContainer接口接口 Featureclass的容器,可以依據(jù)Featureclass的ID、名稱查詢檢索Featureclass對(duì)象。uIFeatureClassContainer接口接口uProvides access to members that return feature classes by name, ID and index.uIFeatureClass接口接口用于訪問控制要素類行為和屬性的成員IFeatureClass接口是獲取和設(shè)置要素類屬性的主要接口。例如,使用IFeatureClass接口獲取要素類類型、獲取滿足查詢條件的要素?cái)?shù)目或在要素類中創(chuàng)建新要素。uIFeatureClass接口接口uProvides access to members that control the behavior and properties of a feature class.uIFeatureLayer接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論