ArcGISEngine常用接口.docx

上传人:牧羊曲112 文档编号:3152861 上传时间:2023-03-11 格式:DOCX 页数:10 大小:40.40KB
返回 下载 相关 举报
ArcGISEngine常用接口.docx_第1页
第1页 / 共10页
ArcGISEngine常用接口.docx_第2页
第2页 / 共10页
ArcGISEngine常用接口.docx_第3页
第3页 / 共10页
ArcGISEngine常用接口.docx_第4页
第4页 / 共10页
ArcGISEngine常用接口.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《ArcGISEngine常用接口.docx》由会员分享,可在线阅读,更多相关《ArcGISEngine常用接口.docx(10页珍藏版)》请在三一办公上搜索。

1、ArcGISEngine常用接口下面根据依赖关系的顺序对一些常用类库进行讨论。模型图中在每个类库框的右上角显示了其序列号。例如,作为ArcGIS体系结构基础的System类库,其编号为1,而编号为7的GeoDatabase类库依赖于模型图中其前面的6个类库-System、SystemUI、Geometry、Display、Server和Output。 System类库 System类库是ArcGIS体系结构中最底层的类库。System类库包含给构成ArcGIS的其他类库提供服务的组件。System类库中定义了大量开发者可以实现的接口。AoInitializer对象就是在System类库中定义的

2、,所有的开发者必须使用这个对象来初始化ArcGIS Engine和解除ArcGIS Engine的初始化。开发者不能扩展这个类库,但可以通过实现这个类库中包含的接口来扩展ArcGIS系统。 SystemUI类库 SystemUI类库包含用户界面组件接口定义,这些用户界面组件可以在ArcGIS Engine中进行扩展。包含ICommand、ITool和IToolControl接口。开发者用这些接口来扩展UI组件,ArcGIS Engine开发人员自己的组件将使用这些UI组件,且一般是在高层次的类库中实现。这个类库中包含的对象是一些使用工具对象,开发人员可以通过使用这些对象简化用户界面的开发。开发

3、者不能扩展这个类库,但可以通过实现这个类库中包含的接口来扩展ArcGIS系统。 Geometry类库 Geometry类库处理存储在要素类中的要素几何图形或形状或其他图形元素。大多数用户会遇到的基本几何图形对象为Point、MultiPoint、Polyline和Polygon。除了这些顶级实体外,就是作为多义线和多边形的组成部分的几何图形,是组成几何图形的子要素。它们是Segment、Path和Ring。Polyline和Polygon由一系列相连接的、构成列Path的片段组成。一个片段由两个不同的点,即起始点和结束点,以及一个定义这两点之间弯曲度的元素类型组成。片段的类型有Circular

4、Arc、Line、EllipticArc和BezierCurve。所有几何图形对象都可以有与其顶点相关联的Z、M和IDs。所有的基本几何图形对象都支持诸如Buffer,Clip等几何操作。几何子要素不可以由开发者扩展。GIS中的实体指的是现实世界中的要素;现实世界中要素的位置由一个带有空间参考的几何图形来定义。空间参考对象,包括投影坐标和地理坐标系统,都包含在Geometry类库中。开发者可以通过添加新的空间参考和投影来扩展空间参考系统。 Display类库 Display类库包含用于显示GIS数据的对象。除了负责实际输出图像的主要显示对象外,这个类库还包含表示符号和颜色的对象,它们用来控制绘

5、制实体的属性。Display类库还包含在与显示交互时提供给用户可视化反馈的对象。开发者与Display最常用的交互方式就是类似于Map对象或PageLayout对象提供的视图。Display类库的所有部分都能进行扩展;通常扩展的对象包括符号、颜色和显示反馈。 Server类库 Server类库包含允许用户连接并操作ArcGIS Server的对象。开发人员用GISServerConnection对象来访问ArcGIS Server。通过GISServerConnection可以访问ServerObjectManager对象。用这个对象,开发人员可以操作ServerContext对象,以处理运行

6、于服务器上的ArcObjects。开发人员还可以用GISClient类库与ArcGIS Server进行交互。 Output类库 Output类库用于创建图形输出到诸如打印机和绘图仪等设备及诸如增强型元文件和栅格图像格式等硬拷贝格式。开发人员用这个类库中的对象及ArcGIS系统的其他部分创建图形输出。通常是Display和Carto类库中的对象。开发者可以为自定义设备和输出格式扩展Ouput类库。 GeoDatabase类库 GeoDatabase类库为地理数据库提供了编程API。地理数据库是建立在标准工业关系型和对象关系数据库技术之上的地理数据仓库。GeoDatabase类库中的对象为Arc

7、GIS支持的所有数据源提供了一个统一编程模型。GeoDatabase类库定义了许多由ArcObjects架构中更高级的数据源提供者实现的接口。开发者可以扩展地理数据库,以支持特定类型的数据对象;此外,GeoDatabase类库还有用PlugInDataSource对象添加的自定义矢量数据源。地理数据库支持的本地数据类型不能扩展。 GISClient类库 GISClient类库允许开发者使用Web服务,这些Web服务可以由ArcIMS和ArcGIS Server提供。GISClient类库中包含用于连接GIS服务器以使用Web服务的对象。该类库支持ArcIMS的图像和要素服务。GISClient

8、类库提供以无态方式直接或通过Web服务目录操作ArcGIS Server对象的通用编程模型。在ArcGIS Server上运行的ArcObjects组件不能通过GISClient接口来访问。要直接获得访问在服务器上运行的ArcObjects,开发人员应使用Server类库中的功能。 DataSourcesFile类库 DataSourcesFile类库包含用于基于文件数据源的GeoDatabase API实现。这些基于文件的数据源包括shapefile、coverage、TIN、CAD、SDC、StreetMap和VPF。开发者不能扩展DataSourcesFile类库。 DataSource

9、sGDB类库 DataSourcesGDB类库包含用于数据库数据源的GeoDatabase API实现。这些数据源包括Microsoft Access和ArcSDE支持的关系型数据库管理系统-IBM、DB2、Informix、Microsoft SQL Server和Oracle。开发者不能扩展DataSourcesGDB类库。 DataSourcesOleDB类库 DataSourcesOleDB类库包含用于Microsoft OLEDB数据源的GeometryDatabase API实现。此类库只能用在Microsoft Windows操作系统上。这些数据源包括支持数据提供者和文本文件工作

10、空间的所有OLEDB。开发者不能扩展DataSourcesOleDB类库。 DataSourcesRaster类库 DataSourcesRaster类库包含用于栅格数据源的GeoDatabase API实现。这些数据源包括ArcSDE支持的关系型数据库管理系统-IBM、DB2、Informix、Microsoft SQL Server和Oracle,以及其支持的RDO栅格文件格式。当需要支持新的栅格格式时,开发者不扩展这个类库,而是扩展RDO。开发者不能扩展DataSourcesRaster类库。 GeoDatabaseDistributed类库 GeoDatabaseDistributed

11、类库通过提供地理数据库数据导入和导出工具,可以支持对企业级地理数据库的分布式访问。开发者不能扩展GeoDatabaseDistributed类库。 Carto类库 Carto类库支持地图的创建和显示,这些地图可以在一幅地图或由许多地图及其地图元素组成的页面中包含数据。PageLayout对象是驻留一幅或多幅地图及其地图元素的容器。地图元素包括指北针、图例、比例尺等。Map对象包括地图上所有图层都有的属性-空间参考、地图比例尺等,以及操作地图图层的方法。可以将许多不同类型的图层加载到地图中。不同的数据源通常有相应的图层负责数据在地图上的显示,矢量要素由FeatureLayer对象处理,栅格数据由

12、RasterLayer对象处理,TIN数据由TINLayer对象处理,等等。必要的话,图层可以处理与之相关数据的所有绘图操作,但通常图层都是一个相关的Renderer对象。Renderer对象的属性控制着数据在地图中的显示方式。Renderers通常用Display类库中的符号来进行实际绘制,而Renderer只是将特定符号与待绘实体的属性相匹配。Map对象和PageLayout对象可以包含元素。元素用其几何图形定义其在地图或页面上的位置,用行为控制元素的显示。包括用于基本形状、文字标注和复杂标注等的元素。Carto类库还支持地图注释和动态标注。 尽管开发者可以在其应用程序中直接使用Map和P

13、ageLayout对象,但通常来说开发者更经常使用更高级的对象,如MapControl、PageLayoutControl或ArcGIS应用程序。这些高级对象简化了一些任务,尽管它们也提供对更低级别的Map和PageLayout对象的访问,允许开发者更好的控制对象。 Map和PageLayout对象并不是Carto类库中提供地图和页面绘制的仅有对象。MxdServer和MapServer对象都支持地图和页面的绘制,但不是绘制到窗口中,而是绘制到文件中。 开发者可以用MapDocument对象保存地图和地图文档、Schematic、TrackingAnalyst类库等 #include #inc

14、lude #include #include #include /IFontDisp使用的条件 /* 使用预处理指令#import 不能放在stdAfx.h文件的开头,而应该放在所有include指令的后面 */ #importC:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF) /* 添加AE组件库和文件 rename(Parameter,adoParameter) rename(Field,adoField) rename(Fields,adoFields) */ #pragma wa

15、rning(push) #pragma warning(disable: 4192) #pragma warning(disable: 4146) #import C:Program Files (x86)ArcGISbinToolbarControl.ocx raw_interfaces_only raw_native_types no_namespace named_guids #import C:Program Files (x86)ArcGISbinTOCControl.ocx raw_interfaces_only, raw_native_types,no_namespace,nam

16、ed_guids,exclude(esriControlsMousePointer,esriControlsDragDropEffect,esriControlsDropAction,esriControlsAppearance,esriControlsBorderStyle) #import C:Program Files (x86)ArcGISbinSceneControl.ocx raw_interfaces_only raw_native_types no_namespace named_guids #import C:Program Files (x86)ArcGISbinMapCo

17、ntrol.ocx raw_interfaces_only ,raw_native_types, no_namespace ,named_guids #import C:Program Files (x86)ArcGISbinPageLayoutControl.ocx raw_interfaces_only ,raw_native_types ,no_namespace ,named_guids #import C:Program Files (x86)ArcGISbinArcReaderControl.ocx raw_interfaces_only ,raw_native_types, no

18、_namespace, named_guids #import C:Program Files (x86)ArcGIScomesriSystem.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE, VARTYPE, IStatusBar) rename(GetObject, esriGetObject) #import C:Program Files (x86)ArcGIScomesriSystemUI.olb raw_interfaces_only,r

19、aw_native_types,no_namespace,named_guids, rename(ICommand, esriICommand), rename(IProgressDialog, esriIProgressDialog) #import C:Program Files (x86)ArcGIScomesriGeometry.olb raw_interfaces_only raw_native_types no_namespace named_guids ,rename(ISegment,esriISegment),rename(IPointArray,esriIPointArra

20、y) #import C:Program Files (x86)ArcGIScomesriCatalog.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE, VARTYPE) #import C:Program Files (x86)ArcGIScomesriCatalogUI.olb raw_interfaces_only,raw_native_types,no_namespace,named_guids, rename(ICommand, esriI

21、Command), rename(IProgressDialog, esriIProgressDialog) #import C:Program Files (x86)ArcGIScomesriDisplay.olb raw_interfaces_only raw_native_types no_namespace named_guids, rename(ICallout,esriICallout) #import C:Program Files (x86)ArcGIScomesriDisplayUI.olb raw_interfaces_only raw_native_types no_na

22、mespace named_guids #import C:Program Files (x86)ArcGIScomesriGeoDatabase.olb raw_interfaces_only,raw_native_types,no_namespace,named_guids,rename(IRow, esriIRow), rename(ICursor, esriICursor),rename(IRelationship,esriIRelationship) #import C:Program Files (x86)ArcGIScomesri3DAnalyst.olb raw_interfa

23、ces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE, VARTYPE) #import C:Program Files (x86)ArcGIScomesriOutput.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE, VARTYPE),rename(IExport,esriIExport),rename(IPrinter,esriIPrint

24、er) #import C:Program Files (x86)ArcGIScomesriNetworkAnalysis.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE, VARTYPE, IStatusBar) #import C:Program Files (x86)ArcGIScomesriGeoAnalyst.olb raw_interfaces_only raw_native_types no_namespace named_guids e

25、xclude(OLE_COLOR, OLE_HANDLE, VARTYPE, IStatusBar) #import C:Program Files (x86)ArcGIScomesriCarto.olb raw_interfaces_only, raw_native_types, no_namespace, named_guids, exclude(UINT_PTR), rename(ITableDefinition, esriITableDefinition),rename(ILegend,esriILegend),rename(IPage,esriIPage),rename(ILegen

26、dItem,esriILegendItem) #import C:Program Files (x86)ArcGIScomesriSpatialAnalyst.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE, VARTYPE, IStatusBar) #import C:Program Files (x86)ArcGIScomesriDataSourcesFile.olb raw_interfaces_only raw_native_types no_

27、namespace named_guids exclude(OLE_COLOR, OLE_HANDLE) #import C:Program Files (x86)ArcGIScomesriDataSourcesGDB.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE) #import C:Program Files (x86)ArcGIScomesriDataSourcesRaster.olb raw_interfaces_only raw_native_types no_namespace named_guids exclude(OLE_COLOR, OLE_HANDLE) #include #pragma warning(pop) /*添加AE的组件库和文件*/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号