具体描述
《面向ArcGIS的Python脚本编程》是一本指导ArcGIS for Desktop专业用户进行Python开发的指南。该书将教会您如何通过编写Python代码处理空间数据并在ArcGIS中自动化实现地理处理任务。读者在学习完本书后,可以根据需要创建自定义的地理处理工具。本书共包括14章,在随书的DVD光盘中,还附有相应的练习和数据。您可以在线下载ArcGIS 10.1 for Desktop的试用版,其试用期为180天。
《面向ArcGIS的Python脚本编程》是一本指导ArcGIS for Desktop专业用户进行Python开发的指南。该书将教会您如何通过编写Python代码处理空间数据并在ArcGIS中自动化实现地理处理任务。读者在学习完本书后,可以根据需要创建自定义的地理处理工具。本书共包括14章,在随书的DVD光盘中,还附有相应的练习和数据。您可以在线下载ArcGIS 10.1 for Desktop的试用版,其试用期为180天。
本书的主要内容:
Python语法基础
地理处理任务的自动化
空间数据的访问和操作
矢量和栅格数据的使用
制图脚本开发
程序调试和错误处理
函数和类的创建
脚本工具的创建和共享
作者简介
Palu A. Zandbergen,美国新墨西哥大学地理系副教授。主要讲授GIS和空间分析方面的课程。研究方向包括地理信息科学,空间统计分析,空间数据不确定性,GIS在犯罪、经济、卫生、空间生态学等领域的应用,地形分析与建模以及基于GPS和GIS的社区参与式制图等。
目录信息
鸣谢 3
第一部分 Python和地理处理的相关概念 4
第1章 Python简介 4
1.1 引言 4
1.2 Python的特点 4
1.3 脚本语言和程序语言 4
1.4 ArcGIS的脚本语言 5
1.5 Python的历史和版本 5
1.6 关于本书 6
1.7 Python脚本实例 7
1.8 Python脚本编辑器 10
本章要点 15
第2章 ArcGIS中的地理处理 16
2.1 引言 16
2.2 地理处理 16
2.3 ArcObjets 16
2.4 工具箱和工具 17
2.5 工具的类型 19
2.6 工具对话框 20
2.7 环境设置 24
2.8 批处理 26
2.9 模型和ModelBuilder 29
2.10 运行脚本 32
2.11 运行脚本工具 34
2.12 模型转为脚本 36
2.13 定时运行脚本 37
本章要点 39
第3章 Python窗口 40
3.1 引言 40
3.2 Python窗口简介 40
3.3 编写并运行脚本代码 40
3.4 获取帮助 42
3.5 Python窗口选项 44
3.6 保存脚本 45
3.7 在Python窗口中加载代码 46
本章要点 46
第4章 Python基础 47
4.1 引言 47
4.2 Python文档和资源 47
4.3 数据类型与数据结构 47
4.4 数字 47
4.5 变量及其命名规则 48
4.6 语句和表达式 49
4.7 字符串 50
4.8 列表 50
4.9 Python对象 51
4.10 函数 52
4.11 方法 53
4.12 处理字符串 53
4.13 处理列表 56
4.14 处理路径 58
4.15 模块 59
4.16 条件控制语句 60
4.17 循环语句 62
4.18 用户输入 63
4.19 注释 64
4.20 PythonWin编辑器 65
4.21 编码规范 67
本章要点 67
第5章 使用Python进行地理处理 69
5.1 引言 69
5.2 ArcPy站点包 69
5.3 导入ArcPy 69
5.4 使用旧版ArcGIS 70
5.5 使用地理处理工具 71
5.6 使用地理处理工具箱 74
5.7 ArcPy函数 75
5.8 ArcPy类 76
5.9 环境设置 77
5.10 工具消息 78
5.11 查询许可 81
5.12 获取帮助 83
本章要点 85
第6章 访问空间数据 86
6.1 引言 86
6.2 检查数据的存在性 86
6.3 描述数据 87
6.4 列出数据 88
6.5 对列表使用for循环 90
6.6 操作列表 91
6.7 元组 91
6.8 字典 92
本章要点 94
第7章 处理空间数据 95
7.1 引言 95
7.2 使用游标访问数据 95
7.3 在Python中使用SQL 98
7.4 处理表和字段名 99
7.5 解析属性表和字段名 101
7.6 处理文本文件 101
本章要点 107
第8章 处理几何图形 108
8.1 引言 108
8.2 处理几何对象 108
8.3 读取几何 108
8.4 处理多部分要素 111
8.5 处理有孔洞的多边形 114
8.6 写入几何 116
8.7 使用游标设置空间参考 118
8.8 使用地理处理工具处理几何对象 119
本章要点 120
第9章 使用栅格数据 121
9.1 引言 121
9.2 列出栅格数据 121
9.3 描述栅格属性 121
9.4 处理栅格对象 123
9.5 Spatial Analyst模块 124
9.6 地图代数 125
9.7 ApplyEnvironment函数 127
9.8 arcpy.as模块中的类 128
9.9 NumPy数组 131
本章要点 131
第10章 制图脚本 133
10.1 引言 133
10.2 ArcPy的制图模块 133
10.3 地图文档 133
10.4 地图文档的属性和方法 134
10.5 数据框 135
10.6 图层 137
10.7 修复数据链接 139
10.8 页面布局元素 143
10.9 输出地图 145
10.10 打印地图 146
10.11 处理PDF文档 147
10.12 新建地图册 147
10.13 制图脚本样例 150
本章要点 152
第11章 程序调试与错误处理 153
11.1 引言 153
11.2 识别语法错误 153
11.3 识别异常 155
11.4 程序调试 155
11.5 程序调试技巧 160
11.6 异常的处理 160
11.7 触发异常 161
11.8 处理异常 162
11.9 处理地理处理异常 164
11.10 其它错误处理方法 166
11.11 常见错误 166
本章要点 167
第12章 创建Python类和函数 168
12.1 引言 168
12.2 创建函数 168
12.3 调用函数 170
12.4 添加代码到模块中 172
12.5 使用类 173
12.6 地理处理包 176
本章要点 178
第13章 创建自定义工具 179
13.1 引言 179
13.2 为什么要创建自定义工具 179
13.3 创建自定义工具的步骤 179
13.4 编辑脚本代码 185
13.5 工具参数 186
13.6 设置工具参数 192
13.7 脚本工具示例 198
13.8 自定义工具行为 201
13.9 处理消息 202
13.10 处理独立脚本和工具的消息 204
13.11 自定义进度对话框 204
13.12 在进程中运行脚本 208
本章要点 208
第14章 共享脚本工具 209
14.1 引言 209
14.2 工具共享的方法 209
14.3 软件许可 209
14.4 共享工具的文件夹结构 210
14.5 处理路径 210
14.6 查找数据和工作空间 214
14.7 创建地理处理包 215
14.8 内嵌脚本并设置工具密码 216
14.9 编写工具文档 216
14.10 示例工具:市场分析 220
本章要点 226
附录C 227
1 安装数据和软件 227
2 安装练习数据 227
3 卸载数据及资源 229
4 安装软件 229
5 卸载软件 229
· · · · · · (收起)
读后感
用户评价
这本书的封面设计得相当朴素,没有太多花哨的元素,给人一种非常务实的感觉,这倒是挺符合技术类书籍的调性。我拿到书后首先翻阅了一下目录,结构安排得很有逻辑性,从基础的Python语法回顾开始,逐步过渡到ArcGIS环境下的具体操作,比如数据管理、空间分析的实现。特别是看到它对ArcPy库的讲解,划分得非常细致,不像有些教材那样囫囵吞枣。作者显然对ArcGIS的生态非常熟悉,这一点从章节的安排上就能看出来。我个人比较关注自动化流程这一块,看到专门有一章详细阐述了如何构建批处理脚本,并且提供了不少实际的案例,这对于经常需要处理海量空间数据的工作者来说,简直是福音。虽然只是粗略翻阅,但已经能感受到作者试图将复杂的GIS操作转化为简洁代码的决心。整体来看,这本书的编写风格偏向于技术手册的严谨性,而非轻松的入门读物,更适合已经对GIS有一定了解,想要进一步提升效率和自动化能力的技术人员。
这本书的装帧质量,说实话,中规中矩,纸张不算太厚,但油墨印制得很清晰,即便是涉及到复杂的代码块和地图要素的截图,细节也看得清楚,这一点很重要,毕竟读技术书,阅读体验直接影响学习效率。我特别留意了一下书中的代码示例部分,发现它们不仅仅是孤立的功能展示,很多时候是串联起来形成一个完整的工作流。比如,作者在讲解完要素类的读取后,紧接着就演示了如何对这些要素进行属性筛选,然后将结果输出到一个新的地理数据集,这一步步的衔接非常自然,让读者能够立刻理解“写代码解决实际问题”的感觉,而不是停留在理论的空中楼阁。这种实战导向的叙述方式,极大地激发了我想要动手实践的欲望。我感觉这本书的定位,是想成为一本能够放在手边,随时可以查阅和参考的工具书,而不是那种读完一遍就束之高阁的理论大部头。
阅读这本书的过程,就像是在进行一场精心规划的工程项目。它没有采用那种“先讲故事,再引出技术”的叙事手法,而是开门见山,直击痛点。我发现作者在处理错误和异常的代码段落上,给予了足够的关注。在很多技术书籍中,成功的案例往往被展示得天花乱坠,但当实际操作出错时,读者往往两眼一抹黑。这本书不同,它会预先指出在特定操作下可能出现的常见错误,并提供了对应的Python异常处理代码段。例如,当数据源路径错误、或者字段名称不匹配时,脚本该如何优雅地中止或跳过当前任务。这种前瞻性的指导,极大地减少了读者在调试过程中浪费的时间和挫败感。这不仅仅是一本教你“怎么做”的书,更是一本教你“如何健壮地做”的书,体现了作者丰富的实战经验。
这本书的语言风格,给我一种非常严谨、不苟言笑的工程师对话感。作者在解释每一个函数和参数时,都力求精确无误,很少使用模棱两可的描述。对于ArcGIS中一些特有的术语和概念,比如投影、坐标系转换、拓扑关系处理,书里都有给出清晰的Python实现路径,这一点对于刚从ArcMap传统界面转向脚本操作的新手来说,是极大的帮助。我记得有一节详细对比了不同空间分析工具在脚本中调用的细微差别,这种深度的剖析,通常在官方文档中才会看到,但被作者整合进了教材里,让知识点更加集中。我个人觉得,这本书更适合那些已经具备一定编程基础,但在ArcGIS脚本应用上遇到了瓶颈,希望能系统性掌握ArcPy高级用法的读者。它不像那种“给完全不懂编程的人看的GIS入门书”,它假设你已经知道“什么是要素类”,但需要知道“如何用代码高效地操作要素类”。
从排版布局上来看,这本书的设计非常注重代码的可读性。所有的代码示例都采用了等宽字体,并且关键的API调用和变量赋值都用不同的颜色进行了高亮处理,这对于长时间盯着屏幕阅读代码的读者来说,无疑是一种关怀。此外,书中的插图,尤其是那些流程图和结构示意图,非常直观地帮助理解复杂的脚本逻辑流程。比如,当讲解到一个需要循环遍历多个数据集,并对每个数据集进行空间查询时,作者绘制的流程图清晰地展示了循环的入口、出口以及内部处理模块的依赖关系。我欣赏这种多媒体辅助教学的方式,让抽象的编程概念具象化。总的来说,这本书的呈现方式,旨在最大化读者的学习效率和代码理解速度,是一本值得认真研读的专业参考资料,特别是对于需要构建稳定、可维护的ArcGIS自动化解决方案的专业人士而言。
书挺薄的,有ArcGIS和Python基础的话1、2就可以看完
对于没有编程基础的同学非常友好,有ArcGIS基础的话看完相关章节就可以直接进行实际操作,我在看完这本书后对python和gis编程都产生了浓厚兴趣,是本好书
翻译的很通俗,浅显易懂。适合有一定建模基础,想学点编程,想尝试python的童鞋。先过了一遍基本概念,接下来做一点实际应用吧。
ArcPy入门教材
为几百条数据的网络分析重复处理而读,虽然功利,但是花半个月来做手工处理实在是心力交瘁……