前言 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