




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS Engine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Engine開發(fā)環(huán)境與流程ArcGIS ArcGIS 整體架構(gòu)整體架構(gòu)CustomizationArcGIS DesktopArcGIS ServerArcIMSArcGIS Mobile ArcPadArcGIS Engine桌面桌面 GIS嵌入式嵌入式 GIS服務器服務器 GIS移動移動 GISGeodatabaseDBMSFile-based
2、XMLArcSDEArcEditorArcViewArcInfoEngine Developer KitServer Developer KitCustomizationDesktop Developer Kit.NET C+ VB Java.NET VC+VB.NETADFJavaADFC+ArcObjectsXML+VBScriptArcPad Application BuilderJavaScriptHTML/DHTMLXML.NETServicesJSPJavaActiveX (ASP)ColdFusion1 1、ArcGISArcGIS的客戶端的客戶端nArcGIS的客戶端產(chǎn)品包括A
3、rcView 、ArcEditor、ArcInfon三個客戶端都有統(tǒng)一風格的桌面應用:ArcCatalog、ArcMap和ArcToolbox。 lArcCatalog:ArcCatalogArcCatalog是一個集成化的空間數(shù)據(jù)管理器,主要用于空間數(shù)據(jù)瀏覽,是一個集成化的空間數(shù)據(jù)管理器,主要用于空間數(shù)據(jù)瀏覽,GeodatabaseGeodatabase的結(jié)構(gòu)定義、數(shù)據(jù)的導入導出、網(wǎng)絡模型的生成、對象關系的結(jié)構(gòu)定義、數(shù)據(jù)的導入導出、網(wǎng)絡模型的生成、對象關系和規(guī)則的定義、元數(shù)據(jù)的定義和編輯修改等。和規(guī)則的定義、元數(shù)據(jù)的定義和編輯修改等。ArcCatalogArcCatalog支持大量的數(shù)據(jù)格式
4、,包括:支持大量的數(shù)據(jù)格式,包括:ESRI shapefiles, ESRI shapefiles, Geodatabases, ArcSDE layers, INFO tables, Geodatabases, ArcSDE layers, INFO tables, Image, GridImage, Grid, Tin, CAD, Tin, CAD文件文件, , 動態(tài)分段事件以及其它動態(tài)分段事件以及其它ESRIESRI數(shù)據(jù)類型和文件等。數(shù)據(jù)類型和文件等。l ArcMap是集空間數(shù)據(jù)顯示、編輯、查詢檢索、統(tǒng)計、報表生成、空間分析和高級是集空間數(shù)據(jù)顯示、編輯、查詢檢索、統(tǒng)計、報表生成、空間分析
5、和高級制圖等眾多功能于一體的桌面應用平臺。制圖等眾多功能于一體的桌面應用平臺。ArcMapArcMap提供面向?qū)ο蟮念愃铺峁┟嫦驅(qū)ο蟮念愃艭ADCAD的空間數(shù)據(jù)編輯工具,全面支持空間數(shù)的空間數(shù)據(jù)編輯工具,全面支持空間數(shù)據(jù)的可視化交互操作。據(jù)的可視化交互操作。ArcMapArcMap提供了所見即所得的符號編輯器,令使用者可以隨心所欲地提供了所見即所得的符號編輯器,令使用者可以隨心所欲地生成生成任意復雜的點線面符號任意復雜的點線面符號。ArcMapArcMap進一步拓展了進一步拓展了ESRIESRI強大的空間數(shù)據(jù)直接讀取能力,多種格式的數(shù)據(jù)強大的空間數(shù)據(jù)直接讀取能力,多種格式的數(shù)據(jù)無需進行轉(zhuǎn)換或利
6、用中間交換格式即可動態(tài)地直接使用。無需進行轉(zhuǎn)換或利用中間交換格式即可動態(tài)地直接使用。ArcMapArcMap支持的空支持的空間數(shù)據(jù)格式包括:間數(shù)據(jù)格式包括:ArcInfo coverages, ESRI shapefiles, ArcSDE layers, ArcInfo coverages, ESRI shapefiles, ArcSDE layers, DXF and DWG, DGN, DXF and DWG, DGN, 大量的圖像格式大量的圖像格式, GRID, GRID、TINTIN,等等。,等等。ArcMapArcMap還支持空間數(shù)據(jù)的動態(tài)投影(還支持空間數(shù)據(jù)的動態(tài)投影(on-th
7、e-fly projectionon-the-fly projection)。)。1 1、ArcGISArcGIS的客戶端的客戶端lArcToolbox是一個用于空間數(shù)據(jù)格式轉(zhuǎn)換、疊加是一個用于空間數(shù)據(jù)格式轉(zhuǎn)換、疊加處理、緩沖區(qū)生成、坐標轉(zhuǎn)換等的集處理、緩沖區(qū)生成、坐標轉(zhuǎn)換等的集成化成化“工具箱工具箱”。ArcToolboxArcToolbox以以樹形樹形結(jié)構(gòu)結(jié)構(gòu)方式組織了方式組織了120120多個不同的空間多個不同的空間數(shù)據(jù)處理工具,并且都是以數(shù)據(jù)處理工具,并且都是以菜單驅(qū)動菜單驅(qū)動的方式提供出來,這為我們以一種確的方式提供出來,這為我們以一種確定的、輕松的方式去完成哪怕是很復定的、輕松的方
8、式去完成哪怕是很復雜的工作提供了前所未有的方便。雜的工作提供了前所未有的方便。1 1、ArcGISArcGIS的客戶端的客戶端2 2、ArcGIS ArcGIS 的服務器端的服務器端nArcIMS用戶的空間數(shù)據(jù)和應用可以通過用戶的空間數(shù)據(jù)和應用可以通過ArcIMS ArcIMS 在在 Intranet/InternetIntranet/Internet環(huán)境環(huán)境中進行發(fā)布和共享。中進行發(fā)布和共享。ArcIMSArcIMS提供用戶在服務器端可以以提供用戶在服務器端可以以影像方式影像方式或或矢量數(shù)據(jù)流方式矢量數(shù)據(jù)流方式進行數(shù)據(jù)發(fā)布??蛻舳擞脩敉ㄟ^工業(yè)標準的通用進行數(shù)據(jù)發(fā)布??蛻舳擞脩敉ㄟ^工業(yè)標準的通
9、用瀏覽器即可對瀏覽器即可對ArcIMSArcIMS服務站點進行訪問和交互操作。服務站點進行訪問和交互操作。ArcIMSArcIMS支持支持包括包括ServletServlet、ColdFusionColdFusion、ASPASP等多種等多種Web ServerWeb Server端技術,同時端技術,同時開發(fā)了有望成為未來開發(fā)了有望成為未來InternetInternet環(huán)境中環(huán)境中GISGIS通用語言的通用語言的ArcXMLArcXML,為空,為空間數(shù)據(jù)跨廠商跨平臺的廣泛交流和共享打下了堅實的基礎。間數(shù)據(jù)跨廠商跨平臺的廣泛交流和共享打下了堅實的基礎。nArcSDEArcSDEArcSDE是是
10、ESRIESRI的空間數(shù)據(jù)庫引擎,用于對海量的空間數(shù)據(jù)庫引擎,用于對海量空間數(shù)據(jù)空間數(shù)據(jù)及其及其屬性數(shù)據(jù)屬性數(shù)據(jù)的管的管理和驅(qū)動,為理和驅(qū)動,為并發(fā)訪問并發(fā)訪問的客戶端提供快速、安全的數(shù)據(jù)服務。的客戶端提供快速、安全的數(shù)據(jù)服務。ArcSDEArcSDE支持支持工業(yè)標準的工業(yè)標準的DBMSDBMS平臺(如:平臺(如:ORACLEORACLE、SQL ServerSQL Server、DB2DB2、InformixInformix等),等),同時引入了其獨有的同時引入了其獨有的異步緩沖機制異步緩沖機制和和協(xié)同操作機制協(xié)同操作機制,使得空間數(shù)據(jù)服務的響,使得空間數(shù)據(jù)服務的響應效率得到提高,真正起到了
11、應效率得到提高,真正起到了“引擎引擎”的作用,而并不僅僅是提供一種空間的作用,而并不僅僅是提供一種空間數(shù)據(jù)存儲方式。另外,數(shù)據(jù)存儲方式。另外,ArcSDEArcSDE具有豐富的客戶端可供用戶選用,如:具有豐富的客戶端可供用戶選用,如:ArcInfoArcInfo、ArcViewArcView、ArcIMSArcIMS、MapObjectsMapObjects、ArcExplorerArcExplorer等。同時,還等。同時,還提供了開放的提供了開放的APIAPI編程接口,供用戶或開發(fā)商開發(fā)自己的客戶端應用或產(chǎn)品。編程接口,供用戶或開發(fā)商開發(fā)自己的客戶端應用或產(chǎn)品。2 2、ArcGIS ArcG
12、IS 的服務器端的服務器端3 3、ArcGIS ArcGIS 與與 ArcObjectsArcObjectsp ArcGIS是構(gòu)建在ArcObjects組件庫之上。pESRI 使用 ArcObjects來開發(fā)軟件和應用程序。p 開發(fā)者使用ArcObjects去客戶化軟件與創(chuàng)建自己的應用程序。p ArcObjects 是 ArcGIS 的核心。目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS Engine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Eng
13、ine開發(fā)環(huán)境與流程ArcGIS Engine ArcGIS Engine 產(chǎn)品產(chǎn)品vArcGIS Engine包含了兩個產(chǎn)品: ArcGIS Engine Runtime n 是運行所有ArcGIS Engine應用程序所必須的軟件n 最終用戶需要安裝n 可以進行不同的運行時選項選擇 ArcGIS Engine Developer Kitn 開發(fā)者使用的n 包含了所有開發(fā)庫和開發(fā)資源n 可以進行所有的選項開發(fā) v 兩個產(chǎn)品都通過軟件許可文件授權ArcGIS Engine Developer KitArcGIS Engine Developer Kit產(chǎn)品產(chǎn)品v 用來創(chuàng)建獨立、嵌入式的桌面應用
14、程序v 包含構(gòu)建ArcGIS Engine應用程序所需的許可v 構(gòu)建在ArcObjects基礎之上v 不包含ArcMap, ArcCatalog, ArcToolbox, ArcScene 等應用程序框架v 運行在桌面上(Windows, Unix & Linux)v 提供多種開發(fā)APIsn C+, .Net, Java, COMn 4種APIs使用了相同的對象v 包括了構(gòu)建定制ArcGIS Engine獨立應用的所有功能標準標準EngineEngine功能功能v 地圖瀏覽v 地圖制作v 數(shù)據(jù)查詢v 數(shù)據(jù)分析v 所有的開發(fā)控件 MapControl, PageLayout, Toolbar,
15、TOC, ArcReaderv 對所有矢量和柵格數(shù)據(jù)源的讀權限v 對Shapefile和pGDB的寫權限v 讀/寫 MXD文件目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS Engine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Engine開發(fā)環(huán)境與流程ArcEngineArcEngine產(chǎn)品結(jié)構(gòu)產(chǎn)品結(jié)構(gòu)ArcEngine是開發(fā)人員用于建立自定義應用程序的嵌入式GIS組件的完整類庫。包含以下五個部分:基本服務基本服務:由GIS核心ArcObject
16、s構(gòu)成。幾乎所有的GIS應用程序都需要,如幾何體和顯示。數(shù)據(jù)存取數(shù)據(jù)存?。簩υS多柵格和矢量格式的數(shù)據(jù)進行存取,包括GeoDatabase。地圖表達地圖表達:創(chuàng)建和顯示帶有符號、標注的地圖以及專題地圖的ArcObjects對象。開發(fā)組件開發(fā)組件:快速應用開發(fā)的高級用戶接口控件和綜合幫助系統(tǒng)。運行時選項運行時選項:與標準功能或其他高級功能一起部署的部件。標準標準ArcGIS EngineArcGIS Engine開發(fā)組件開發(fā)組件v 標準的ArcGIS Engine開發(fā)組件包含: 數(shù)據(jù)和地圖的顯示 (MapControl & TOC) 跟蹤形狀和顯示繪制(Map) 定制工具和命令 (Toolbar)
17、 地圖布局和打印 (PageLayout) 訪問底層的ArcObjectsArcGIS EngineArcGIS Engine擴展模塊擴展模塊v GeoDatabase Updatav 3D 分析v 空間分析GeoDatabase UpdataGeoDatabase Updata擴展擴展v 提供創(chuàng)建和更新多用戶企業(yè)級地理數(shù)據(jù)庫的功能。v 版本管理、離線編輯v 提供了拓撲、子類和幾何網(wǎng)絡等地理數(shù)據(jù)庫行為的程序?qū)崿F(xiàn)。v 釋放相應的ArcObjects的功能??臻g分析擴展空間分析擴展v 創(chuàng)建、查詢和分析基于像元的柵格數(shù)據(jù)v 坡度計算v 坡向計算v 用數(shù)字高程模型生成等高線v 3D3D分析擴展分析擴展
18、v 實現(xiàn)數(shù)據(jù)的三維可視化v 提供SceneControl和GlobeControlv 創(chuàng)建表面和分析表面的多層3D數(shù)據(jù)v 把3D功能嵌入到應用系統(tǒng)中。小結(jié)小結(jié):ArcGIS Engine:ArcGIS Engine的功能的功能v圖層顯示v地圖漫游和縮放v識別地圖上的要素v顯示字段值的文本標注v顯示航空相片或衛(wèi)星影像v繪制描述性文本v用線、框、區(qū)域、多邊形和圓選擇要素v選擇與某些要素的距離在一定范圍的要素v用結(jié)構(gòu)化查詢語言表達式查找和選擇要素v定制地圖的專題顯示方式v動態(tài)顯示實時或時間序列數(shù)據(jù)v轉(zhuǎn)換地圖的坐標系統(tǒng)v在要素幾何形狀上執(zhí)行幾何操作以,創(chuàng)建緩沖區(qū)、計算差異、發(fā)現(xiàn)交叉、合并和求異等。(幾
19、何運算)v處理要素形狀或者旋轉(zhuǎn)地圖v創(chuàng)建和更新地理要素及其屬性v地圖制圖輸出v3D顯示、空間分析v目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS Engine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Engine開發(fā)環(huán)境與流程ArcGIS EngineArcGIS Engine類庫圖類庫圖ArcGIS EngineArcGIS Engine類庫:類庫:1 1、SystemSystemv System類庫是ArcGIS系統(tǒng)結(jié)構(gòu)中最底層的類庫。v Sy
20、stem類庫包含了構(gòu)成為ArcGIS的其他類庫提供服務的組件。v System類庫中定義了大量開發(fā)者可以實現(xiàn)的接口,如AoInitializer對象就是在System類庫中定義的,所有開發(fā)者必須使用這個對象來初始化ArcGIS Engine。ArcGIS EngineArcGIS Engine類庫:類庫:2 2、 SystemUI SystemUI v 包含用戶界面組件接口定義。如:Icommand、Itool和IToolControl接口。v 開發(fā)者使用這些接口來擴展UI組件。v 包含的一些使用工具對象,通過使用這些對象來簡化用戶界面的開發(fā), 如Icommand和Itool這樣的接口就在這里
21、定義。ArcGIS EngineArcGIS Engine類庫:類庫:3 3、GeometryGeometryv 處理存儲在要素類中的要素形狀。如:Point、MultiPoint、Polyline、Polygon等。v 存儲構(gòu)成幾何要素的子要素。如:Segement、Path、Ring等。v 存儲幾何要素的空間參考對象。包括:投影坐標和地理坐標系統(tǒng)等。ArcGIS EngineArcGIS Engine類庫:類庫:4 4、DisplayDisplayv 用于控制地圖顯示。v 包含用于顯示GIS數(shù)據(jù)的對象。v 包含符號、顏色等用來控制顯示的對象。v 包含交互操作時提供給用戶顯示回饋的對象,如M
22、oveEnvelopeFeedbackMoveEnvelopeFeedback。ArcGIS EngineArcGIS Engine類庫:類庫:5 5、ServerServerv 用來連接并操作ArcGIS Server。v 訪問ArcGIS Server的ServerObjectsManager對象。v 操作ArcGIS Server的ServerContext對象。ArcGIS EngineArcGIS Engine類庫:類庫:6 6、OutputOutputv 用來控制地圖的輸出v 用戶創(chuàng)建圖形輸出到打印機或者繪圖儀等設備。v 輸出成JPG、BMP、增強圖元文件等格式。ArcGIS En
23、gineArcGIS Engine類庫:類庫:6 6、GeoDatabaseGeoDatabasev 為ArcGIS支持的所有數(shù)據(jù)源提供了一個統(tǒng)一編程模型。v 定義了許多由ArcObjects架構(gòu)中更高級的數(shù)據(jù)源提供者實現(xiàn)的接口。v 開發(fā)者可以擴展地理數(shù)據(jù)庫,以支持特定類型的數(shù)據(jù)對象。v 該類庫還支持PlugInDataSource對象添加的自定義矢量數(shù)據(jù)源。ArcGIS EngineArcGIS Engine類庫:類庫:7 7、GISClientGISClientv 允許開發(fā)者使用Web服務。v 可以連接到ArcIMS。v 支持以無狀態(tài)方式或者通過Web目錄操作ArcGIS Server對象
24、的編程模型。ArcGIS EngineArcGIS Engine類庫:類庫:8 8、DataSourcesFileDataSourcesFilev 包含用于基于文件數(shù)據(jù)源的GeoDatabase API實現(xiàn)。v 基于文件的數(shù)據(jù)源包括:shapefile、coverage、TIN、CAD、SDC、StreetMap和VPF。v 開發(fā)者不能擴展DataSourcesFile。ArcGIS EngineArcGIS Engine類庫:類庫:9 9、DataSourceGDBDataSourceGDBv 包含用于數(shù)據(jù)庫數(shù)據(jù)源的GeoDatabase API實現(xiàn)。v 數(shù)據(jù)源包括:Access和ArcSD
25、E支持的關系型數(shù)據(jù)庫管理系統(tǒng),如:DB2、Informix、SQL Server、Oracle。v 開發(fā)者不能擴展該類庫。 ArcGIS EngineArcGIS Engine類庫:類庫:1010、DataSourcesOleDBDataSourcesOleDBv 包含用戶Microsoft OLE DB數(shù)據(jù)源的Geodatabase API實現(xiàn)。v 只能用在Microsoft Windows上。v 這些數(shù)據(jù)源包括支持數(shù)據(jù)提供者和文本文件工作空間的所有OLE DB。ArcGIS EngineArcGIS Engine類庫:類庫:1111、DataSourcesRasterDataSources
26、Rasterv 包含用于柵格數(shù)據(jù)源的GeoDatabase API實現(xiàn)。v 這些數(shù)據(jù)源包括ArcSDE支持的關系型數(shù)據(jù)庫管理系統(tǒng):DB2、Informix、SQLServer、Oracle,以及支持RDO柵格文件格式。ArcGIS EngineArcGIS Engine類庫:類庫:1212、CartoCartov 包含操作2D地圖的對象。v 支持2D地圖的創(chuàng)建和顯示。v 提供Map和PageLayout等基礎對象。v 提供MapDocument對象來操作地圖文檔。ArcGIS EngineArcGIS Engine類庫:類庫:1313、Network AnaliysisNetwork Anal
27、iysisv 提供用于在地理數(shù)據(jù)庫中加載和分析網(wǎng)絡數(shù)據(jù)的對象。v 開發(fā)者可以擴展NetworkAnaliysis類庫,以便支持自定義的網(wǎng)絡追蹤。v 該類庫的目的在于操作公共網(wǎng)絡:供氣管線、供電網(wǎng)絡等。ArcGIS EngineArcGIS Engine類庫:類庫:1414、ControlsControlsv 用來構(gòu)建或擴展具有ArcGIS 功能的應用程序。v 提供一系列的開發(fā)控件,通過封裝ArcObjects,提供粗顆粒度的API來簡化開發(fā)過程。v 提供HookHelper對象,簡化命令操作的創(chuàng)建。ArcGIS EngineArcGIS Engine類庫:類庫:1515、GeoAnalystG
28、eoAnalystv 包含支持核心空間分析功能的對象。v 這些功能用在SpatialAnalyst和3DAnalyst兩個類庫中。v 開發(fā)者可以通過創(chuàng)建新類型的柵格操作來擴展GeoAnalyst類庫。ArcGIS EngineArcGIS Engine類庫:類庫:1616、3D Analyst3D Analystv 包含操作3D場景的對象。v 主要對象為:Scene。v 運行時需要3D許可選項ArcGIS EngineArcGIS Engine類庫:類庫:1717、Spatial AnalystSpatial Analystv 包含在柵格數(shù)據(jù)和矢量數(shù)據(jù)上執(zhí)行空間分析的對象。v 通常是直接使用給
29、類庫中的對象,不做擴展。v 運行時需要空間分析選項許可。ArcGIS EngineArcGIS Engine類庫:類庫:1818、GlobeCoreGlobeCorev 包含操作Globe數(shù)據(jù)的對象。v 主要對象為:Globe。v 運行時需要3D許可選項。目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS Engine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Engine開發(fā)環(huán)境與流程ArcGIS EngineArcGIS Engine控件概念控件概念
30、v嵌入式組件一每個ArcGIS控件都是嵌入式組件,可以拖放到可視化設計環(huán)境提供的容器窗體或?qū)υ捒蛑?。一旦放在了容器?nèi),就可以改變ArcGIS控件的大小和位置,以便與其他嵌入式組件一起為應用程序提供用戶界面。ArcGIS EngineArcGIS Engine控件概念控件概念v屬性頁 一旦控件被放入了容器中,就可以使用右鍵點擊該控件來彈出屬性頁面,可以方便的訪問控件的屬性和方法 ,減少代碼的編寫工作量。ArcGIS EngineArcGIS Engine控件概念控件概念v封裝ArcObjects一每個ArcGIS控件都封裝了粗顆粒度的ArcObjects,同時又提供對細顆粒度的ArcObject
31、s的訪問,簡化了開發(fā)過程。一如PageLayoutControl封裝了PageLayout對象,PageLayout對象至少包含一個Map對象,而Map對象又可以包含一個或者多個圖層對象。一ArcGIS控件是開發(fā)程序的起點,通過他們可以直接快速進入開發(fā)的對象模型。v事件一每個ArcGIS控件都會響應終端用戶的鍵盤和鼠標交互而觸發(fā)的事件。一在事件中加入響應交互的處理代碼。ArcGIS EngineArcGIS Engine控件概念控件概念v伙伴控件一這種類型的ArcGIS控件不能單獨使用,需要和另外一個控件一起協(xié)同工作。一ToolbarControl和TOCControl是伙伴控件一對應的伙伴控
32、件一般為:MapControl、PageLayoutControl、ReaderControl、SceneControl或GlobeControl控件。一可以通過屬性頁面來設置伙伴控件的關聯(lián)屬性。ArcGIS EngineArcGIS Engine控件概念控件概念v控件命令一ArcGIS Engine提供了一系列的命令、工具和菜單與ArcGIS控件系統(tǒng)工作。如放大、縮小、漫游等等。一開發(fā)人員也可以通過創(chuàng)建自己定義的命令、工具和菜單來使用ArcGIS Engine提供的命令集。一可以使用HookHelper、GlobeHookHelper和SceneHookHelper等對象來簡化自定義的命令。
33、ArcGIS EngineArcGIS Engine控件概念控件概念提供超過100個工具和命令ArcGIS EngineArcGIS Engine控件概念控件概念v地圖制作一ArcGIS控件可以裝載使用ArcGIS DeskTop預定義的文檔。如:ArcMap制作的MXD文檔可以被MapControl和PageLayoutControl來加載。一使用預定一的文檔可以節(jié)省開發(fā)時間,不需要從零開始編程建立地圖及其符號化體系。ArcGIS EngineArcGIS Engine控件概念控件概念ArcGIS EngineArcGIS Engine開發(fā)控件開發(fā)控件v MapControl v PageL
34、ayoutControlv ToolBarControl v TOCControl v SceneControl v GlobelControl 3D3D控件控件v SceneControlSceneControl一一對應與桌面的對應與桌面的ArcSceneArcScene桌桌面應用程序的三維視圖。擁面應用程序的三維視圖。擁有導航功能,允許用戶三維有導航功能,允許用戶三維地顯示地圖數(shù)據(jù)。地顯示地圖數(shù)據(jù)。v GlobeControl GlobeControl 一一對應與桌面的對應與桌面的ArcGlobeArcGlobe桌桌面應用程序的三維視圖。擁面應用程序的三維視圖。擁有導航功能,允許用戶三維有
35、導航功能,允許用戶三維地顯示地圖數(shù)據(jù)。地顯示地圖數(shù)據(jù)。ReadControlReadControlv ReadControlReadControl一一對應于對應于ArcReaderArcReader桌面應用程桌面應用程序地序地“數(shù)據(jù)數(shù)據(jù)”和和“布局布局”視圖視圖及其內(nèi)容表及其內(nèi)容表“TOC”TOC”。一一ReadControlReadControl還包含有一定的還包含有一定的工具菜單,方便使用。工具菜單,方便使用。一一訪問訪問ArcGIS PublisherArcGIS Publisher擴展模擴展模塊發(fā)布的塊發(fā)布的PMFPMF數(shù)據(jù)。數(shù)據(jù)。目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS E
36、ngine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Engine開發(fā)環(huán)境與流程接口概念接口概念nCOM是微軟提出的一種用于開發(fā)和支持程序?qū)ο蠼M件的框架 ,是一種系統(tǒng)構(gòu)架模型二進制規(guī)范,而不是指特定語言;COM是一種自我描述,自我生存的軟件模塊;它由操作系統(tǒng)的COM管理部分來注冊和管理,并向所有應用開放。nCom是軟件模塊之間連接的協(xié)議,客戶調(diào)用服務器并等待服務器的響應接口概念接口概念實例實例A A實例實例C實例實例B公共接口代理公共接口代理(接口查詢,
37、實例創(chuàng)建。)應用接口應用接口代理代理nCOM通過一個叫接口的機制與外部程序打交道。所有的實例至少有一個叫公共接口代理的接口。外部程序可以通過對這個叫公共接口代理的調(diào)用可以獲得其它接口信息。通過接口可以完成組件所要達到的功能目標。n接口Interface (抽象類)是組件間進行通訊的通道。同一接口在不同的組件類中實現(xiàn)的方法可以是不相同的(多態(tài)性)。接口與接口與ArcGISArcGIS的關系的關系nArcGIS正是在在這種組件技術的基礎上搭建的,ArcGIS不但提供了基于圖形用戶界面的應用,而且提供了搭建這些應用的所有組件,這樣為用戶重新搭建他們自己的應用提供了巨大的空間。nArcGIS Engi
38、ne提供了基于COM、.NET、Java和C+的APIs,它支持4種開發(fā)環(huán)境(C、COM、.NET和Java),能夠?qū)崿F(xiàn)跨平臺部署(Windows、UNIX和Linux)。 目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS Engine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Engine開發(fā)環(huán)境與流程1 1、對象模型圖閱讀、對象模型圖閱讀 n幾個名詞概念:UML:Unified Modeling Language 統(tǒng)一建模語言,是用來對軟件密集系統(tǒng)
39、進行可視化建模的一種語言。UML為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進行說明、可視化、和編制文檔的一種標準語言。OMD:Object model diagrams 對象模型圖表。首先來看看OMD能幫我們做什么?1 該類支持哪些接口;2 完成任務需要哪些對象;3 如何使用該類的對象;4 是否可以直接實例化類;5 接口有哪些方法和屬性;6 是否有其它類也支持該接口;7 對象間的關系這些符號是基于UML 畫圖工具創(chuàng)建的,UML 符號是面向?qū)ο蠓治龊驮O計的工業(yè)圖樣標準。對象模型圖中提供的信息非常多,是對象瀏覽器中信息的重要補充。Visual Basic,或者其它的開發(fā)環(huán)境,都會列出所有的類和成員,但不會指明這些類
40、之間的關系。所以,對象模型圖是非常有利于讀者對ArcInfo 組件的理解的!1. 類和對象類和對象在UML 圖中有三種類型的類:抽象類(abstract class)、可創(chuàng)建類(createable class)與可實例化類(instantiable class)。l抽象類不能用以創(chuàng)建新對象,但可以用來指定子類。舉個例子,“鳥”是“雞”的抽象類。l可創(chuàng)建類指的是那些能夠直接使用開發(fā)環(huán)境中的對象定義語法來創(chuàng)建對象。比如在Visual Basic 中是這樣書寫:Dim As New 或者CreateObject 。l可實例化類不能夠直接創(chuàng)建新對象,但是這種類的對象能夠作為其它對象的屬性被創(chuàng)建或是從
41、其它類的方法中創(chuàng)建。-比較難理解。1 1、對象模型圖閱讀、對象模型圖閱讀 鳥鳥 AbstractAbstract鳥巢 CoClass雞 CoClass羽毛羽毛 ClassClass翅膀翅膀 ClassClass蛋蛋 ClassClass*22. 關聯(lián)關聯(lián)在抽象類、可創(chuàng)建類和可實例化類之間,有幾種存在的關聯(lián)(或稱關系)。聯(lián)系(association)便描述了類之間的關聯(lián)。在兩端的類中可以定義多重性( Multiplicity)關聯(lián)。 在這張圖上,一個業(yè)主能有擁有一塊或多塊宗地;同樣地,一塊宗地可以被一個或多個業(yè)主所共有。多重性關聯(lián)就是限制對象類與其它對象關聯(lián)的數(shù)目關系。以下是用于多重性關聯(lián)的符號
42、:1 一個并且只有一個,這種多樣性是可選的;如果不標明,則默認為“1”0.1 零個或一個M.N 從M 到N(正整數(shù))*或者0 * 從零到任意正整數(shù)1 * 從一到任意正整數(shù) 1 1、對象模型圖閱讀、對象模型圖閱讀 3、類繼承類繼承(type inheritance)定義了專門的類,它們擁有超類的屬性和方法,并且同時也有自身的屬性和方法。 上圖說明primary line 和secondary line 是line 的一種類型。4、實例化實例化(Instantiation)指定一個類的對象有這樣的方法,它能夠創(chuàng)建另外一個類的對象。 pole 對象有一個方法能夠創(chuàng)建transformer 對象。1
43、1、對象模型圖閱讀、對象模型圖閱讀 5、組成組成(Composition)是一種更為強壯的聚合方式,此種方式下,“整體”對象控制著“部分”對象的生存時間。 一個pole 包含一個或多個crossarm。在這個圖中當pole 被移除后,crossarm 就不能再使用了。因為pole 控制著crossarm 的生存時間。1 1、對象模型圖閱讀、對象模型圖閱讀 6、OMD中的符號:中的符號:n一個三角形符號 表示繼承n形的黑色小塊 表示組成n線前頭帶個箭頭 表示用來創(chuàng)建n* 表示對應關系1:Nn一條直線表示 聯(lián)合1 1、對象模型圖閱讀、對象模型圖閱讀 6、OMD中的符號:中的符號:類的類別:類的類別
44、:n抽象類:抽象類:不能創(chuàng)建或?qū)嵗?,從來沒有一個抽象類的實例 用于定義子類的公共接口,子類繼承其定義的接口。OMD符號為:二維的內(nèi)部有陰影的矩形。n例化類:例化類:不能創(chuàng)建,從別的對象獲得實例。 OMD符號為:3D矩形內(nèi)部沒有陰影n可創(chuàng)建的類:可創(chuàng)建的類:用New關鍵字創(chuàng)建對象或者從別的對象獲得運行實例。OMD符號為:帶陰影的3D矩形符號。1 1、對象模型圖閱讀、對象模型圖閱讀 6、OMD中的符號:中的符號:屬性和方法:屬性和方法:n屬性:啞鈴狀的圖標,Read(左側(cè)的啞鈴)和write(右側(cè)的啞鈴)n方法:指向左側(cè)的箭頭n接口:棒棒糖類型的圖標n圖表之間的連接:蟲洞1 1、對象模型圖閱讀、
45、對象模型圖閱讀 7、入接口和出接口、入接口和出接口(Inbound interface,Outbound interface)COM調(diào)用既可以是單向的(即客戶程序創(chuàng)建組件對象,然后客戶程序調(diào)用對象所提供的功能,在適當時候再把對象釋放掉),通常稱為入接口。如果一個COM對象支持一個或多個主動與客戶程序進行通信的接口,則這種接口稱為出接口,是因為這些接口并不由對象實現(xiàn),而是由客戶程序?qū)崿F(xiàn).(類似回調(diào)函數(shù),在對象模型圖中表現(xiàn)為“事件”)1 1、對象模型圖閱讀、對象模型圖閱讀 個人感覺在OMD圖中比較難理解的就是可實例化類CLASS。從下面的例子去理解它:ArcGIS Engine中 workSpac
46、e 就是一個可實例化類,WorkSpace不能用new創(chuàng)建,但可以通過WorkSpaceFarctory.Openfromfile()方法來創(chuàng)建.如下:IWorkspaceFactory pWorkspaceFactory = new AccessWorkspaceFactoryClass();IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(ConnectionString, 0);1 1、對象模型圖閱讀、對象模型圖閱讀 2 2、接口查找、接口查找快速得知ArcGIS Engine接口所屬命名空間的幾種方式 1.Visual Std
47、uio 2005中提供的智能感知(鼠標懸浮在接口上就能看到)或中提供的智能感知(鼠標懸浮在接口上就能看到)或“轉(zhuǎn)轉(zhuǎn)到定義到定義”(理論上提供(理論上提供F12快捷)快捷) 2.使用幫助文檔的索引使用幫助文檔的索引 ArcGIS的幫助文檔可以說是非常強悍的,如下圖所示:的幫助文檔可以說是非常強悍的,如下圖所示:3.使用使用AE自帶的工具:自帶的工具:【Library Locator】 這個工具的使用比較簡單(如果用這個工具的使用比較簡單(如果用.NET的話,勾選窗體下部的復選框),該工具的話,勾選窗體下部的復選框),該工具能夠粘貼命名空間和能夠粘貼命名空間和ProgID。 4.OMD OMD文檔
48、結(jié)構(gòu)圖,理理接口之間的關系,能很大的幫助自己。文檔結(jié)構(gòu)圖,理理接口之間的關系,能很大的幫助自己。 2 2、接口查找、接口查找目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS Engine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Engine開發(fā)環(huán)境與流程 Geodatabase實際上可以看成是我們在系統(tǒng)中所處理和使用的所有空間數(shù)據(jù)的實際上可以看成是我們在系統(tǒng)中所處理和使用的所有空間數(shù)據(jù)的一個智能庫。物理上,數(shù)據(jù)被存放在數(shù)據(jù)庫管理系統(tǒng)(一個智能庫。物理
49、上,數(shù)據(jù)被存放在數(shù)據(jù)庫管理系統(tǒng)(DBMS)中,其類型可以)中,其類型可以是各種各樣的,包括:是各種各樣的,包括:nVectornTopologynRasternNetworksnAddressesnTINsnRelationships and RulesnCADnMetadatanTablesGeodatabase數(shù)據(jù)模型使現(xiàn)實世界的空間數(shù)據(jù)對象與其邏輯數(shù)據(jù)模型更為接近。在數(shù)據(jù)模型使現(xiàn)實世界的空間數(shù)據(jù)對象與其邏輯數(shù)據(jù)模型更為接近。在geodatabase中,定義的不再是傳統(tǒng)中,定義的不再是傳統(tǒng)GIS對空間數(shù)據(jù)進行抽象后的對空間數(shù)據(jù)進行抽象后的“點點”、“線線”、“面面”等簡單空間要素,而是應用
50、領域中熟悉的對象,如:桿塔、刀閘、電纜、道路、等簡單空間要素,而是應用領域中熟悉的對象,如:桿塔、刀閘、電纜、道路、建筑、用地等。更重要的是建筑、用地等。更重要的是geodatabase使我們不需要編寫任何程序代碼即可實現(xiàn)數(shù)據(jù)使我們不需要編寫任何程序代碼即可實現(xiàn)數(shù)據(jù)對象主要的操作行為。大多數(shù)的操作行為都可以通過對象值域(對象主要的操作行為。大多數(shù)的操作行為都可以通過對象值域(Domain)、子類型)、子類型(Subtype)、規(guī)則等的定義以及)、規(guī)則等的定義以及ArcInfo提供的應用框架中豐富的其它功能來完成。提供的應用框架中豐富的其它功能來完成。 什么是什么是GeodatabaseGeod
51、atabase使用使用GeodatabaseGeodatabase的好處的好處 GeodatabaseGeodatabase是面向?qū)ο蟮目臻g數(shù)據(jù)模型,同時,是面向?qū)ο蟮目臻g數(shù)據(jù)模型,同時,ArcInfo中提供了中提供了智能化的工具和智能化的工具和CASE接口,供我們定義自己的數(shù)據(jù)對象,不但定義數(shù)據(jù)接口,供我們定義自己的數(shù)據(jù)對象,不但定義數(shù)據(jù)對象的空間幾何特征,還可定義其規(guī)則、關系和操作行為。具體而言,對象的空間幾何特征,還可定義其規(guī)則、關系和操作行為。具體而言,Geodatabase可以為我們帶來如下好處:可以為我們帶來如下好處: n統(tǒng)一的空間數(shù)據(jù)智能庫:統(tǒng)一的空間數(shù)據(jù)智能庫:系統(tǒng)中所有的空間
52、數(shù)據(jù)都可以統(tǒng)一地在同一數(shù)據(jù)庫中存放和管理。n數(shù)據(jù)的一致性得以保證:數(shù)據(jù)的一致性得以保證:由于定義了規(guī)則和值域等,數(shù)據(jù)的錄入和編輯都可以進行智能化的合法性校驗,從而避免了數(shù)據(jù)的不一致性。n用戶可以更直觀地使用數(shù)據(jù):用戶可以更直觀地使用數(shù)據(jù):Geodatabase中的數(shù)據(jù)對象與領域應用中實際的空間要素更為接近,用戶不再是面對在其應用領域沒有特定意義的點、線、面等抽象的東西,而是直接操作他所熟悉的對象,如:變壓器、電桿、高壓線、刀閘、人井、道路、湖泊等。n空間要素不再孤立存在:空間要素不再孤立存在:在Geodatabase中,我們可以定義對象與對象之間的關系。于是我們可以描述或定義對一個空間要素而言
53、,如果與其相關的其它空間要素被移動、修改或刪除時,對它會有何影響。這樣,當我們移動一個電桿時,與其相連的電線就可以自動根據(jù)這種對象關系完成必要的移動,而無需人為干預。n可以更好地制圖:可以更好地制圖:借助Geodatabase數(shù)據(jù)模型,可以對空間要素的確繪制方法進行更多的控制。在ArcMap中,可以直接利用智能化的、復雜的制圖方法。通過為空間數(shù)據(jù)對象的擴展編碼,實現(xiàn)高度定制的繪制方法。n空間要素的幾何形狀可以更好地表示:空間要素的幾何形狀可以更好地表示:Geodatabase中支持直線(段)、圓弧、橢圓弧及Bzier曲線等。n連續(xù)的空間數(shù)據(jù)集合:連續(xù)的空間數(shù)據(jù)集合:Geodatabase中表示
54、大規(guī)??臻g數(shù)據(jù)集合的方法是連續(xù)的,不需要對空間數(shù)據(jù)集進行分塊或其它方式的切割,使邏輯模型和現(xiàn)實對象更加統(tǒng)一。n多用戶并發(fā)操作:多用戶并發(fā)操作:Geodatabase支持工作流訪問模式,多個用戶可以同時對同一區(qū)域中的空間要素進行編輯,通過版本管理(Versioning)解決可能的沖突以保障數(shù)據(jù)的一致性和安全性。 使用使用GeodatabaseGeodatabase的好處的好處 n Geodatabase可以用四種方式表達空間數(shù)據(jù):離散的對象表示為矢可以用四種方式表達空間數(shù)據(jù):離散的對象表示為矢量要素,連續(xù)的對象表示為柵格,表面表示為量要素,連續(xù)的對象表示為柵格,表面表示為TIN,地物定位參考表,
55、地物定位參考表示為地址(示為地址(locators and addresses)。)。nGeodatabase提供定義和管理空間數(shù)據(jù)集合的地理坐標系的框架。提供定義和管理空間數(shù)據(jù)集合的地理坐標系的框架。nGeodatabase可對空間上存在拓撲關聯(lián)的空間數(shù)據(jù)進行空間建模,可對空間上存在拓撲關聯(lián)的空間數(shù)據(jù)進行空間建模,譬如:設施網(wǎng)絡、交通網(wǎng)絡等。譬如:設施網(wǎng)絡、交通網(wǎng)絡等。nGeodatabase可在空間數(shù)據(jù)對象間定義任意的關聯(lián)關系??稍诳臻g數(shù)據(jù)對象間定義任意的關聯(lián)關系。nGeodatabase可定義空間數(shù)據(jù)對象的值域、子類和規(guī)則??啥x空間數(shù)據(jù)對象的值域、子類和規(guī)則。nGeodatabase可
56、處理數(shù)據(jù)的多版本管理,以滿足多用戶并發(fā)的長事可處理數(shù)據(jù)的多版本管理,以滿足多用戶并發(fā)的長事務處理需求。務處理需求。GeodatabaseGeodatabase對對DBMSDBMS有何擴展有何擴展目目 錄錄1 ArcGIS體系結(jié)構(gòu)2 ArcGIS Engine是什么3 ArcGIS Engine的主要功能4 ArcGIS Engine類庫5 ArcGIS Engine控件6 接口的概念7 對象模型圖的閱讀8 什么是地理數(shù)據(jù)庫9 ArcGIS Engine開發(fā)環(huán)境與流程ArcGIS EngineArcGIS Engine開發(fā)所需要的預備知識開發(fā)所需要的預備知識v 理解 COM 組件技術v 了解一門
57、編程語言 (VB, .NET, VC+, Java)v 怎么使用 ArcObjectsv 知道開發(fā)者資源v 理解授權與部署的模型v 注:不管何種開發(fā)方式,使用ArcGIS Engine進行應用程序的開發(fā)成功與否取決于開發(fā)人員掌握的編程環(huán)境和ArcObjects的技能。如何開始如何開始.Net.Net的的EngineEngine開發(fā)開發(fā)? ?v 安裝Visual Studio 2005 (Express or Professional)n .NET 2.0 SDK 和 Runtime n http:/ 安裝 .NET 的ArcGIS Engine Runtimen 包括開發(fā)包(developer kit)v 安裝 ArcGIS E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專用施工合同范本模板
- 會展投資合同范本
- 農(nóng)村土方 工程合同范本
- 化工產(chǎn)品營銷合同范本
- Starter Section 3 Saying Hello 教學設計2024-2025學年北師大版(2024)七年級英語上冊
- 企業(yè)質(zhì)押合同范本
- 供車協(xié)議合同范本
- 2024年寧波市消防救援支隊社會招錄政府專職消防員考試真題
- 2024年南平市建陽區(qū)社會統(tǒng)一教師招聘考試真題
- 勞動派遣居間合同范本
- 2025年黑龍江農(nóng)墾職業(yè)學院單招職業(yè)傾向性測試題庫完整
- 光學鏡片透光率測量基準
- 歷史-貴州省貴陽市2025年高三年級適應性考試(一)(貴陽一模)試題和答案
- 輻射安全管理測試題含答案
- 有溫度的護理人
- 1《挑戰(zhàn)第一次》第1課時 說課稿 -2023-2024學年道德與法治二年級下冊統(tǒng)編版
- 預防性試驗四措一案及施工方案
- 第十八屆“地球小博士”全國地理知識科普競賽題庫(附答案)
- 第13課《 擴音系統(tǒng)的控制》說課稿 2023-2024學年 浙教版六年級下冊信息科技
- 新人教版一年級數(shù)學下冊全冊教案(表格式)
- 人教版二年級下冊口算題天天練1000道可打印帶答案
評論
0/150
提交評論