转载整理:麻辣GIS
整理了一些我会用到的。
类库
- SystemUI
SystemUI 库中包含了可在 ArcGIS Engine 中扩展的用户界面组件的接口定义,包括 ICommand、ITool 和 IToolControl 接口。开发者使用这些接口来扩展 UI 组件。该库所包含的对象是 utility 对象,开发者可 用于简化某些用户界面的开发。开发者不扩展该库,但可以通过实现其中的接口来扩展 ArcGIS 系统。 - Geometry
Geometry 库处理存储在特征类(feature classes)或其它图形要素(graphical elements)中的特征的 geometry 或 shape。大多数用户交互的基本几何对象有 Point 、MultiPoint 、Polyline 和 Polygon 。
除了这些顶层的 实体,还有作为 Polylines 和 Polygons 构建模块的几何体(geometries)。这些是组成几何体的基元(primitives)。 它们是 Segments、Paths 和 Rings。Polylines 和 Polygons 由形成一条 Path 的依次相连的 Segments 组成。 一个 Segment 包含两个不同的点,起点和终点,和一个定义从起点到终点的曲线的要素类型。这种 segments 有 CircularArc、Line、EllipticArc 和 BezierCurve。所有的几何对象都可以有与它们顶点相关的 Z、M 和 IDs。
基本的几何对象都支持几何操作,如 Buffer 和 Clip。开发者不可以扩展几何基元。GIS 中的实体是指现实 世界中的特征;这些现实世界中的特征的位置由具有空间参考的几何体来定义。投影和地理坐标系统的空 间参考对象都包含在 Geometry 库中。开发者可以通过在空间参考间添加新的空间参考和投影来扩展空间 参考系统。 - Display
Display 库包含了用于 GIS 数据显示的对象。除了负责实际图像输出的主要显示对象,该库中还包含 了表示颜色和符号的对象,这些颜色和符号用于控制显示上所绘制实体的属性。库中也包含了为用户在与 显示交互时提供可视化反馈的对象。开发者大都通过类似于 Map 或 PageLayout 对象提供的视图与显示交 互。该库的所有部分都可以被扩展,常被扩展的有符号、颜色和显示反馈(display feedbacks)。 - Carto
Carto 库支持地图的创建和显示;这些地图可以包含一幅地图或具有多幅地图和相关旁注的页中的数 据。PageLayout 对象是宿主一幅或多幅地图和相关旁注(指北针、图例、比例尺条等)的容器。
Map 对象是 图层的容器。Map 对象有操作地图中所有图层的属性:空间参考、地图比例尺等,还有操作地图图层的方 法。有多种不同类型的图层可以被加载到地图中。
不同数据源通常有一个相关图层负责在地图上显示数据; 矢量特征由 FeatureLayer 对象处理,栅格数据由 RasterLayer 对象处理,TIN 数据由 TinLayer 对象处理等。 若需要,图层可以为它们的相关数据处理所有的绘制操作。但更常见的是图层拥有一个相关的 Renderer 对 象。Renderer 对象的属性控制数据在地图中怎样显示。Renderers 一般使用 Display 库中的 symbols 进行 实际绘图;renderer 只是匹配指定的符号与要绘制的实体的属性。一个 Map 和一个 PageLayout 可以包含 要素(elements)。要素利用几何体来定义它在地图或页面上的位置,以及控制要素显示的行为。有用于基本 形状、文本标注、复杂旁注等的要素。Carto 库也包含对地图注记和动态标注的支持。 - Controls
开发者使用 Controls 库来构建或扩展具有 ArcGIS 功能的应用程序。ArcGIS Controls 通过封装 ArcObjects 和提供一个 coarser-grained API,简化了开发过程。尽管控件封装了 fine grained ArcObjects,但 它们并不限制访问这些 ArcObjects。MapControl 和 PageLayoutControl 分别封装了 Carto 库中的 Map 和 PageLayout 对象。ReaderControl 封装了 Map 和 PageLayout 对象,并在使用该控件时提供了简化的 API。 如果地图出版商拥有授权许可,那么开发者可以访问 Map 和 PageLayout 控件的类似方式访问内部对象。该库也包含实现内容列表的 TOCControl 和 宿主与一个合适控件一起工作的命令和工具的 ToolbarControl - GeoAnalyst
GeoAnalyst 库包含支持核心空间分析功能的对象。这些功能在 ArcGIS Spatial Analyst 和 ArcGIS 3D Analyst™库中使用。开发者可以通过创建一个新的栅格操作类型来扩展该库。要求有 ArcGIS Spatial Analyst 或 3D Analyst 许可才能使用该库中的对象。 - 3DAnalyst
3DAnalyst 库包含在三维场景中使用的对象,它们的工作方式类似于 Carto 库中包含的对象在二维地 图中工作。Scene 对象是库中的主要对象之一,因为它与 Map 对象类似,是数据的容器。Camera 和 Target 对象根据特征相对于观察者的位置,指定场景的视图。一个场景(scene)包含一个或多个图层;这些图层指 定了场景中的数据和数据怎样绘制。
3DAnalyst 库拥有一个开发控件和一组和该控件协同工作的命令和工具。该控件可以与 Controls 库中 的对象联合使用。除了创建命令和工具,开发者对该库的扩展较少。使用该库中的对象需要 3D Analyst 许 可。