基础知识篇 3
第1章 ArcGIS技术概述 3
1.1 ArcGIS产品的发展历程 3
1.2 ArcGIS产品体系介绍 4
1.2.1 ArcGIS桌面平台产品 4
1.2.2 ArcGIS网络应用产品 6
1.2.3 ArcGIS服务器平台产品 7
1.2.4 ArcGIS云平台产品 8
1.2.5 ArcGIS移动平台产品 9
1.2.6 ArcGIS免费产品 10
1.2.7 ArcGIS与商业软件集成产品 10
1.2.8 ArcGIS开发平台产品 12
1.2.9 ArcGIS其他产品 15
1.3 GIS发展之路与ArcGIS技术演变 15
1.3.1 GIS信息化建设 16
1.3.2数据生产变更阶段 16
1.3.3数据信息发布阶段 16
1.3.4数据共享阶段 16
1.3.5新一代Web GIS 17
1.4 IT发展之路与ArcGIS技术演变 21
1.4.1数据库技术发展与ArcGIS技术演变 21
1.4.2 Web技术发展与ArcGIS技术演变 21
1.4.3移动互联网技术发展与ArcGIS技术演变 22
1.4.4云计算技术发展与ArcGIS技术演变 22
1.4.5大数据技术发展与ArcGIS技术演变 22
1.5 GISer的职业规划 23
1.5.1 GIS数据生产方向 24
1.5.2 GIS技术支持方向 25
1.5.3 GIS开发技术方向 25
1.5.4 GIS研究技术方向 27
1.5.5 GIS市场营销方向 27
桌面开发篇 31
第2章 ArcGIS Engine开发解析 31
2.1概述 31
2.1.1 ArcGIS Engine简介 31
2.1.2 ArcGIS Engine组成部分 32
2.1.3许可说明 34
2.1.4接口和对象 36
2.2创建第一个模板工程 41
2.3地图的显示结构 44
2.3.1地图显示 45
2.3.2地图文档 48
2.3.3符号系统 52
2.3.4选择集与刷新事件 54
2.4数据存储与编辑 56
2.4.1 GDB的基础结构 57
2.4.2要素查询与索引 63
2.4.3要素编辑与编辑事件 67
2.4.4批量编辑与地理处理 70
2.5几何结构 74
2.5.1几何的体系结构 74
2.5.2几何关系 78
2.5.3空间参考 81
2.6小结 84
第3章 ArcPy开发解析 85
3.1 Python语言介绍 85
3.1.1脚本语言 85
3.1.2 Python脚本 85
3.2 Python语法快速浏览 86
3.2.1 Python的IDE介绍 86
3.2.2数据类型 87
3.2.3操作符 88
3.2.4变量与赋值 89
3.2.5代码块及缩进对齐 89
3.2.6控制结构 89
3.2.7函数 91
3.2.8错误处理 91
3.3第一个ArcPy脚本 92
3.3.1 Python在ArcGIS的衍生过程 92
3.3.2 Geoprocessing框架中的ArcPy 92
3.3.3 ArcPy的Hello World 94
3.4 ArcPy的开发精解 95
3.4.1 ArcPy的导入 95
3.4.2 ArcPy函数的命名规则 95
3.4.3 ArcPy函数的参数 96
3.4.4 ArcPy函数的返回值 98
3.5 ArcPy函数介绍 98
3.5.1概述 98
3.5.2环境变量 99
3.5.3产品级别与扩展 100
3.5.4描述函数 101
3.5.5列表函数 101
3.6 ArcPy几何类介绍 102
3.6.1几何类 102
3.6.2几何构造 102
3.6.3空间关系 104
3.7 ArcPy的数据访问模块介绍 104
3.7.1高性能的游标支持 104
3.7.2编辑会话 107
3.8 ArcPy的制图模块 108
3.8.1地图文档相关函数 108
3.8.2典型场景——批量更换数据源脚本 110
3.8.3地图服务相关函数 111
3.8.4典型场景一一发布地图服务 114
3.9 ArcPy脚本工具 116
3.9.1从独立脚本到脚本工具 116
3.9.2 ArcPy制作脚本工具流程 117
3.10常用ArcPy脚本示例 122
3.10.1 ArcSDE多版本数据备份 122
3.10.2 ArcSDE版本管理工作流程 124
3.10.3 ArcGIS for Server自动化服务管理 127
3.11 ArcPy脚本调试 127
3.11.1基本脚本调试 127
3.11.2专业IDE调试 128
3.12自动化执行ArcPy脚本 129
3.12.1 Windows操作系统设置 129
3.12.2 Linux操作系统设置 129
3.13帮助资源 131
Web开发篇 135
第4章 ArcGIS API for JavaScript开发解析 135
4.1概述 135
4.2预前知识快速浏览 135
4.2.1 ArcGIS for Server 135
4.2.2 REST API 137
4.2.3 HTML/HTML5 141
4.2.4 CSS/CSS3 142
4.2.5 JavaScript 143
4.2.6 AJAX 143
4.2.7 Dojo 144
4.3 ArcGIS API for JavaScript功能概述 144
4.4 ArcGIS API for JavaScript开发原理解析 145
4.4.1运行流程 145
4.4.2重点对象 146
4.4.3事件 151
4.4.4控件 153
4.5 ArcGIS API for JavaScript开发环境搭建 159
4.5.1 IDE环境设置 159
4.5.2 ArcGIS API for JavaScript开发环境部署 161
4.6典型案例解析以及代码分析 162
4.6.1 Hello World 162
4.6.2一个基础地图应用 164
4.6.3 GraphicLayer 167
4.6.4地图渲染 169
4.6.5数据查询 177
4.6.6几何服务 183
4.6.7网络分析 186
4.6.8 GP服务 189
4.6.9扩展 191
4.7开发调试介绍 196
4.7.1使用Fiddler 196
4.7.2基于浏览器调试 197
4.7.3离线/在线SDK的Sandbox 199
4.8结合第三方框架 200
4.9常见的开发帮助资源 201
第5章 服务对象扩展(SOE)开发解析 203
5.1 SOE应用场景 203
5.2 GP服务VS.SOE 203
5.3 SOE开发与部署 204
5.3.1 SOE开发环境 204
5.3.2 SOE部署 205
5.4 SOE开发调试方法 206
5.5以应急行业为例扩展SOE功能介绍 207
5.6 SOE工作原理 207
5.6.1重启添加SOE扩展的地图服务 208
5.6.2关于Schema的理解 209
5.6.3 SOE的属性(Property)设置 210
5.6.4获取数据源 213
5.6.5打开SOE资源链接 215
5.6.6关于SOE的处理流程 215
5.6.7执行SOE实现功能 216
5.7 ArcGIS API for JavaScript调用SOE服务 219
5.8帮助资源 221
移动开发篇 227
第6章 ArcGIS Runtime SDK for Android开发解析 227
6.1 Android基本知识 227
6.2 ArcGIS Runtime SDK for Android概述 230
6.3开发环境搭建 231
6.4开启开发之旅——Hello World 238
6.5重中之重——Map 253
6.5.1 Map的构成 253
6.5.2与Map交互 257
6.5.3为Map增色 260
6.6一技之长——Analysis 267
6.6.1离线空间分析之GeometryEngine 268
6.6.2在线空间分析之QueryTask 269
6.6.3在线空间分析之IdentifyTask 271
6.6.4在线空间分析之RouteTask 272
6.7随时随地——Offine 274
6.7.1底图数据离线 275
6.7.2业务数据离线 279
6.7.3离线业务数据编辑与同步 284
6.8 Cloud&Portal 286
6.9应用程序授权、签名与分发 290
6.9.1授权应用程序 290
6.9.2应用程序签名 297
6.9.3应用程序分发 299
6.10帮助资源 299
第7章 ArcGIS Runtime SDK for iOS开发解析 301
7.1 iOS基本知识 301
7.2 ArcGIS Runtime for iOS概述 303
7.3开发环境搭建 304
7.4 Hello Map 304
7.5一技之长——Analysis 314
7.5.1查询 316
7.5.2网络分析 321
7.5.3地理处理 333
7.5.4几何操作 339
7.6随时随地——Offine 342
7.7编辑数据 347
7.8 ArcGIS Online和Portal 360
7.9授权你的应用 371
7.10帮助资源 378
地理数据库开发篇 381
第8章 ArcGIS的空间SQL开发解析 381
8.1空间SQL的适用场景 381
8.2 ArcGIS空间存储变迁 381
8.2.1包含ArcSDE系统表 381
8.2.2不包含ArcSDE系统表 382
8.3空间类型 382
8.4配置空间ST_GEOMETRY的SQL操作 383
8.4.1配置Oracle监听使用ST_GEOMETRY原理 383
8.4.2配置Oracle监听使用ST_GEOMETRY——Windows 385
8.5 SQL操作非版本数据 386
8.5.1 SQL创建空间表 387
8.5.2注册ST_GEOMETRY空间列 387
8.5.3 ST_Geometry的构造函数 388
8.5.4 SQL编辑空间表 389
8.5.5空间SQL添加ObjectID和GUID 390
8.5.6 SQL创建空间索引 391
8.5.7注册Geodatabase 392
8.6 ST GEOMETRY的SQL的性能分析 393
8.6.1 ST GEOMETRY查询原理 393
8.6.2版本、补丁与ST GEOMETRY 394
8.6.3空间关系函数介绍 394
8.6.4 ST GEOMETRY效率测试环境 396
8.6.5空间关系函数选择 396
8.6.6空间关系函数参数输入位置 400
8.6.7 SQL语句 404
8.7 SQL操作版本化数据 404
8.7.1 SQL操作版本化数据原理 404
8.7.2版本化视图的创建 405
8.7.3 SQL创建子版本 405
8.7.4 SQL设置当前编辑版本 406
8.7.5 SQL编辑版本化数据 407
8.7.6版本协调和提交及子版本删除 407
8.8帮助资源 408
第9章 ArcSDE SDK开发解析 409
9.1 ArcSDE SDK介绍 409
9.2 ArcSDE SDK的生命周期 409
9.3 ArcSDE SDK性能 409
9.4 ArcSDE SDK for Java环境搭建 410
9.5 ArcSDE SDK for Java开发精解 411
9.5.1 ArcSDE SDK for Java开发概述 411
9.5.2 ArcSDE SDK for Java之查询解析 411
9.6 ArcSDE SDK for Java典型示例——数据编辑 414
9.6.1新增操作 414
9.6.2更新操作 414
9.6.3删除操作 415
9.7帮助参考 415