




已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2020 3 25 ArcGISEngine開發(fā)基礎(chǔ) 張文元 2020年3月25日 目錄 系統(tǒng)開發(fā)實例 5 ArcGISEngine介紹 ArcGIS框架 可編輯 ArcGISEngine介紹 ArcGISEngine是用于構(gòu)建定制應用的一個完整的嵌入式GIS組件庫 使用ArcGISEngine可以創(chuàng)建獨立界面版本的應用程序 也可以對現(xiàn)有的應用程序進行擴展 為GIS和非GIS用戶提供專門的空間解決方案 開發(fā)者能將ArcGIS功能集成到一些應用軟件 還可以為用戶提供針對GIS解決方案的定制應用 可編輯 ArcGISEngine簡介 ArcGISEngine可以在沒有安裝任何ArcGIS桌面軟件的環(huán)境下提供所有GIS功能 是一組設定良好的跨平臺 跨語言部件 它可以運行在Windows UNIX和Linux平臺上 并支持C VB NET Java等一系列應用軟件開發(fā)環(huán)境 ArcGISEngine提供各種控件 對象和工具 支持擴展模塊GeoDatabase編輯 Raster和3D分析和可視化功能 提供多種開放的API函數(shù) 具有跨平臺的特性 ArcGISEngine能做什么 ArcGISEngine與ArcObjects ArcObjects是ESRI提供的一種集成的面向?qū)ο蟮牡乩頂?shù)據(jù)模型的軟件組件庫 它提供了ArcGIS中全部的功能 是開發(fā)GIS應用程序的基礎(chǔ) ArcObjects不是一種獨立的商業(yè)軟件 而是依附在ArcGISDesktop產(chǎn)品中的軟件開發(fā)包 使用ArcObjects開發(fā)的應用系統(tǒng)不能脫離ArcGISDesktop桌面環(huán)境單獨運行 ArcGISEngine可以在沒有安裝任何ArcGIS桌面軟件的環(huán)境下提供所有GIS功能 是一組設定良好的跨平臺 跨語言部件 AE與AO AO版本包括了所有的類庫 其中包括ArcMap ArcMapUI ArcCatalog ArcCatalogUI等組件庫 這些組件庫必須在安裝了桌面版軟件后才能使用 出于產(chǎn)品策略上的考慮 ESRI將AO中的某些組件集單獨封裝出來 起名為AE 使用AE開發(fā)的軟件需要在一個RUNTIME下運行 而不需要安裝ArcGIS軟件 AE只是AO的一個子集 使用AE開發(fā)的軟件 在AO環(huán)境中使用沒有問題 但是使用AO開發(fā)的程序 如果使用的組件庫不被包含在AE中 就無法使用 AO提供的控件只有MapControl和PageLayoutControl兩個 而AE的控件就豐富得多 ArcGISEngine組成 ArcGISEngineDeveloperKits開發(fā) 創(chuàng)建自定義的GIS和制圖應用的工具包ArcGISEngineRuntime部署 ArcGISEngine應用程序的運行環(huán)境 AE組成 ArcGISEngine安裝 ArcGISEngine授權(quán) ecp文件 第二部分 ArcGISEngine體系結(jié)構(gòu) 主要類庫 System庫 System庫是ArcGIS結(jié)構(gòu)中最低級的對象庫 該類庫包含的組件為組成ArcGIS的所有其它類庫提供服務 SystemUI庫 包含了能夠擴展的用戶接口組件的接口定義 包括 ICommand ITool IToolControl接口 開發(fā)者可以使用這些接口擴展UI組件 Geometry庫 處理存儲在要素類或者是其他圖形元素中的幾何對象 形狀 要素等 主要類庫 Display類庫 包含了用于顯示GIS數(shù)據(jù)的對象 包括了能夠負責圖像輸出的顯示對象 還包括了控制實體顯示屬性的符號和顏色的對象 Output類庫 包含了生成輸出所必需的對象 通常是從地圖或頁面布局輸出到打印機 繪圖儀 或?qū)С龅轿募?GeoDatabase類庫 包含了所有與數(shù)據(jù)訪問相關(guān)的定義的類型 Carto庫 包含了用于顯示數(shù)據(jù)的對象 對象模型圖 1500多個類 分成多個邏輯子集 1600多個接口對象模型圖有什么用 這個類支持哪些接口 要完成某項工作需要用到哪些對象 如何引用這個類的一個對象 AE對象模型圖 OMD 不能實例化 可以實例化New對象 不能直接New對象 但可作為另一個類的屬性或?qū)ο髞韺嵗?OMD類型之間的關(guān)系 關(guān)聯(lián) 表示類之間存在關(guān)聯(lián)繼承 表示子類繼承了父類共享的方法和屬性 此外子類有其自己的方法和屬性實例化 就是一個類有一個方法可以申請一個對象組合模式 代表整體與部分的關(guān)系 Interface說明 屬性 只讀 只寫 讀寫 方法 函數(shù) 引用傳遞 獲取 FindLibrary C ProgramFiles ArcGIS DeveloperKit Tools LibraryLocator exe程序 ArcGIS快捷方式AEHelp 第三部分 ArcGISEngine開發(fā) AE應用程序開發(fā)過程 設計或準備好數(shù)據(jù)創(chuàng)建應用程序 不同語言 執(zhí)行軟件授權(quán)代碼編寫應用程序功能部署發(fā)布 命名空間 ArcGISEngine控件 封裝了10種控件 MapControl MapControl 在MapControl中 其功能屬性可以通過它的General Map Color和Picture等PropertyPages來快速地修改 而無需編寫代碼 在MapControl中可以以這種可視化的形式來設計控件本身及其內(nèi)容的屬性 使用起來更為方便 提高開發(fā)人員的開發(fā)效率 PageLayoutControl PageLayoutControl MapControl和PageLayoutControl MapControl控件和PageLayoutControl控件對應于ArcMap應用的 data 和 layout MapControl控件封裝了Map對象 PageLayoutControl控件封裝了 PageLayout 對象 通過ArcMap制作的map文檔可以被加載到MapControl控件和PageLayoutControl控件中 這樣可以節(jié)省組成圖形的開發(fā)時間 ArcGISEngine3D控件 ArcGISEngine提供兩種用于三維顯示的空間容器 SceneControlGlobeControl在這些控件中動態(tài)加載矢量數(shù)據(jù) DOM和DEM數(shù)據(jù) 即可生成豐富的三維場景 SceneControl控件 SceneControl控件是與ArcScene桌面應用的3維視圖相對應的 SceneControl控件封裝了SceneViewer對象 SceneControl SceneControl Scene相關(guān)接口 Scene組件類是一個矢量 柵格和圖形數(shù)據(jù)顯示與處理的容器 SceneGraph組件類是一個記錄在Scene中出現(xiàn)的數(shù)據(jù)和事件的容器 GlobeControl控件 GlobeControl控件是與ArcGlobe桌面應用的3維視圖相對應的 GlobeControl控件封裝了GlobeViewer對象 GlobeControl控件 GlobeControl命令 Scene和Globe 工具集 Scene Globe 標準 三維控件 GlobeControl控件和SceneControl控件都加強了三維導航的能力 允許用戶在3維視圖中移動和進行3維數(shù)據(jù)的可視化顯示 而不需要使用現(xiàn)有的控件命令和定制命令 為了使用這些加強的導航能力 必須通過屬性頁或者是編程實現(xiàn)Navigate屬性 用戶可以使用鼠標左鍵進行3維顯示的前后左右移動導航 使用右鍵實現(xiàn)視圖的放大縮小 框架控件 TOCControl TOCControl可以作為伙伴控件使用 這些伙伴控件可能是MapControl PageLayoutControl SceneControl GlobeControl或ReaderControl 這種伙伴控件可以在設計時通過TOCControl控件的屬性頁來設置 也可以在編程時通過方法SetBuddyControl來設置 TOCControl使用伙伴控件來顯示一個樹狀的視圖 包括圖層和符號內(nèi)容 并且保持它的內(nèi)容與伙伴控件同步 ToolbarControl ToolbarControl控件也可以作為伙伴控件使用 它的伙伴控件可能是MapControl PageLayoutControl SceneControl GlobeControl或ReaderControl 這種伙伴控件可以在設計時通過ToolbarControl控件的屬性頁來設置 或者是在編程時通過使用SetBuddyControl方法來設置 ToolbarControl控件具有一組命令 工具 工具控件 以及可以和伙伴控件的顯示情況相聯(lián)系的菜單 LicenseControl 應用程序授權(quán)代碼初始化也可 地圖加載 屬性頁設置代碼加載 IfAxMapControl CheckMxFile sFileName Then 文件有效性檢驗AxMapControl LoadMxFile sFileName EndIf 地圖文檔操作 保存地圖文件 DimpMxdConAsIMxdContentspMxdCon pMapControl Map 創(chuàng)建新的地圖文檔DimpMapDocumentAsIMapDocument 地圖文件接口pMapDocument NewMapDocumentpMapDocument New sFilePath pMapDocument ReplaceContents pMxdCon 圖層操作 地圖圖層類型 GeoDatabase 工具和命令 包括100多種工具和命令 ICommand ITool開發(fā) 由模板類生成 二者區(qū)別 對應控件 類入口 參數(shù)傳遞hook 圖標和光標設置IHookHelper能獲取哪些對象基本屬性和方法外的其他屬性和方法 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 鷹眼圖功能實現(xiàn) 鷹眼圖數(shù)據(jù) Mxd Layer 視圖范圍聯(lián)動 事件 當前視圖范圍標記 Geometry庫 點和點群 點是最基本的幾何形體 利用IGeometryCollection或IPointCollection接口 任何類型的集合形體都可以由點的集合構(gòu)成 DimpPointAsIPointpPoint NewPointpPoint X 300pPoint Y 450DimpMultiPtsAsIPointCollectionSetpMultiPts NewMultiPointpMultiPts AddPointpPoint Feature和Geometry Feature的Shape屬性返回要素幾何形體 Shape的Evenlope屬性返回一個形體的最小外接矩形 這個屬性只讀 Mapcontrol Extent pFeature Shape Envelope Display庫 地圖提示 當鼠標放到要素上時會顯示相應的內(nèi)容 DimpLayerAsILayerpLayer Me AxMapControl Map Layer 0 pLayer ShowTips TrueAxMapControl ShowMapTips True 地圖標注 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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科普器材出售合同范本
- BOD自動在線監(jiān)測儀產(chǎn)業(yè)分析報告
- 體外診斷產(chǎn)品競爭策略分析報告
- 余土外運合同范本
- 廠房中介出售合同范本
- 中級電工模擬試題+參考答案
- 鹵菜設備買賣合同范本
- 固定金額合同范本
- 原礦合同范本
- 七年級下冊的語文教學計劃
- 2025年日歷(日程安排-可直接打印)
- 四川政采評審專家入庫考試基礎(chǔ)題復習試題及答案(一)
- 患者手術(shù)風險評估與術(shù)前準備制度
- 口腔執(zhí)業(yè)醫(yī)師定期考核試題(資料)帶答案
- 2024年三八婦女節(jié)婦女權(quán)益保障法律知識競賽題庫及答案(共260題)
- 2023年7月浙江省普通高中學業(yè)水平考試(學考)語文試題答案
- 2024年計算機軟件水平考試-初級信息處理技術(shù)員考試近5年真題集錦(頻考類試題)帶答案
- 發(fā)熱病人護理課件
- 幼兒園中班安全《不動手打人》課件
- 遼寧沈陽歷年中考語文現(xiàn)代文之說明文閱讀11篇(含答案)(2003-2022)
- 【正版授權(quán)】 ISO 7241:2023 EN Hydraulic fluid power - Dimensions and requirements of quick-action couplings
評論
0/150
提交評論