1. 程式人生 > >ae二次開發常用的類和介面

ae二次開發常用的類和介面


1、System類庫是ArcGIS體系結構中最底層的類庫。
2、SystemUI類庫包含使用者介面元件介面定義,這些使用者介面元件可以在ArcGIS Engine中進行擴充套件。包含ICommand、ITool和IToolControl介面。
3、Geometry類庫處理儲存在要素類中的要素幾何圖形或形狀或其他圖形元素。包括投影座標和地理座標系統,都包含在Geometry類庫中。 4、Display類庫包含用於顯示GIS資料的物件。
5、Server類庫包含允許使用者連線並操作ArcGIS Server的物件。
6、Output類庫用於建立圖形輸出到諸如印表機和繪圖儀等裝置及諸如增強型元檔案和柵格影象格式(JPG、BMP等)等硬拷貝格式。
7、GeoDatabase類庫為地理資料庫提供了程式設計API。
8、GISClient類庫允許開發者使用Web服務,這些Web服務可以由ArcIMS和ArcGIS Server提供。
9、DataSourcesFile類庫包含用於基於檔案資料來源的GeoDatabase API實現。 10、DataSourcesGDB類庫包含用於資料庫資料來源的GeoDatabase API實現。
11、DataSourcesOleDB類庫包含用於Microsoft OLEDB資料來源的GeometryDatabase API實現。
12、DataSourcesRaster類庫包含用於柵格資料來源的GeoDatabase API實現。
13、GeoDatabaseDistributed類庫通過提供地理資料庫資料匯入和匯出工具,可以支援對企業級地理資料庫的分散式訪問。開發者不能擴充套件GeoDatabaseDistributed類庫。
14、Carto類庫支援地圖的建立和顯示,這些地圖可以在一幅地圖或由許多地圖及其地圖元素組成的頁面中包含資料。
15、Location類庫包含支援地理編碼和操作路徑事件的物件。
16、NetworkAnalysis類庫提供用於在地理資料庫中載入網路資料的物件並提供物件用於分析載入到地理資料庫中的網路。
17、開發者用Controls類庫來構建或擴充套件具有ArcGIS功能的應用程式。 18、GeoAnalyst類庫包含支援核心空間分析功能的物件。
19、3DAnalyst類庫包含操作3D場景的物件,其方式與Carto類庫包含2D地圖物件類似。 20、GlobeCore類庫包含操作globe資料的物件,其方式與Carto類庫包含操作2D地圖的物件類似。
21、GlobeCore類庫中有一個開發控制元件及與其一起使用的命令和工具。 22、SpatialAnalyst類庫包含在柵格資料和向量資料上執行空間分析的物件。

介面
1、一個類中有多個按鈕時用到ICommandSubType介面。需要在類中同時實現ICommand和ICommandSubType介面。使用ICommandSubType介面需要指定subtype的個數。在每個ICommand屬性的實現中設定每個子型別的屬性,而不必多次實現ICommand介面。
2、當你建立一個新的COM按鈕時,要在你的類程式碼中實現ICommand介面。這些介面決定了簡單按鈕的行為和屬性。例如,ICommand介面設定了按鈕屬性如caption,name,caegory,bitmap,statusbar message,tooltip,help context id和help file,enable state,和checked state。

3、IDataset介面是用來管理dataset的主介面。例如,使用這個介面的成員來獲得dataset的名稱,拷貝、刪除或重新命名dataset。
4、IFeatureBuffer介面用於設定和返回feature buffer中的預設shape。
5、IFeatureClass介面是獲取和設定要素類屬性的主要介面。例如,使用IFeatureClass介面獲取要素類型別、獲取滿足查詢條件的要素數目或在要素類中建立新要素。IFeatureClass介面繼承了IObjectClass介面。
6、IFeatureCursor介面可用來訪問要素類中的一系列要素。
7、IFeatureDataset介面該介面繼承IDataset。僅增加一個建立要素類的功能CreateFeatureClass。
8、IFeatureSelection用來在圖層上管理選擇、進行選擇,或者修改選擇顯示的方式。
9、IFeatureWorkspace介面用於訪問和管理地理資料庫中的要素的重要成分—資料集,如Tables,ObjectClasses,FeatureClasses,FeatureDatasets,和RelationshipClasses。所有的Open方法(例如OpenTable)都要以dataset的名稱作為輸入。IFeatureWorkspace是用workspace建立和開啟物件、物件類的主介面。
10、IFeature介面擴充套件了其繼承的IObject和IRow介面。增加了對要素形狀的處理。
11、ILayer 訪問所有圖層的成員實現IFeatureLayer的類
12、IFeildsEdit介面用於建立fields集合。不能使用該介面在已存在表中刪除或插入欄位。向已存在物件類新增欄位,使用IClass::AddField方法。刪除欄位使用IClass::DeleteField方法。
13、IFields介面Fields表示表中的列集合。
14、IField介面field物件表示表中的一列。
15、IGeometryDefEdit介面用來建立GeometryDef物件,在定義新的要素類的時候一般會使用這個介面。不能使用IGeometryDefEdit修改與附屬於要素類的GeometryDef;
16、IGeometryDef介面以只讀的方式訪問GeometryDef的屬性。
17、該介面用於訪問所有圖層的成員。ILayer是所有圖層物件的公共介面。這個介面有一個繪製圖層的方法,並且可訪問一般的圖層屬性。
18、Tools和按鈕相似,也需要與應用程式互動。放大按鈕就是tool的一個好例子。 查詢內建tool的屬性或建立自己的COM tool時使用ITool。
建立COM tool時,要在你的程式碼中實現ICommand介面和ITool介面。使用ITool介面可以定義如下一些事件的實現,如mouse move,mouse button press/release,keyboard key
19、IWorkspaceEdit介面可以使使用者開始和結束編輯,在這期間geodatabase中的物件可以更新。
20、IWorkspaceFactory介面提供建立和開啟workspace的成員以及訪問workspace factory資訊的成員。
當需要建立一個新的workspace,連線已存在的workspace和尋找有關workspace的資訊時使用IWorkspaceFactory介面。
21、IWorkspace介面提供與workspace資訊有關的成員。Worksapce時空間和非空間資料集,如要素類,柵格資料集和表格的容器。它提供例項化資料集和建立新資料集的方法。 22、 IWorkspace2介面提供NameExists方法,可以方便的確定所給名稱、指定型別的dataset是否存在。IWorkspace2只在Personal,File和ArcSDE Geodatabase上實現。在其他資料來源如shapefile workspace上未實現。
22、使用IMap介面顯示各種資料來源的資料。
23、通過MxDocument操作Maps和Layers 。MxDocument是ArcMap中用來表示地圖文件的類。該類是自定義ArcMap的中心點。本文指出通過IMXDocument如何操作maps和layers。
IMXDocument不是AE的介面,是desktop的介面。