前言/1
1 地理信息系统二次开发简介/1
1.1 GIS开发的实现方式/1
1.1.1 独立开发/1
1.1.2 宿主型二次开发/1
1.1.3 基于GIS组件的二次开发/2
1.1.4 三种实现方式的分析与比较/2
1.2 组件技术/2
1.2.1 组件技术的兴起/3
1.2.2 COM与DCOM/3
1.2.3 ActiveX与ActiveX控件/4
1.3 组件GIS的特点及平台结构/6
1.3.1 组件GIS的特点/6
1.3.2 组件式GIS开发平台的结构/8
习题一/9
2 ArcEngine基础/10
2.1 ArcEngine简介/10
2.1.1 ArcEngine概述/10
2.1.2 ArcEngine编程语言/11
2.1.3 ArcEngine的组成/11
2.1.4 ArcEngine软件开发工具包/12
2.1.5 ArcEngine的主要特点/13
2.2 ArcEngine与其他GIS组件的区别与联系/14
2.2.1 ArcEngine与ArcObjects的区别与联系/14
2.2.2 ArcEngine与MapObjects的区别与联系/16
2.3 ArcEngine的安装/16
2.4 ArcEngine的开发资源/21
习题二/22
3 ArcEngine的体系结构/23
3.1 面向对象方法学概述/23
3.1.1 面向对象的概念/23
3.1.2 对象模型/28
3.2 ArcEngine对象模型图/33
3.2.1 类间关系/34
3.2.2 类与对象/36
3.3 ArcEngine的类库结构/38
3.4 利用ArcEngine开发一个简单的GIS工程/44
3.4.1 控件加载/44
3.4.2 加载地图文档/46
3.4.3 地图操作基本功能的实现/50
习题三/54
实训一/55
4 图层基本操作/56
4.1 MapControl控件/56
4.1.1 MapControl控件的常用属性/56
4.1.2 MapControl控件的常用方法/60
4.2 图层控制/64
4.2.1 常用接口介绍/64
4.2.2 加载图层/68
4.2.3 图层的其他操作/69
4.2.4 使用TOCControl控件控制图层的显示/70
4.3 地图浏览/75
4.3.1 常用接口介绍/75
4.3.2 中心放大与中心缩小/78
4.3.3 拉框放大/79
4.3.4 漫游、全范围显示/80
4.3.5 回退到前一视图/80
4.4 书签与鹰眼视图/81
4.4.1 常用接口介绍/81
4.4.2 书签功能的实现/82
4.4.3 鹰眼视图/83
习题四/86
实训二/86
5 地图符号化与专题图制作/87
5.1 ArcEngine中有关颜色的接口简介/87
5.2 地图符号化/92
5.2.1 点状要素符号化/92
5.2.2 线状要素符号化/96
5.2.3 面状要素符号化/98
5.2.4 文字符号化/101
5.3 专题图的制作/106
5.3.1 简单渲染方法/107
5.3.2 唯一值渲染方法/108
5.3.3 成比例符号渲染方法/117
5.3.4 点密度渲染方法/122
5.3.5 统计图表渲染方法/128
5.3.6多比例尺渲染方法/137
习题五/143
实训三/143
6 地图标注/144
6.1 简单的地图标注/144
6.1.1 简单地图标注常用接口/144
6.1.2 简单地图标注应用实例/147
6.2 多重标注/148
6.2.1 ILabelEngineLayerProperties接口/148
6.2.2 多重地图标注应用实例/149
6.3 复杂的地图标注/151
6.3.1 复杂地图标注常用接口/151
6.3.2 复杂地图标注应用实例/155
习题六/159
实训四/159
7 地图编辑/160
7.1 编辑准备工作/160
7.1.1 常用的接口/160
7.1.2 功能的实现/170
7.2 创建新要素/172
7.2.1 创建点对象/173
7.2.2 创建线和多边形对象/187
7.3 选择和删除地图要素/196
7.3.1 常用接口介绍/196
7.3.2 功能的实现/199
7.4 移动地图要素/202
7.4.1 常用接口介绍/202
7.4.2 移动要素功能的实现/206
7.5 修改要素的属性/210
7.5.1 常用接口介绍/210
7.5.2 功能的实现/213
7.6创建新图层/218
7.6.1 常用接口介绍/218
7.6.2 功能实现/223
习题七/225
实训五/226
8 空间查询与分析/228
8.1 概述/228
8.2 空间查询/230
8.2.1 属性查询/230
8.2.2 点查询/233
8.2.3 线查询/239
8.2.4 矩形查询和多边形查询/242
8.3 叠置分析/243
8.3.1 常用接口简介/243
8.3.2 应用实例/246
8.4 缓冲区分析/252
8.4.1 缓冲区分析简介/252
8.4.2 缓冲区图层的建立/254
8.4.3 缓冲区图层与目标图层的叠置分析/261
习题八/261
实训六/261
9 地图整饬与输出/263
9.1 地图版面的基本操作与设置/263
9.1.1 PageLayoutControl控件/263
9.1.2 加载地图数据/264
9.1.3 页面的基本操作/265
9.2 图廓、地图背景和框架阴影的设置/269
9.2.1 常用接口/270
9.2.2 应用实例/274
9.3 整饬要素的操作/278
9.3.1 添加图名/280
9.3.2 添加图例/284
9.3.3 添加比例尺/288
9.3.4 添加指北针/293
9.3.5 更改页面的配置/295
9.4 地图输出/307
习题九/312
实训七/313
参考文献/314