ArcGIS-Engine開(kāi)發(fā)培訓(xùn)PPT課件.ppt_第1頁(yè)
ArcGIS-Engine開(kāi)發(fā)培訓(xùn)PPT課件.ppt_第2頁(yè)
ArcGIS-Engine開(kāi)發(fā)培訓(xùn)PPT課件.ppt_第3頁(yè)
ArcGIS-Engine開(kāi)發(fā)培訓(xùn)PPT課件.ppt_第4頁(yè)
ArcGIS-Engine開(kāi)發(fā)培訓(xùn)PPT課件.ppt_第5頁(yè)
已閱讀5頁(yè),還剩86頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2020 3 25 ArcGISEngine開(kāi)發(fā)基礎(chǔ) 張文元 2020年3月25日 目錄 系統(tǒng)開(kāi)發(fā)實(shí)例 5 ArcGISEngine介紹 ArcGIS框架 可編輯 ArcGISEngine介紹 ArcGISEngine是用于構(gòu)建定制應(yīng)用的一個(gè)完整的嵌入式GIS組件庫(kù) 使用ArcGISEngine可以創(chuàng)建獨(dú)立界面版本的應(yīng)用程序 也可以對(duì)現(xiàn)有的應(yīng)用程序進(jìn)行擴(kuò)展 為GIS和非GIS用戶提供專門(mén)的空間解決方案 開(kāi)發(fā)者能將ArcGIS功能集成到一些應(yīng)用軟件 還可以為用戶提供針對(duì)GIS解決方案的定制應(yīng)用 可編輯 ArcGISEngine簡(jiǎn)介 ArcGISEngine可以在沒(méi)有安裝任何ArcGIS桌面軟件的環(huán)境下提供所有GIS功能 是一組設(shè)定良好的跨平臺(tái) 跨語(yǔ)言部件 它可以運(yùn)行在Windows UNIX和Linux平臺(tái)上 并支持C VB NET Java等一系列應(yīng)用軟件開(kāi)發(fā)環(huán)境 ArcGISEngine提供各種控件 對(duì)象和工具 支持?jǐn)U展模塊GeoDatabase編輯 Raster和3D分析和可視化功能 提供多種開(kāi)放的API函數(shù) 具有跨平臺(tái)的特性 ArcGISEngine能做什么 ArcGISEngine與ArcObjects ArcObjects是ESRI提供的一種集成的面向?qū)ο蟮牡乩頂?shù)據(jù)模型的軟件組件庫(kù) 它提供了ArcGIS中全部的功能 是開(kāi)發(fā)GIS應(yīng)用程序的基礎(chǔ) ArcObjects不是一種獨(dú)立的商業(yè)軟件 而是依附在ArcGISDesktop產(chǎn)品中的軟件開(kāi)發(fā)包 使用ArcObjects開(kāi)發(fā)的應(yīng)用系統(tǒng)不能脫離ArcGISDesktop桌面環(huán)境單獨(dú)運(yùn)行 ArcGISEngine可以在沒(méi)有安裝任何ArcGIS桌面軟件的環(huán)境下提供所有GIS功能 是一組設(shè)定良好的跨平臺(tái) 跨語(yǔ)言部件 AE與AO AO版本包括了所有的類庫(kù) 其中包括ArcMap ArcMapUI ArcCatalog ArcCatalogUI等組件庫(kù) 這些組件庫(kù)必須在安裝了桌面版軟件后才能使用 出于產(chǎn)品策略上的考慮 ESRI將AO中的某些組件集單獨(dú)封裝出來(lái) 起名為AE 使用AE開(kāi)發(fā)的軟件需要在一個(gè)RUNTIME下運(yùn)行 而不需要安裝ArcGIS軟件 AE只是AO的一個(gè)子集 使用AE開(kāi)發(fā)的軟件 在AO環(huán)境中使用沒(méi)有問(wèn)題 但是使用AO開(kāi)發(fā)的程序 如果使用的組件庫(kù)不被包含在AE中 就無(wú)法使用 AO提供的控件只有MapControl和PageLayoutControl兩個(gè) 而AE的控件就豐富得多 ArcGISEngine組成 ArcGISEngineDeveloperKits開(kāi)發(fā) 創(chuàng)建自定義的GIS和制圖應(yīng)用的工具包ArcGISEngineRuntime部署 ArcGISEngine應(yīng)用程序的運(yùn)行環(huán)境 AE組成 ArcGISEngine安裝 ArcGISEngine授權(quán) ecp文件 第二部分 ArcGISEngine體系結(jié)構(gòu) 主要類庫(kù) System庫(kù) System庫(kù)是ArcGIS結(jié)構(gòu)中最低級(jí)的對(duì)象庫(kù) 該類庫(kù)包含的組件為組成ArcGIS的所有其它類庫(kù)提供服務(wù) SystemUI庫(kù) 包含了能夠擴(kuò)展的用戶接口組件的接口定義 包括 ICommand ITool IToolControl接口 開(kāi)發(fā)者可以使用這些接口擴(kuò)展UI組件 Geometry庫(kù) 處理存儲(chǔ)在要素類或者是其他圖形元素中的幾何對(duì)象 形狀 要素等 主要類庫(kù) Display類庫(kù) 包含了用于顯示GIS數(shù)據(jù)的對(duì)象 包括了能夠負(fù)責(zé)圖像輸出的顯示對(duì)象 還包括了控制實(shí)體顯示屬性的符號(hào)和顏色的對(duì)象 Output類庫(kù) 包含了生成輸出所必需的對(duì)象 通常是從地圖或頁(yè)面布局輸出到打印機(jī) 繪圖儀 或?qū)С龅轿募?GeoDatabase類庫(kù) 包含了所有與數(shù)據(jù)訪問(wèn)相關(guān)的定義的類型 Carto庫(kù) 包含了用于顯示數(shù)據(jù)的對(duì)象 對(duì)象模型圖 1500多個(gè)類 分成多個(gè)邏輯子集 1600多個(gè)接口對(duì)象模型圖有什么用 這個(gè)類支持哪些接口 要完成某項(xiàng)工作需要用到哪些對(duì)象 如何引用這個(gè)類的一個(gè)對(duì)象 AE對(duì)象模型圖 OMD 不能實(shí)例化 可以實(shí)例化New對(duì)象 不能直接New對(duì)象 但可作為另一個(gè)類的屬性或?qū)ο髞?lái)實(shí)例化 OMD類型之間的關(guān)系 關(guān)聯(lián) 表示類之間存在關(guān)聯(lián)繼承 表示子類繼承了父類共享的方法和屬性 此外子類有其自己的方法和屬性實(shí)例化 就是一個(gè)類有一個(gè)方法可以申請(qǐng)一個(gè)對(duì)象組合模式 代表整體與部分的關(guān)系 Interface說(shuō)明 屬性 只讀 只寫(xiě) 讀寫(xiě) 方法 函數(shù) 引用傳遞 獲取 FindLibrary C ProgramFiles ArcGIS DeveloperKit Tools LibraryLocator exe程序 ArcGIS快捷方式AEHelp 第三部分 ArcGISEngine開(kāi)發(fā) AE應(yīng)用程序開(kāi)發(fā)過(guò)程 設(shè)計(jì)或準(zhǔn)備好數(shù)據(jù)創(chuàng)建應(yīng)用程序 不同語(yǔ)言 執(zhí)行軟件授權(quán)代碼編寫(xiě)應(yīng)用程序功能部署發(fā)布 命名空間 ArcGISEngine控件 封裝了10種控件 MapControl MapControl 在MapControl中 其功能屬性可以通過(guò)它的General Map Color和Picture等PropertyPages來(lái)快速地修改 而無(wú)需編寫(xiě)代碼 在MapControl中可以以這種可視化的形式來(lái)設(shè)計(jì)控件本身及其內(nèi)容的屬性 使用起來(lái)更為方便 提高開(kāi)發(fā)人員的開(kāi)發(fā)效率 PageLayoutControl PageLayoutControl MapControl和PageLayoutControl MapControl控件和PageLayoutControl控件對(duì)應(yīng)于ArcMap應(yīng)用的 data 和 layout MapControl控件封裝了Map對(duì)象 PageLayoutControl控件封裝了 PageLayout 對(duì)象 通過(guò)ArcMap制作的map文檔可以被加載到MapControl控件和PageLayoutControl控件中 這樣可以節(jié)省組成圖形的開(kāi)發(fā)時(shí)間 ArcGISEngine3D控件 ArcGISEngine提供兩種用于三維顯示的空間容器 SceneControlGlobeControl在這些控件中動(dòng)態(tài)加載矢量數(shù)據(jù) DOM和DEM數(shù)據(jù) 即可生成豐富的三維場(chǎng)景 SceneControl控件 SceneControl控件是與ArcScene桌面應(yīng)用的3維視圖相對(duì)應(yīng)的 SceneControl控件封裝了SceneViewer對(duì)象 SceneControl SceneControl Scene相關(guān)接口 Scene組件類是一個(gè)矢量 柵格和圖形數(shù)據(jù)顯示與處理的容器 SceneGraph組件類是一個(gè)記錄在Scene中出現(xiàn)的數(shù)據(jù)和事件的容器 GlobeControl控件 GlobeControl控件是與ArcGlobe桌面應(yīng)用的3維視圖相對(duì)應(yīng)的 GlobeControl控件封裝了GlobeViewer對(duì)象 GlobeControl控件 GlobeControl命令 Scene和Globe 工具集 Scene Globe 標(biāo)準(zhǔn) 三維控件 GlobeControl控件和SceneControl控件都加強(qiáng)了三維導(dǎo)航的能力 允許用戶在3維視圖中移動(dòng)和進(jìn)行3維數(shù)據(jù)的可視化顯示 而不需要使用現(xiàn)有的控件命令和定制命令 為了使用這些加強(qiáng)的導(dǎo)航能力 必須通過(guò)屬性頁(yè)或者是編程實(shí)現(xiàn)Navigate屬性 用戶可以使用鼠標(biāo)左鍵進(jìn)行3維顯示的前后左右移動(dòng)導(dǎo)航 使用右鍵實(shí)現(xiàn)視圖的放大縮小 框架控件 TOCControl TOCControl可以作為伙伴控件使用 這些伙伴控件可能是MapControl PageLayoutControl SceneControl GlobeControl或ReaderControl 這種伙伴控件可以在設(shè)計(jì)時(shí)通過(guò)TOCControl控件的屬性頁(yè)來(lái)設(shè)置 也可以在編程時(shí)通過(guò)方法SetBuddyControl來(lái)設(shè)置 TOCControl使用伙伴控件來(lái)顯示一個(gè)樹(shù)狀的視圖 包括圖層和符號(hào)內(nèi)容 并且保持它的內(nèi)容與伙伴控件同步 ToolbarControl ToolbarControl控件也可以作為伙伴控件使用 它的伙伴控件可能是MapControl PageLayoutControl SceneControl GlobeControl或ReaderControl 這種伙伴控件可以在設(shè)計(jì)時(shí)通過(guò)ToolbarControl控件的屬性頁(yè)來(lái)設(shè)置 或者是在編程時(shí)通過(guò)使用SetBuddyControl方法來(lái)設(shè)置 ToolbarControl控件具有一組命令 工具 工具控件 以及可以和伙伴控件的顯示情況相聯(lián)系的菜單 LicenseControl 應(yīng)用程序授權(quán)代碼初始化也可 地圖加載 屬性頁(yè)設(shè)置代碼加載 IfAxMapControl CheckMxFile sFileName Then 文件有效性檢驗(yàn)AxMapControl LoadMxFile sFileName EndIf 地圖文檔操作 保存地圖文件 DimpMxdConAsIMxdContentspMxdCon pMapControl Map 創(chuàng)建新的地圖文檔DimpMapDocumentAsIMapDocument 地圖文件接口pMapDocument NewMapDocumentpMapDocument New sFilePath pMapDocument ReplaceContents pMxdCon 圖層操作 地圖圖層類型 GeoDatabase 工具和命令 包括100多種工具和命令 ICommand ITool開(kāi)發(fā) 由模板類生成 二者區(qū)別 對(duì)應(yīng)控件 類入口 參數(shù)傳遞hook 圖標(biāo)和光標(biāo)設(shè)置IHookHelper能獲取哪些對(duì)象基本屬性和方法外的其他屬性和方法 Enabled Deactivate OnDblClick 如何調(diào)用 EngineToolbar 自定義 ICommand ITool中MapControl獲取 Privatem pMapControlAsIMapControl3PublicOverridesSubOnCreate ByValhookAsObject If m hookHelperIsNothing Thenm hookHelper NewHookHelperClassIfNothookIsNothingThenm hookHelper Hook hookEndIfIfTypeOfm hookHelper HookIsIToolbarControlThenm pMapControl CType CType m hookHelper Hook IToolbarControl Buddy IMapControl3 ElseIfTypeOfm hookHelper HookIsIMapControl3Thenm pMapControl CType m hookHelper Hook IMapControl3 EndIfEndSub 自定義調(diào)用 Menu Button Command調(diào)用 DimclsNextExtentAsclsGoToNextExtentclsNextExtent NewclsGoToNextExtentclsNextExtent OnCreate Me MapControl Object clsNextExtent OnClick Tool調(diào)用 DimclsBufferAsclsBufferToolclsBuffer NewclsBufferToolclsBuffer OnCreate Me MapControl Object Me MapControl CurrentTool clsBuffer 鷹眼圖功能實(shí)現(xiàn) 鷹眼圖數(shù)據(jù) Mxd Layer 視圖范圍聯(lián)動(dòng) 事件 當(dāng)前視圖范圍標(biāo)記 Geometry庫(kù) 點(diǎn)和點(diǎn)群 點(diǎn)是最基本的幾何形體 利用IGeometryCollection或IPointCollection接口 任何類型的集合形體都可以由點(diǎn)的集合構(gòu)成 DimpPointAsIPointpPoint NewPointpPoint X 300pPoint Y 450DimpMultiPtsAsIPointCollectionSetpMultiPts NewMultiPointpMultiPts AddPointpPoint Feature和Geometry Feature的Shape屬性返回要素幾何形體 Shape的Evenlope屬性返回一個(gè)形體的最小外接矩形 這個(gè)屬性只讀 Mapcontrol Extent pFeature Shape Envelope Display庫(kù) 地圖提示 當(dāng)鼠標(biāo)放到要素上時(shí)會(huì)顯示相應(yīng)的內(nèi)容 DimpLayerAsILayerpLayer Me AxMapControl Map Layer 0 pLayer ShowTips TrueAxMapControl ShowMapTips True 地圖標(biāo)注 DimpLayerAsILayerpLayer Me AxMapControl Map Layer 0 DimpFeatLayerAsIFeatureLayerpFeatLayer pLayer pFeatLayer DisplayFieldDimpGeoFeatLayerAsIGeoFeatureLayerpGeoFeatLayer pFeatLayerpGeoFeatLayer DisplayAnnotation true 地圖刷新AxMapControl ActiveView PartialRefresh 空間數(shù)據(jù)選擇 IMap SelectByShapeISpatialFilterIFeatureSelection SelectFeatures 空間數(shù)據(jù)查詢 屬性查空間要素空間查詢屬性 Identify功能演示 DimpQueryFilterAsIQueryFilterpQueryFilter NewQueryFilter pQueryFilter SubFields pQueryFilter WhereClause FID 5 pFeatCursor pFeatCls Search pQueryFilter False DimpSpatialFilterAsISpatialFilterpSpatialFilter NewSpatialFilterpSpatialFilter Geometry pGeometrypSpatialFilter SpatialRel esriSpatialRelEnum esriSpatialRelIntersectspFeatCursor pFeatureClass Search pSpatialFilter false pFeature pFeatCursor NextFeaturepFeature F

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論