面向ArcGIS的Python脚本编程

面向ArcGIS的Python脚本编程 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:[美] Paul A. Zandbergen 赞德伯根
出品人:
页数:296
译者:李明巨 刘昱君
出版时间:2014-10-1
价格:CNY 49.00
装帧:平装
isbn号码:9787115370198
丛书系列:图灵程序设计丛书·Python系列
图书标签:
  • Python
  • arcgis
  • GIS
  • python
  • 地理学
  • 编程
  • ArcPy
  • 地理
  • ArcGIS
  • Python
  • 编程
  • 脚本
  • 地理信息
  • 数据分析
  • 地图制作
  • 空间分析
  • 自动化
  • 可视化
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《面向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语法基础

 地理处理任务的自动化

 空间数据的访问和操作

 矢量和栅格数据的使用

 制图脚本开发

 程序调试和错误处理

 函数和类的创建

 脚本工具的创建和共享

《面向ArcGIS的Python脚本编程》内容简介 本书旨在为地理信息系统(GIS)专业人士、数据分析师以及希望利用Python自动化ArcGIS桌面和服务器操作的用户提供一套系统、实用的编程指南。全书聚焦于如何运用Python语言,特别是ArcPy库,高效地管理、处理和分析地理空间数据,从而显著提升GIS工作流的效率和自动化水平。 本书的编排遵循从基础概念到高级应用的逻辑顺序,确保读者能够平稳过渡,逐步掌握复杂的编程技巧。 第一部分:基础概念与环境搭建 本书的开篇部分详细介绍了使用ArcPy进行脚本编程所需的前置知识和环境准备。 1. GIS与Python基础回顾: 鉴于读者可能具有GIS背景但Python经验有限,本部分首先快速回顾了Python的核心语法结构,包括变量、数据类型、控制流(if/else、for、while)、函数定义以及面向对象编程的基本概念。重点强调了Python在数据处理中的优势。 2. ArcGIS与ArcPy的生态系统: 详细解释了ArcPy库在ArcGIS平台中的定位。阐述了ArcPy如何作为Python与ArcGIS工具箱、数据模型、地理数据结构之间的桥梁。 3. 环境配置与验证: 提供了详尽的步骤指南,指导用户正确安装和配置 ArcGIS Pro 或 ArcMap(针对旧版用户)环境下的Python解释器和ArcPy站点包。包括如何使用 `arcpy.GetInstallInfo()` 等命令来验证环境是否配置成功,确保脚本能够顺利执行。 第二部分:ArcPy核心模块详解 本部分是全书的技术核心,系统性地拆解了ArcPy库中最重要的几个模块,为后续的数据操作打下坚实基础。 1. 数据访问与管理(`arcpy.mapping` / `arcpy.mp`): 针对ArcGIS Pro环境,深入讲解 `arcpy.mp` 模块,涵盖了如何使用Python程序化地创建、打开和保存工程文件(.aprx)。 详细说明了如何访问和操作地图(Map)、图层(Layer)、数据框(DataFrame)等关键要素。例如,如何动态更改图层的数据源、调整符号系统、设置可见比例尺范围,以及批量导出布局视图为图像文件。 2. 要素数据操作(`arcpy.management`): 这是地理数据处理的基石。 数据结构认知: 解释了要素类(Feature Class)、要素图层(Feature Layer)与数据集(Dataset)在ArcPy中的表示方式。 常用工具封装: 提供了对诸如 `CopyFeatures`、`Append`、`Dissolve`、`Merge` 等核心地理处理工具的Python调用方法。重点展示了如何通过脚本实现参数的动态传入和工具的批处理执行。 字段与属性表操作: 教授如何使用 `Add/Delete/Rename Field` 来修改数据结构,以及如何使用 `CalculateField` 进行高效的属性值计算,包括使用Python表达式(或ArcPy的Code Block)进行复杂的空间或统计计算。 3. 空间参考与转换: 讲解了如何获取、设置和验证地理数据集的空间参考信息。内容包括使用 `arcpy.SpatialReference` 对象来定义坐标系,以及使用 `Project` 工具进行坐标系统转换的自动化流程。 第三部分:空间分析与数据处理自动化 本部分侧重于利用ArcPy的分析能力来解决实际的地理问题,重点在于迭代处理和结果的输出。 1. Search 游标与Update 游标: 深入探讨了ArcPy中Cursor机制(`SearchCursor`, `UpdateCursor`, `InsertCursor`)的原理和使用场景。 强调了游标在处理大量数据时的性能优势,并提供了关于如何高效读取空间几何对象(Shape对象)和属性数据的实例。 重点演示了如何使用 `UpdateCursor` 在不使用 `CalculateField` 的情况下,对特定条件下的要素进行属性值的修改。 2. 空间分析工具的应用: 结合 `arcpy.analysis` 模块,展示了诸如缓冲区分析(`Buffer`)、叠加分析(`Intersect`, `Union`)和叠加分析(`Overlay`)的自动化脚本编写。 特别说明了如何构建复杂的分析链条,即一个工具的输出作为下一个工具的输入,实现全自动化的工作流程。 3. 迭代器与批处理脚本: 介绍了ArcPy内置的迭代器,如 `SearchCursor` 结合循环,以及 `arcpy.da.SearchCursor` 的现代用法。 重点讲解了 `IterateFeatureClasses`, `IterateWorkspaces` 等工具,使读者能够编写出能够自动扫描指定文件夹或数据库中所有符合特定条件的地理数据集,并对其批量执行相同分析任务的脚本。 第四部分:输出、制图自动化与高级技巧 本部分引导读者完成从数据处理到最终成果输出的完整自动化流程。 1. 制图输出自动化: 详细介绍如何利用 `arcpy.mp` 模块控制布局视图(Layout View)。 教授如何动态插入图例、比例尺、指北针、标题文本,并根据数据变化自动更新地图元素。 提供了将布局导出为PDF、JPEG或TIFF等标准格式的脚本范例。 2. 地理数据结构转换: 涵盖了从要素类到Shapefile、GeoPackage、或者发布为地图服务(Server Service)前的预处理脚本。 4. 错误处理与日志记录: 强调健壮性脚本的重要性。讲解如何使用Python的 `try...except` 结构来捕获ArcPy工具执行时可能出现的地理空间错误,并使用 `logging` 模块记录详细的执行过程和结果,便于后续调试和审计。 5. 性能优化: 提供了针对大规模数据集处理的性能调优技巧,例如何时使用Data Access(`arcpy.da`)而非传统的管理模块,以及如何优化空间查询的效率。 本书通过大量的、来源于实际GIS项目的工作流案例,确保读者不仅理解ArcPy的API,更能将其应用于解决复杂的、重复性的地理空间数据管理和分析任务中。全书的实例代码均是可直接复制、修改和执行的,是GIS从业者提升工作效率的实用工具书。

作者简介

Palu A. Zandbergen,美国新墨西哥大学地理系副教授。主要讲授GIS和空间分析方面的课程。研究方向包括地理信息科学,空间统计分析,空间数据不确定性,GIS在犯罪、经济、卫生、空间生态学等领域的应用,地形分析与建模以及基于GPS和GIS的社区参与式制图等。

目录信息

前言 1
鸣谢 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
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

这本书的语言风格,给我一种非常严谨、不苟言笑的工程师对话感。作者在解释每一个函数和参数时,都力求精确无误,很少使用模棱两可的描述。对于ArcGIS中一些特有的术语和概念,比如投影、坐标系转换、拓扑关系处理,书里都有给出清晰的Python实现路径,这一点对于刚从ArcMap传统界面转向脚本操作的新手来说,是极大的帮助。我记得有一节详细对比了不同空间分析工具在脚本中调用的细微差别,这种深度的剖析,通常在官方文档中才会看到,但被作者整合进了教材里,让知识点更加集中。我个人觉得,这本书更适合那些已经具备一定编程基础,但在ArcGIS脚本应用上遇到了瓶颈,希望能系统性掌握ArcPy高级用法的读者。它不像那种“给完全不懂编程的人看的GIS入门书”,它假设你已经知道“什么是要素类”,但需要知道“如何用代码高效地操作要素类”。

评分

从排版布局上来看,这本书的设计非常注重代码的可读性。所有的代码示例都采用了等宽字体,并且关键的API调用和变量赋值都用不同的颜色进行了高亮处理,这对于长时间盯着屏幕阅读代码的读者来说,无疑是一种关怀。此外,书中的插图,尤其是那些流程图和结构示意图,非常直观地帮助理解复杂的脚本逻辑流程。比如,当讲解到一个需要循环遍历多个数据集,并对每个数据集进行空间查询时,作者绘制的流程图清晰地展示了循环的入口、出口以及内部处理模块的依赖关系。我欣赏这种多媒体辅助教学的方式,让抽象的编程概念具象化。总的来说,这本书的呈现方式,旨在最大化读者的学习效率和代码理解速度,是一本值得认真研读的专业参考资料,特别是对于需要构建稳定、可维护的ArcGIS自动化解决方案的专业人士而言。

评分

这本书的封面设计得相当朴素,没有太多花哨的元素,给人一种非常务实的感觉,这倒是挺符合技术类书籍的调性。我拿到书后首先翻阅了一下目录,结构安排得很有逻辑性,从基础的Python语法回顾开始,逐步过渡到ArcGIS环境下的具体操作,比如数据管理、空间分析的实现。特别是看到它对ArcPy库的讲解,划分得非常细致,不像有些教材那样囫囵吞枣。作者显然对ArcGIS的生态非常熟悉,这一点从章节的安排上就能看出来。我个人比较关注自动化流程这一块,看到专门有一章详细阐述了如何构建批处理脚本,并且提供了不少实际的案例,这对于经常需要处理海量空间数据的工作者来说,简直是福音。虽然只是粗略翻阅,但已经能感受到作者试图将复杂的GIS操作转化为简洁代码的决心。整体来看,这本书的编写风格偏向于技术手册的严谨性,而非轻松的入门读物,更适合已经对GIS有一定了解,想要进一步提升效率和自动化能力的技术人员。

评分

这本书的装帧质量,说实话,中规中矩,纸张不算太厚,但油墨印制得很清晰,即便是涉及到复杂的代码块和地图要素的截图,细节也看得清楚,这一点很重要,毕竟读技术书,阅读体验直接影响学习效率。我特别留意了一下书中的代码示例部分,发现它们不仅仅是孤立的功能展示,很多时候是串联起来形成一个完整的工作流。比如,作者在讲解完要素类的读取后,紧接着就演示了如何对这些要素进行属性筛选,然后将结果输出到一个新的地理数据集,这一步步的衔接非常自然,让读者能够立刻理解“写代码解决实际问题”的感觉,而不是停留在理论的空中楼阁。这种实战导向的叙述方式,极大地激发了我想要动手实践的欲望。我感觉这本书的定位,是想成为一本能够放在手边,随时可以查阅和参考的工具书,而不是那种读完一遍就束之高阁的理论大部头。

评分

阅读这本书的过程,就像是在进行一场精心规划的工程项目。它没有采用那种“先讲故事,再引出技术”的叙事手法,而是开门见山,直击痛点。我发现作者在处理错误和异常的代码段落上,给予了足够的关注。在很多技术书籍中,成功的案例往往被展示得天花乱坠,但当实际操作出错时,读者往往两眼一抹黑。这本书不同,它会预先指出在特定操作下可能出现的常见错误,并提供了对应的Python异常处理代码段。例如,当数据源路径错误、或者字段名称不匹配时,脚本该如何优雅地中止或跳过当前任务。这种前瞻性的指导,极大地减少了读者在调试过程中浪费的时间和挫败感。这不仅仅是一本教你“怎么做”的书,更是一本教你“如何健壮地做”的书,体现了作者丰富的实战经验。

评分

ArcPy入门教材

评分

20150817在读,20170918读过

评分

对于没有编程基础的同学非常友好,有ArcGIS基础的话看完相关章节就可以直接进行实际操作,我在看完这本书后对python和gis编程都产生了浓厚兴趣,是本好书

评分

对于没有编程基础的同学非常友好,有ArcGIS基础的话看完相关章节就可以直接进行实际操作,我在看完这本书后对python和gis编程都产生了浓厚兴趣,是本好书

评分

20150817在读,20170918读过

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有