Python作为一种高 级程序设计语言,凭借其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言。使用Python作为ArcGIS的脚本语言将大大提升ArcGIS数据处理的效率,更好地实现ArcGIS内部的任务自动化。
《面向ArcGIS的Python脚本编程》是一本专门针对ArcGIS编程的Python参考书,以基础理论结合GIS开发实例的方式,详细介绍了Python在ArcGIS开发中的基本应用和相关技巧,全书分为4个部分。第 一部分主要介绍ArcGIS for Desktop中地理处理的基本原理以及Python语言的基础知识;第 二部分主要介绍如何编写一个处理空间数据的脚本;第三部分主要介绍一系列具体的操作,例如编写制图脚本、调试和错误处理以及创建Python类和函数;第四部分主要介绍如何将脚本创建成一个工具并与其他人共享。每一章附带相应的练习内容,帮助读者在学习和练习之间得到更多的实践。
《面向ArcGIS的Python脚本编程》内容结构清晰,示例完整,不仅适合于从事GIS开发的专业人士,而且适合那些有兴趣接触或从事Python编程的读者。
第 一部分 Python和地理处理的相关概念
第 1章 Python简介 2
1.1 引言 2
1.2 Python的特点 2
1.3 脚本语言和程序语言 3
1.4 ArcGIS的脚本语言 3
1.5 Python的历史和版本 4
1.6 关于本书 5
1.7 Python脚本实例 7
1.8 Python脚本编辑器 10
本章要点 16
第 2章 ArcGIS中的地理处理 17
2.1 引言 17
2.2 地理处理 17
2.3 ArcObjects 18
2.4 工具箱和工具 19
2.5 工具的类型 21
2.6 工具对话框 21
2.7 环境设置 25
2.8 批处理 27
2.9 模型和ModelBuilder 30
2.10 运行脚本 34
2.11 运行脚本工具 37
2.12 模型转为脚本 38
2.13 定时运行脚本 40
本章要点 41
第3章 Python窗口 43
3.1 引言 43
3.2 Python窗口简介 43
3.3 编写并运行脚本代码 44
3.4 获取帮助 46
3.5 Python窗口选项 48
3.6 保存脚本 49
3.7 在Python窗口中加载代码 50
本章要点 51
第4章 Python基础 52
4.1 引言 52
4.2 Python文档和资源 52
4.3 数据类型与数据结构 53
4.4 数字 53
4.5 变量及其命名规则 54
4.6 语句和表达式 56
4.7 字符串 57
4.8 列表 58
4.9 Python对象 59
4.10 函数 60
4.11 方法 62
4.12 处理字符串 62
4.13 处理列表 66
4.14 处理路径 70
4.15 模块 71
4.16 条件控制语句 73
4.17 循环语句 75
4.18 用户输入 77
4.19 注释 78
4.20 PythonWin编辑器 79
4.21 编码规范 81
本章要点 82
第 二部分 编写地理处理脚本
第5章 使用Python进行地理处理 86
5.1 引言 86
5.2 ArcPy站点包 86
5.3 导入ArcPy 86
5.4 使用旧版ArcGIS 88
5.5 使用地理处理工具 89
5.6 使用地理处理工具箱 94
5.7 ArcPy函数 96
5.8 ArcPy类 98
5.9 环境设置 100
5.10 工具消息 101
5.11 查询许可 105
5.12 获取帮助 108
本章要点 110
第6章 访问空间数据 112
6.1 引言 112
6.2 检查数据的存在性 112
6.3 描述数据 113
6.4 列出数据 116
6.5 对列表使用for循环 119
6.6 操作列表 119
6.7 元组 120
6.8 字典 121
本章要点 124
第7章 处理空间数据 126
7.1 引言 126
7.2 使用游标访问数据 126
7.3 在Python中使用SQL 131
7.4 处理表和字段名 132
7.5 解析属性表和字段名 134
7.6 处理文本文件 135
本章要点 142
第8章 处理几何图形 143
8.1 引言 143
8.2 处理几何对象 143
8.3 读取几何 144
8.4 处理多部分要素 147
8.5 处理有孔洞的多边形 150
8.6 写入几何 152
8.7 使用游标设置空间参考 154
8.8 使用地理处理工具处理几何对象 156
本章要点 157
第9章 使用栅格数据 158
9.1 引言 158
9.2 列出栅格数据 158
9.3 描述栅格属性 159
9.4 处理栅格对象 162
9.5 Spatial Analyst模块 163
9.6 地图代数 164
9.7 ApplyEnvironment函数 167
9.8 arcpy.as模块中的类 168
9.9 NumPy数组 171
本章要点 172
第三部分 执行地理处理任务
第 10章 制图脚本 174
10.1 引言 174
10.2 ArcPy的制图模块 174
10.3 地图文档 175
10.4 地图文档的属性和方法 176
10.5 数据框 177
10.6 图层 179
10.7 修复数据链接 183
10.8 页面布局元素 188
10.9 输出地图 191
10.10 打印地图 192
10.11 处理PDF文档 192
10.12 新建地图册 193
10.13 制图脚本样例 196
本章要点 198
第 11章 程序调试与错误处理 199
11.1 引言 199
11.2 识别语法错误 199
11.3 识别异常 201
11.4 程序调试 202
11.5 程序调试技巧 208
11.6 异常的处理 208
11.7 触发异常 209
11.8 处理异常 211
11.9 处理地理异常 213
11.10 其他错误处理方法 215
11.11 常见错误 216
本章要点 217
第 12章 创建Python类和函数 218
12.1 引言 218
12.2 创建函数 218
12.3 调用函数 221
12.4 添加代码到模块中 224
12.5 使用类 226
12.6 地理处理包 229
本章要点 231
第四部分 创建并使用脚本工具
第 13章 创建自定义工具 234
13.1 引言 234
13.2 为什么要创建自定义工具 234
13.3 创建自定义工具的步骤 235
13.4 编辑脚本代码 240
13.5 工具参数 241
13.6 设置工具参数 246
13.7 脚本工具示例 251
13.8 自定义工具行为 253
13.9 处理消息 254
13.10 处理独立脚本和工具的消息 256
13.11 自定义进度对话框 256
13.12 在进程中运行脚本 259
本章要点 260
第 14章 共享脚本工具 261
14.1 引言 261
14.2 工具共享的方法 261
14.3 软件许可 262
14.4 共享工具的文件夹结构 262
14.5 处理路径 263
14.6 查找数据和工作空间 266
14.7 创建地理处理包 268
14.8 内嵌脚本并设置工具密码 269
14.9 编写工具文档 270
14.10 示例工具:市场分析 274
本章要点 278
Palu A. Zandbergen,美国新墨西哥大学地理系副教授。主要讲授GIS和空间分析方面的课程。研究方向包括地理信息科学,空间统计分析,空间数据不确定性,GIS在犯罪、经济、卫生、空间生态学等领域的应用,地形分析与建模以及基于GPS和GIS的社区参与式制图等。