第一篇 ArcGIS开发入门 3
第1章 组件式GIS 3
1.1 概述 3
1.1.1 GIS概念 3
1.1.2 GIS的产生与发展 4
1.1.3 GIS的软硬件组成 5
1.1.4 我国GIS领域的研究现状 7
1.2.2 GIS开发模式 9
1.2.1 GIS在信息系统中的地位 9
1.2 GIS开发 9
1.2.3 GIS开发模式比较与分析 11
1.3 组件式GIS 11
1.3.1 组件式GIS基本概念 11
1.3.2 GIS中引入组件技术 13
1.3.3 组件式GIS特点 15
1.3.4 组件式GIS的设计和开发 17
1.4.2 主流组件式GIS软件平台概述 20
1.4.1 组件式GIS研究与发展现状 20
1.4 组件式GIS现状 20
1.4.3 当前组件式GIS开发研究中所面临的问题 21
参考练习 21
延伸阅读 22
第2章 ArcGIS与ArcObjects 23
2.1 ArcGIS 23
2.1.1 ArcGIS框架概述 23
2.1.2 ArcGIS Desktop 26
2.1.3 ArcGIS Server 30
2.1.4 ArcGIS Engine 35
2.1.5 ArcGIS数据格式 37
2.1.6 ArcGIS开发组件——MapObjects 38
2.1.7 ArcGIS与ArcObjects 42
2.2 组件对象模型COM 43
2.2.1 COM结构 43
2.2.2 COM实现 44
2.3.2 ArcObjects的组件体系 45
2.3.1 ArcGIS二次开发工具——ArcObjects 45
2.3 ArcObjects简析 45
2.2.3 COM扩展 45
2.3.3 ArcObjects的特点 46
2.3.4 ArcObjects的功能 48
2.3.5 ArcObjects的组件 49
2.3.6 ArcObjects的对象与属性 50
2.3.7 ArcObjects数据模型——GeoDatabase 52
参考练习 53
延伸阅读 53
2.3.8 ArcObjects开发方式 53
第3章 开发环境 55
3.1 VB和VBA 55
3.1.1 VB集成开发环境(IDE) 55
3.1.2 如何在VB中创建应用程序及调试代码 56
3.1.3 VBA集成开发环境(IDE) 58
3.2 C++和VC++ 59
3.2.1 VC集成开发环境(IDE) 60
3.2.2 在VC中创建应用程序 60
3.2.3 VC的调试环境 61
3.2.4 加载ArcObjects组件库(Type Library) 62
3.3 .NET与C# 64
3.3.1 .NET集成开发环境 64
3.3.2 在.NET中创建应用程序 67
3.3.3 .NET的调试环境 69
3.3.4 加载ArcEngine组件 69
参考练习 71
延伸阅读 71
4.1 工具条定制 72
第4章 客户化ArcDesktop 72
4.2 编写VBA宏 74
4.2.1 Element组件 74
4.2.2 访问元素名称 74
4.3 定制VBA命令 79
参考练习 81
延伸阅读 81
5.1 ArcGIS控件 85
5.1.1 控件特性 85
第5章 地图控件 85
第二篇 桌面地图应用开发 85
5.1.2 地图控件 87
5.1.3 页面控件 89
5.1.4 目录树控件 91
5.1.5 工具条控件 91
5.2 VB中使用地图控件 93
5.2.1 添加控件 93
5.2.2 设置MapControl大小 98
5.3 VC++中使用地图控件 99
5.3.1 添加控件流程 99
5.3.2 设置地图控件大小 104
5.4 C#.NET中使用地图控件 106
5.4.1 添加控件步骤 106
5.4.2 设置MapControl控件大小 115
参考练习 116
延伸阅读 116
6.1.1 地图组件 117
6.1 地图浏览 117
第6章 地图表现 117
6.1.2 实现基本的浏览功能 121
6.1.3 实时地图坐标显示 125
6.2 图层渲染 129
6.2.1 图形的显示 130
6.2.2 简单渲染 134
6.2.3 唯一值渲染 138
6.3.1 标注组件 142
6.3 显示注记 142
6.3.2 标注Schools层 145
6.3.3 标注Parcels层 150
6.4 地图输出 154
6.4.1 页面与输出组件 154
6.4.2 使用布局 159
6.4.3 地图打印 164
参考练习 167
延伸阅读 168
7.1 数据连接 169
7.1.1 获取地理数据 169
第7章 数据操作 169
7.1.2 打开Shapefile 170
7.1.3 打开GeoDatabase 175
7.2 数据访问 179
7.2.1 对地理数据的访问 179
7.2.2 显示地理数据表 183
7.3 数据选择 189
7.3.1 查询、光标与对象的选择 189
7.3.2 选择数据 192
7.3.3 访问选择集 194
7.4 数据创建 198
7.4.1 地理数据的创建 198
7.4.2 新建数据集 202
参考练习 206
延伸阅读 206
第8章 地图编辑 207
8.1 编辑地图要素 207
8.1.1 地图要素组件 207
8.1.2 添加画线面工具 210
8.1.3 添加点要素 211
8.2.1 几何与特征 216
8.2 新建地理特征 216
8.2.2 创建新特征 220
8.3 编辑地理特征 223
8.3.1 编辑交互显示 223
8.3.2 编辑特征 227
8.4 编辑整饰要素 234
8.4.1 地图的整饰 234
8.4.2 创建整饰要素 237
延伸阅读 242
参考练习 242
第9章 地图分析 243
9.1 空间查询 243
9.1.1 空间关系查询 243
9.1.2 查询交叉的要素 244
9.2 空间统计 246
9.2.1 数据统计 246
9.2.2 特征统计 248
9.3.1 拓扑操作 250
9.3 拓扑分析 250
9.3.2 空间拓扑分析 252
参考练习 255
延伸阅读 255
第三篇 开发GIS服务 259
第10章 ArcSDE配置 259
10.1 ArcSDE简介 259
10.1.1 体系结构 262
10.1.2 空间数据存储方案 264
10.1.3 空间索引机制 266
10.2 ArcSDE安装 267
10.2.1 本地安装 267
10.2.2 远程安装 272
10.2.3 创建多个服务 273
10.3 ArcSDE服务器端参数配置 274
10.3.1 配置图层存储参数 274
10.3.2 创建日志文件 277
10.4 ArcSDE性能优化 277
10.4.1 大型数据上载优化 277
10.4.2 查询优化 279
参考练习 280
延伸阅读 280
第11章 数据管理 281
11.1 面向对象的空间数据库模型GeoDatabase 281
11.1.1 GeoDatabase概念 281
11.1.2 GeoDatabase模型 283
11.1.3 GeoDatabase对象模型 283
11.2.1 打开数据库工作空间 285
11.2 访问空间数据库 285
11.2.2 通过Name对象方式 287
11.2.3 获得工作空间数据元素 288
11.3 矢量数据 289
11.3.1 文件数据导入GeoDatabase 289
11.3.2 复制特征数据集从GeoDatabase到个人数据库 292
11.3.3 编辑GeoDatabase中数据 293
11.3.4 空间数据拓扑检查 295
11.4 栅格数据 297
11.4.1 打开栅格工作空间 298
11.4.2 获得栅格数据集 300
11.4.3 获得栅格目录 301
11.4.4 栅格数据上载 303
11.4.5 栅格数据拼接 305
参考练习 307
延伸阅读 307
第12章 创建简单站点 308
12.1 ArcIMS介绍 308
12.2.2 安装步骤 310
12.2.1 安装内容 310
12.2 ArcIMS安装 310
12.3 Author制作地图服务文件 314
12.3.1 加载数据 314
12.3.2 图层控制 316
12.3.3 添加注记 319
12.3.4 预定义查询 319
12.3.5 比例尺显示控制 320
12.4.1 FeatureServer 321
12.4.2 ImageServer 321
12.4 Administrator发布地图服务 321
12.5 Designer设计Web页面 323
12.5.1 创建Web站点 323
12.5.2 选择ArcIMS服务 323
12.5.3 选择浏览器 324
12.5.4 选择网站布局 325
12.5.5 站点页面设置 326
12.5.6 选择地图范围 326
12.5.7 选择可视层 327
12.5.9 设置比例尺 328
12.5.8 设置鹰眼图 328
12.5.10 工具栏定制 329
12.5.11 设置地图提示 330
12.5.12 选择活动图层 330
12.5.13 预定义查询 330
12.5.14 设置识别工具 332
12.5.15 MapNotes和EditNotes工具 332
12.5.16 选择虚拟路径 333
延伸阅读 335
参考练习 335
第13章 自定义用户发布 336
13.1 ArcXML语言 336
13.1.1 ArcXML介绍 336
13.1.2 ArcXML术语 337
13.1.3 ArcIMS基本语法 338
13.1.4 ArcXML框架 338
13.2 HTML浏览器定制开发 341
13.2.1 HTML浏览器 341
13.2.2 HTML文件 343
13.2.3 JS文件 347
13.3 Java浏览器定制开发 352
13.3.1 Java浏览器 352
13.3.2 AXL文件 354
13.3.3 CLASS文件 355
13.3.4 HTML文件 356
13.3.5 JS文件 358
13.4 开发实例 359
参考练习 370
延伸阅读 371
第四篇 AO扩展与深入开发 375
第14章 ArcGIS扩展模块 375
14.1 扩展模块概览 375
14.1.1 ArcGIS及其扩展模块 375
14.1.2 扩展模块简介 376
14.1.3 扩展模块应用开发 379
14.2 空间分析模块 380
14.2.1 RasterAnalysis组件 381
14.2.2 实现插值 382
14.3 三维分析模块 384
14.3.1 GlobeDisplay对象 385
14.3.2 指示三维空间的点 385
参考练习 386
延伸阅读 386
15.1.1 接口的继承 387
15.1.2 包容与聚合 387
15.1 COM的扩展 387
第15章 AO扩展 387
15.2 AO的扩展 388
15.2.1 选择开发环境 388
15.2.2 常用开发工具 389
15.2.3 创建对象 391
15.2.4 编写代码 392
15.2.5 创建属性页 393
15.2.6 设计对话框和属性页 394
15.2.7 组件类别 395
15.2.8 组件克隆 396
15.2.9 组件保存 398
15.2.10 类库和IDL 399
15.2.11 实现帮助 400
15.2.12 错误处理 401
15.3 设计自定义工具 402
15.3.1 扩展用户接口 402
15.3.2 创建自定义命令 403
15.4.1 扩展地图符号 413
15.4 设计自定义符号 413
15.4.2 创建中心点填充符号 415
参考练习 420
延伸阅读 420
第16章 ArcGIS深入开发与应用 421
16.1 Office文档中嵌入ArcGIS应用 421
16.2 扩展地理数据库 423
16.2.1 扩展数据模型 423
16.2.2 用UML进行地理数据库建模 425
16.2.3 创建树木要素 427
16.3 设计空间处理模型 437
16.3.1 建模准备 437
16.3.2 编辑模型 443
16.3.3 应用空间分析模型 449
16.4 ArcGIS综合应用 450
16.4.1 ArcGIS开发思路总结 450
16.4.2 开发应用GIS系统 451
参考练习 452
延伸阅读 452