前言
目录
1 GIS应用开发基础
1.1 ArcObiects基础
1.1.1 ArcObjects简介
1.1.2 ArcObiects的组件库
1.1.3 理解对象模型图
1.2 组件对象模型
1.2.1 软件开发历史
1.2.2 什么是组件对象模型
1.3 .NET平台概述
1.3.1 通用语言运行时
1.3.2 .NET Framework类库
1.3.3 .NET的强命名程序集
1.4 .NET组件与COM组件的互操作
1.4.1 COM包装
1.4.2 ESRI提供的主互操作程序集
1.4.3 向COM公开.NET对象
1.4.4 COM到.NET的类型转换
1.5 ArcGIS系列产品及开发方式
1.5.1 ArcGIS桌面及其扩展
1.5.2 ArcGIS Engine
1.5.3 ArcGIS Server
1.5.4 Mobile GIS
1.6 ArcGIS Visual Studio IDE集成框架
1.6.1 ArcGIS Add-in
1.6.2 Extending ArcObjects
1.6.3 ArcGIS Component Category Registrar对话框
1.6.4 ArcGIS License Initializers对话框
1.6.5 ArcGIS Toolbox Reference对话框
1.6.6 Add ArcGIS Reference对话框
1.6.7 代码片段
1.7 一个简单的开发实例
2 ArcGIS应用程序框架
2.1 Application对象
2.1.1 IApplication接口
2.1.2 IMxApplication3接口
2.1.3 IWindowPosition接口
2.2 Document对象
2.2.1 IMxDocument接口
2.2.2 IDocumentEvents文档事件接口
2.3 命令与命令条
2.3.1 命令与命令条概述
2.3.2 自定义命令和工具
2.3.3 自定义工具条和菜单
2.3.4 创建子命令/子工具
2.3.5 创建动态菜单
2.4 应用程序扩展
2.4.1 应用程序扩展概述
2.4.2 创建应用程序扩展
2.4.3 查找应用程序扩展
2.5 定制窗口
2.5.1 属性页
2.5.2 定制可停靠窗口
2.6 定制状态条
2.7 快捷键表
3 使用ArcObjects控件编程
3.1 MapControl控件
3.1.1 MapControl主要接口
3.1.2 MapControl控件与MXD文件
3.1.3 鼠标与控件的交互
3.1.4 数据选择
3.1.5 实现鹰眼功能
3.2 PageLayoutControl控件
3.2.1 PageLayoutControl操作MXD文件
3.2.2 PageLayout与MapControl联动
3.3 TOCControl控件
3.3.1 TOCControl控件概述
3.3.2 应用开发实例:TOCControl右键菜单功能开发
3.4 ToolbarControl及相关对象
3.4.1 ToolbarControl控件
3.4.2 ToolbarControl上的命令
3.4.3 ToolbarItem对象
3.4.4 更新命令
3.4.5 ToolbarMenu对象
3.4.6 ToolbarPalette对象
3.4.7 CommandPool对象
3.4.8 操作栈
3.4.9 ToolbarControl的定制
3.5 控件命令
3.5.1 与ToolbarControl一起使用
3.5.2 独立使用
3.6 应用开发实例
3.7 在WPF程序中使用ArcGIS Engine控件
3.7.1 WPF简介
3.7.2 如何在WPF中使用ArcGIS Engine控件
3.7.3 在WPF中使用ArcGIS Engine控件的局限
4 几何对象与空间参考
4.1 几何对象概述
4.1.1 几何对象模型简介
4.1.2 线段的类型
4.1.3 Polyline对象
4.1.4 Polygon对象
4.1.5 MultiPatch对象
4.2 使用几何对象
4.2.1 使用GeometryEnvironment对象
4.2.2 创建Multipoint对象
4.2.3 创建Polyline对象
4.2.4 创建Polygon对象
4.2.5 创建Multipatch
4.2.6 几何集合对象
4.2.7 修改几何对象
4.2.8 几何对象的简化处理
4.3 空间参考
4.3.1 空间参考概述
4.3.2 使用SpatialReferenceEnvironment对象
4.3.3 高精度与低精度空间参考
4.3.4 地理变换
5 地图及相关对象
5.1 Map对象
5.1.1 IMap接口
5.1.2 IGraphicsContainer接口
5.1.3 IActiveView接口
5.1.4 IActiveViewEvents接口
5.1.5 IMapBookmarks接口
5.1.6 ITableCollection接口
5.2 图层对象
5.2.1 图层概述
5.2.2 要素图层
5.2.3 通过地图文档访问地图和图层
5.2.4 向地图中加入CAD文件
5.2.5 TINLayer
5.2.6 底图图层
5.2.7 GraphicsLayer
5.3 地图显示
5.3.1 ScreenDisplay对象
5.3.2 显示缓存
5.3.3 显示事件
5.3.4 动态显示
5.4 使用GraphicTracker管理移动对象
5.5 地图排版
5.5.1 PageLayout对象
5.5.2 Page对象
5.5.3 SnapGrid对象
5.5.4 SnapGuides对象
5.5.5 RulerSettings对象
5.6 Element对象
5.6.1 图形元素
5.6.2 框架元素
5.7 MapGrid对象模型
5.7.1 MapGrid对象
5.7.2 MapGridBorder对象
5.7.3 MapGridLabel对象
5.7.4 MapGridFactory对象
5.8 MapSurround对象
5.8.1 图例对象
5.8.2 指北针对象
5.8.3 比例尺对象
5.8.4 比例文本对象
5.9 地图的输出
5.9.1 地图的打印输出
5.9.2 地图的转换输出
6 空间数据的可视化表达
6.1 颜色对象
6.1.1 Color对象
6.1.2 颜色对话框
6.1.3 ColorRamp对象
6.2 Symbol对象
6.2.1 MarkerSymbol对象
6.2.2 LineSymbol对象
6.2.3 FillSymbol对象
6.2.4 TextSymbol对象
6.2.5 3DChartSymbol对象
6.3 符号样式库与符号化控件
6.3.1 StyleGallery与ServerStyleGallery对象
6.3.2 SymbolSelector与StyleSelector对象
6.3.3 IStyleDialog接口
6.3.4 符号化控件
6.4 制作专题图
6.4.1 单一符号着色法
6.4.2 唯一值着色法
6.4.3 分级着色法
6.4.4 依比例符号着色法
6.4.5 点密度着色法
6.4.6 统计符号着色法
6.5 制图表现
6.5.1 制图表现概述
6.5.2 创建RepresentationClass
6.5.3 制图表现规则与基本符号
6.5.4 点状符号摆放
6.5.5 要素的制图表现与覆盖
6.6 地图的标注与注记
6.6.1 地图的标注
6.6.2 地图的注记
7 空间数据管理
7.1 Geodatabase对象模型概述
7.2 Workspace及相关对象
7.2.1 工作空间工厂
7.2.2 工作空间
7.2.3 PropertySet
7.2.4 名称对象
7.3 Dataset对象
7.3.1 GeoDataset类
7.3.2 FeatureDataset对象
7.4 表、对象类和要素类
7.4.1 Table对象
7.4.2 ObjectClass对象
7.4.3 FeatureClass对象
7.4.4 字段集与字段
7.4.5 与字段相关的对象
7.5 Row、Object和Feature对象
7.5.1 RowBuffer和Row对象
7.5.2 Object和Feature对象
7.6 关系类
8 地理处理框架
8.1 地理处理框架概述
8.1.1 地理处理工具
8.1.2 模型构造器
8.1.3 脚本
8.1.4 ArcObjects中的地理处理
8.2 通过Python使用地理处理工具
8.2.1 Python窗口
8.2.2 ArcPy站点包
8.2.3 使用Python脚本执行地理处理工具
8.3 通过ArcObjects使用地理处理工具
8.3.1 ArcObjects中地理处理概述
8.3.2 执行地理处理工具
8.3.3 使用地理处理消息
8.3.4 使用地理处理结果对象
9 空间查询与空间分析
9.1 空间查询基础
9.1.1 Cursor与FeatureCursor对象
9.1.2 QueryFilter与SpatialFilter对象
9.1.3 QueryDef对象
9.1.4 TableSort对象
9.1.5 要素选择集
9.2 空间分析基础
9.2.1 空间关系运算
9.2.2 空间拓扑运算
9.2.3 IProximityOperator接口
9.3 属性条件查询
9.4 空间位置、空间关系查询
9.5 缓冲区查询
9.6 邻接多边形查询
9.7 缓冲区分析
9.8 叠置分析
9.8.1 叠置分析工具概述
9.8.2 叠置分析功能开发
9.9 网络分析
10 空间数据编辑
10.1 ArcGIS Engine编辑概述
10.1.1 ArcGIS Engine编辑与ArcMap编辑
10.1.2 编辑流程
10.1.3 编辑目标图层
10.1.4 编辑任务
10.1.5 编辑绘制
10.1.6 使用操作栈
10.1.7 使用捕捉环境
10.1.8 编辑事件
10.1.9 要素查看器
10.1.10 使用要素模板
10.2 版本化空间数据编辑
10.2.1 版本化编辑的主要接口
10.2.2 获取当前编辑会话中的编辑变化
10.2.3 查找版本之间的差异
10.2.4 协调版本
10.2.5 监听版本化编辑事件
10.3 DisplayFeedback对象
10.3.1 产生新Geometry的Feedback对象
10.3.2 移动几何形体对象上的节点
10.3.3 移动整个对象
10.3.4 其他DisplayFeedback
10.4 多边形挖空处理
10.5 分割线要素
10.6 线、面要素整形
10.7 要素合并
10.8 多部分要素的处理
10.9 线要素的延伸与修剪
11 三维GIS应用开发基础
11.1 ArcObjects三维开发概述
11.2 使用SceneControl控件开发
11.2.1 SceneControl控件
11.2.2 Scene对象
11.2.3 SceneGraph对象
11.2.4 SceneViewer对象
11.2.5 GraphicsLayer3D对象
11.2.6 3DProperties对象
11.2.7 Camera对象
11.2.8 SceneHookHelper对象
11.3 使用GlobeControl控件开发
11.3.1 GlobeControl控件
11.3.2 Globe对象
11.3.3 GlobeDisplay对象
11.3.4 GlobeViewer对象
11.3.5 GlobeCamera对象
11.3.6 GlobeGraphicsLayer对象
11.3.7 GlobeLayerProperties对象
11.3.8 GlobeHeightProperties对象
11.3.9 GlobeAdvancedOptions对象
11.3.10 GlobeLayer对象
11.3.11 GlobeHookHelper对象
11.4 三维分析
11.4.1 表面模型
11.4.2 点、线、面插值
11.4.3 表面分析
11.4.4 三维网络分析
参考文献