ArcObjects到底有什么?
打开我的ArcObjects Help for.NET(vs2012),里面的内容比较多,此篇主要讲解关于ArcObjects的整体架构,也即ArcObjects namespace
共享程序集分类
Arcobjects通用
这些共享程序集可用于ArcGIS for Desktop、ArcGIS Engine和ArcGIS for Server开发者。它们按依赖顺序列在下表中。
version:版本程序集包含用于将独立应用程序绑定到特定ArcGIS产品的功能
system:系统组件是ArcGIS体系结构中最低级的库,它包含的组件公开了由ArcGIS组成的其他库所使用的服务
systemiu:SystemUI程序集主要定义了ArcGIS系统中UI组件使用的类型。接口,如iccommand和ITool,在这个程序集中定义。这些类型的实现通常在体系结构中的一个或多个库中完成。
ADF:应用开发框架(ADF)程序集(包括ADF、ADF。地方、ADF。核心,ADF。连接,ADF.Connection。Local和adf . connector . core)提供了。net基类、组件类别唯一id (CATIDs)和以前在utility程序集中提供的实用程序类,但在ArcGIS 9.2版本中已弃用。
geometry:Geometry程序集包含核心几何对象,如Point、Polygon和Polyline,以及Geometry类型和定义。几何组件还定义和实现空间参考对象的投影和地理坐标系统。
display:显示”程序集包含支持向输出设备绘制符号的组件。屏幕显示、符号、颜色和反馈对象以及它们的支持对象都在程序集中定义。
server:服务器程序集包含用于为服务器获取到ArcGIS连接的对象。连接是通过这个库中的对象来管理的,但是来自其他库的对象可以通过使用服务器对象上的函数来创建。
output:Output程序集包含生成输出(通常从Maps或pagelayout)到打印机和绘图仪或导出到文件所需的对象。
geodatabase:Geodatabase程序集包含与数据访问相关的所有定义的类型。特征、表、网络和不规则三角网络(tin)都在Geodatabase组件中定义。许多类型的实现都包含在各自的DataSource程序集中。
GISclient:GISClient组件包含用于处理远程地理信息系统(GIS)服务的对象。这些服务可以由ArcIMS或ArcGIS for Server提供。
datasourcesgdb:DataSourcesGDB程序集包含矢量和栅格数据格式的工作空间工厂和工作空间,这些数据格式由存储在关系数据库管理系统(RDBMS)中的地理数据库支持。
datasourcesfile:DataSourcesFile程序集包含geodatabase应用程序编程接口(API)支持的矢量数据格式的工作空间工厂和工作空间。
datasourcesoledb:DataSourcesOleDB程序集提供了与对象链接和嵌入数据库(OLE DB)数据源一起工作的工作区。
datasourcesraster:DataSourcesRaster程序集包含了用于基于文件的栅格数据格式的工作区工厂和工作区
datasourcesnetcdf:DataSourcesNetCDF组件包含用于访问网络公共数据表单(netCDF)文件的对象,以及用于从ArcGIS中的netCDF变量中创建栅格、特性或表的对象。
geodatabasedistributed:GeoDatabaseDistributed程序集包含执行签出/签入以支持分布式地理数据库所需的对象。
geodatabaseextension:GeoDatabaseExtensions程序集包含帮助创建、管理和使用地形数据集和地籍结构的对象。
carto:Carto程序集包含用于显示数据的对象。PageLayout和Map对象以及所有支持的数据类型的地图层和渲染器都在这个库中。此程序集还包含服务器用于在客户机/服务器环境中显示地图数据的MxdServer和MapServer对象。
defensesolutions:defenessolutions程序集包含用于构建防御应用程序的对象,这些应用程序提供军事符号、坐标转换、创建大地校正几何图形和其他防御分析工具。
networkanalysis:网络分析程序集支持创建和分析公用网络。
location:Location程序集包含与处理位置数据相关的对象。这可以是路由事件或地理编码位置。
geoanalyst:GeoAnalyst组件包含ArcGIS spatial Analyst和3D Analyst扩展使用的核心空间分析操作。
animation:Animation程序集包含用于处理Map、Scene和Globe中的动画的对象。
geoprocessing:地理处理组件除了基本的地理处理工具集之外,还实现了地理处理框架。可用的工具依赖于您可用的许可证。有关特定的许可证信息,请参阅各个工具。
geoprocessor:Geoprocessor管理的程序集通过Geoprocessing程序集提供了一些。net包装器。
datainterop:DataInterop程序集实现了ArcGIS数据互操作性扩展的非用户界面功能。数据互操作性扩展使ArcGIS用户可以直接读取和导入超过75种空间数据格式,导出超过50种空间数据格式。
networkanalyst:NetworkAnalyst程序集提供了用于处理网络数据集的对象。这些对象允许您在应用程序中执行网络分析。
schematic:Schematic组件实现了ArcGIS Schematics扩展的非用户界面功能。它处理用于管理原理图数据和流程的ArcGIS Schematics扩展的核心对象。Schematics扩展支持ArcGIS中原理图数据的分析、显示和操作。
schematiccontrol:SchematicControls程序集提供了一组与ArcGIS Engine控件一起工作的命令,以支持构建Schematic应用程序。
spatialanalyst:SpatialAnalyst集合包含用于对栅格和矢量数据执行空间分析的对象。
3Danalyst:3DAnalyst组件包含用于执行数据3D分析的对象,以及对显示3D数据的支持
globecore:GlobeCore程序集包含用于执行全局数据分析的对象以及显示全局数据的支持。此程序集中有可供开发人员使用的控件。
enginecore:EngineCore程序集包含的对象允许开发人员在地图或全局中构建和管理图形集合。
controls:控件程序集包含用于应用程序开发的控件,包括用于控件的命令和工具
trackinganalyst:TrackingAnalyst组件实现了ArcGIS TrackingAnalyst扩展到ArcMap的非用户界面功能。Tracking Analyst扩展支持ArcGIS中时间数据的显示、分析和操作。
桌面开发专用
下面的程序集仅供桌面开发人员使用。它们按依赖顺序列在下表中。
framework:框架程序集提供了核心组件来支持UI组件和应用程序。
desktop.addins:桌面。Addins程序集为外接程序定制模型提供了基础,这是为ArcGIS应用程序创建. net定制的推荐方法。
geodatabaseui:GeoDatabaseUI程序集提供了用户界面,包括属性页,以支持Geodatabase程序集中包含的对象。
displayui:DisplayUI程序集提供用户界面,包括属性页,以支持Display程序集中包含的对象。
outputui:OutputUI程序集提供了用户界面,包括属性页,以支持Output程序集中包含的对象。
catalog:Catalog程序集包含支持数据编目的对象和定义接口。
catalogui:cataloggui程序集提供了用户界面,包括属性页,以支持Catalog程序集中包含的对象。
cartoui:CartoUI程序集提供了用户界面,包括属性页,以支持Carto程序集中包含的对象。
datasourcesrasterui:DataSourcesRasterUI程序集提供了用户界面,包括属性页,以支持DataSourcesRaster程序集中包含的对象。
arccatalog:ArcCatalog程序集包含ArcCatalog应用程序,包括GxApplication对象。
arccatalogui:ArcCatalogUI程序集提供了特定于ArcCatalog应用程序的用户界面组件。
arcmap:ArcMap程序集包含包含application对象的ArcMap应用程序。
arcmapui:ArcMapUI程序集提供了特定于ArcMap应用程序的用户界面组件。
animationui:AnimationUI程序集实现了支持ArcMap、ArcGlobe和ArcScene中的动画的用户界面功能。
editor:编辑器组件实现了ArcMap对象编辑器,包括拓扑显示和编辑,以及编辑特征几何和属性。程序集支持用户界面和编程API,允许开发人员使用自己的编辑命令和任务扩展编辑器的核心功能。
georeferenceui:GeoReferenceUI集合提供了将空间数据校正为已知坐标系统的对象。
editorext:EditorExt程序集包含对ArcMap编辑器和依赖于该编辑器的组件的扩展。
locationui:LocationUI程序集提供了用户界面,包括属性页,以支持Location程序集中包含的对象。
geodatabasedistributedui:GeoDatabaseDistributedUI程序集提供了用户界面,包括属性页,以支持GeoDatabaseDistributedUI程序集中包含的对象
geoprocessingui:GeoprocessingUI程序集提供了支持Geoprocessing库中包含的对象的用户界面。
outputextensionsui:OutputExtensions程序集使用更高级的输出功能扩展了核心输出功能。根据程序集中使用的组件,可能需要一个扩展许可证(有关更多信息,请参阅各个对象)。
outputextensions:OutputExtensionsUI程序集提供了用户界面,包括属性页,以支持OutputExtensions程序集中包含的对象。
arcscan:ArcScan程序集支持ArcScan光栅到矢量转换扩展到ArcMap。
networkanalystui:NetworkAnalystUI程序集提供了用于在ArcMap中使用NetworkAnalyst扩展的对象。程序集支持开发人员可以使用的许多对象;在程序集中定义了NetworkAnalystExtension、NAWindow和一些地理处理对象
spatialanalyst:SpatialAnalystUI程序集提供了用户界面,包括属性页,以支持SpatialAnalyst程序集中包含的对象
schematicui:SchematicUI程序集提供了支持Schematic程序集中包含的对象的用户界面。ArcMap和ArcCatalog Schematics扩展对象是由这个程序集实现的
3Danalystui:The 3DAnalystUI assembly provides user interfaces, including property pages, to support objects contained in the 3DAnalyst assembly. These user interface components normally run in ArcMap and ArcScene.
cadastral:地籍组提供了将控制点和地块数据导入地籍组的对象。程序集还包括用于管理与地籍结构相关联的特性类的类型,这些特性类是feature Adjustment结构的一部分。
cadastralui:CadastralUI组件为地籍编辑器环境提供用户界面,包括作业簿、作业管理器、控制点、包裹资源管理器和地图层。该程序集还用于在ArcMap和GeoSurvey Engine的UI之间交换数据,并在地籍结构的Job Management模型中进行编辑之前获得所需的数据库锁。
共享程序集是什么
这些都是一个程序集,什么是程序集?随便点击一个看看
其实就是一个好多类(classes)、接口(interfaces),常量(constants)构成的集合
按照记录所记,一共有11个控件,11个大类和25个组件库,1500多个类,1600个接口
11个控件
由上可知,控件主要在controls程序集中,我们直接看类(类一般是通过接口来的)
GlobeControl、LicenseControl、MapControl、PageLayoutControl、SceneControl、SymbologControlTOCControl、ToolbarControl、SnappingClass、Place Class、MissingCommand Class、MyPlaceCollection Class
我们用的最多是LicenseControl、MapControl、PageLayoutControl、ToolbarControl这四个