《基于ArcGIS的Python编程秘笈》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)ERICPIMPLER著;牟乃夏,张灵先,张恒才译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115438041
  • 页数:316 页
图书介绍:本书以基础理论结合GIS开发实例的方式,循序渐进地介绍了Python在ArcGIS开发中的基本应用和相关技巧,以基本知识开始,陆续简洁了地图文档和地图层的管理、找到并修复一些破损数据,本书还致力于更好地实现ArcGIS内部任务的自动化。全书内容结构清晰,示例完整,适合各类和GIS开发相关的读者参考学习。

第1章 面向ArcGIS的Python语言基础 1

1.1 使用IDLE进行Python脚本开发 2

1.1.1 Python Shell窗口 2

1.1.2 Python脚本窗口 3

1.1.3 编辑已有的Python脚本 3

1.1.4 在IDLE中运行脚本 5

1.2 ArcGIS Python窗口的使用 5

1.2.1 ArcGIS Python窗口 5

1.2.2 ArcGIS Python窗口的显示 6

1.3 Python语言基础 8

1.3.1 代码注释 8

1.3.2 模块导入 9

1.3.3 变量 10

1.3.4 内置数据类型 13

1.3.5 类和对象 19

1.3.6 语句 20

1.3.7 文件I/O(输入/输出) 25

1.4 总结 26

第2章 管理地图文档和图层 27

2.1 引言 27

2.2 引用当前的地图文档 28

2.2.1 准备工作 28

2.2.2 操作方法 28

2.2.3 工作原理 29

2.3 引用磁盘上的地图文档 30

2.3.1 准备工作 30

2.3.2 操作方法 30

2.3.3 工作原理 31

2.4 获取地图文档中的图层列表 31

2.4.1 准备工作 31

2.4.2 操作方法 31

2.4.3 工作原理 32

2.4.4 拓展 32

2.5 限制图层列表 33

2.5.1 准备工作 33

2.5.2 操作方法 33

2.5.3 工作原理 34

2.6 缩放至所选要素 35

2.6.1 准备工作 35

2.6.2 操作方法 35

2.6.3 工作原理 37

2.7 改变地图范围 37

2.7.1 准备工作 37

2.7.2 操作方法 38

2.7.3 工作原理 39

2.8 添加图层到地图文档 39

2.8.1 准备工作 40

2.8.2 操作方法 40

2.8.3 工作原理 42

2.8.4 拓展 42

2.9 插入图层到地图文档 42

2.9.1 准备工作 42

2.9.2 操作方法 43

2.9.3 工作原理 44

2.9.4 拓展 45

2.10 更新图层的符号系统 45

2.10.1 准备工作 45

2.10.2 操作方法 46

2.10.3 工作原理 47

2.10.4 拓展 48

2.11 更新图层属性 48

2.11.1 准备工作 48

2.11.2 操作方法 48

2.12 操作数据框中启用时间的图层 53

2.12.1 准备工作 53

2.12.2 操作方法 54

2.12.3 工作原理 58

第3章 查找和修复丢失的数据链接 59

3.1 引言 59

3.2 查找地图文档和图层文件中丢失的数据源 59

3.2.1 准备工作 60

3.2.2 操作步骤 60

3.2.3 工作原理 62

3.2.4 拓展 62

3.3 使用MapDocument.findAndReplaceWorkspacePaths()方法修复丢失的数据源 62

3.3.1 准备工作 62

3.3.2 操作步骤 63

3.3.3 工作原理 64

3.3.4 拓展 64

3.4 使用MapDocument.replaceWorkspaces()方法修复丢失的数据源 65

3.4.1 准备工作 65

3.4.2 操作步骤 65

3.4.3 工作原理 67

3.5 使用replaceDataSource()方法修复单个图层和表对象 68

3.5.1 准备工作 69

3.5.2 操作步骤 69

3.5.3 工作原理 72

3.5.4 拓展 72

3.6 查找文件夹中所有地图文档内丢失的数据源 72

3.6.1 准备工作 72

3.6.2 操作步骤 73

3.6.3 工作原理 74

第4章 自动化地图制图和打印 76

4.1 引言 76

4.2 创建布局元素的Python列表 77

4.2.1 准备工作 77

4.2.2 操作方法 78

4.2.3 工作原理 79

4.3 为布局元素指定唯一的名称 79

4.3.1 准备工作 79

4.3.2 操作方法 79

4.3.3 工作原理 82

4.3.4 拓展 82

4.4 使用ListLayoutElements()函数限制返回的布局元素 83

4.4.1 准备工作 83

4.4.2 操作方法 83

4.4.3 工作原理 84

4.5 更新布局元素的属性 84

4.5.1 准备工作 84

4.5.2 操作方法 85

4.5.3 工作原理 87

4.6 获取可用的打印机的列表 87

4.6.1 准备工作 87

4.6.2 操作方法 87

4.6.3 工作原理 88

4.7 使用PrintMap()函数打印地图 88

4.7.1 准备工作 89

4.7.2 操作方法 89

4.7.3 工作原理 90

4.8 导出地图为PDF文件 90

4.8.1 准备工作 90

4.8.2 操作方法 90

4.8.3 工作原理 92

4.9 导出地图为图像文件 92

4.9.1 准备工作 92

4.9.2 操作方法 92

4.9.3 工作原理 93

4.10 导出报表 93

4.10.1 准备工作 94

4.10.2 操作方法 94

4.10.3 工作原理 97

4.11 使用数据驱动页面和ArcPy制图模块构建地图册 98

4.11.1 准备工作 98

4.11.2 操作方法 98

4.11.3 工作原理 102

4.12 将地图文档发布为ArcGISServer服务 102

4.12.1 准备工作 103

4.12.2 操作方法 104

4.12.3 工作原理 109

第5章 使用脚本执行地理处理工具 110

5.1 引言 110

5.2 查找地理处理工具 110

5.2.1 准备工作 111

5.2.2 操作方法 111

5.2.3 工作原理 113

5.3 查看工具箱别名 114

5.3.1 准备工作 114

5.3.2 操作方法 115

5.3.3 工作原理 116

5.4 使用脚本执行地理处理工具 116

5.4.1 准备工作 117

5.4.2 操作方法 117

5.4.3 工作原理 118

5.4.4 拓展 119

5.5 将一个工具的输出作为另一个工具的输入 119

5.5.1 准备工作 119

5.5.2 操作方法 120

5.5.3 工作原理 122

第6章 创建自定义地理处理工具 123

6.1 引言 123

6.2 创建自定义地理处理工具 123

6.2.1 准备工作 123

6.2.2 操作方法 124

6.2.3 工作原理 138

6.2.4 拓展 139

6.3 创建Python工具箱 139

6.3.1 准备工作 139

6.3.2 操作方法 139

6.3.3 工作原理 148

第7章 查询和选择数据 149

7.1 引言 149

7.2 构造正确的属性查询语句 149

7.2.1 准备工作 150

7.2.2 操作方法 150

7.2.3 工作原理 153

7.3 创建要素图层和表视图 154

7.3.1 准备工作 154

7.3.2 操作方法 155

7.3.3 工作原理 157

7.3.4 拓展 157

7.4 使用Select Layer by Attribute工具选择要素和行 158

7.4.1 准备工作 158

7.4.2 操作方法 159

7.4.3 工作原理 161

7.5 使用Select Layer by Location工具选择要素 161

7.5.1 准备工作 161

7.5.2 操作方法 162

7.5.3 工作原理 165

7.6 结合空间查询和属性查询选择要素 165

7.6.1 准备工作 165

7.6.2 操作方法 166

7.6.3 工作原理 167

第8章 在要素类和表中使用ArcPy数据访问模块 168

8.1 引言 168

8.2 使用SearchCursor检索要素类中的要素 171

8.2.1 准备工作 171

8.2.2 操作方法 171

8.2.3 工作原理 173

8.3 使用where子句筛选记录 173

8.3.1 准备工作 173

8.3.2 操作方法 173

8.3.3 工作原理 174

8.4 使用几何令牌改进游标性能 174

8.4.1 准备工作 174

8.4.2 操作方法 175

8.4.3 工作原理 178

8.5 使用InsertCursor插入行 178

8.5.1 准备工作 178

8.5.2 操作方法 179

8.5.3 工作原理 183

8.6 使用UpdateCursor更新行 183

8.6.1 准备工作 183

8.6.2 操作方法 184

8.6.3 工作原理 187

8.7 使用UpdateCursor删除行 187

8.7.1 准备工作 187

8.7.2 操作方法 187

8.7.3 工作原理 189

8.8 在编辑会话中插入和更新行 189

8.8.1 准备工作 189

8.8.2 操作方法 190

8.8.3 工作原理 192

8.9 读取要素类中的几何信息 193

8.9.1 准备工作 193

8.9.2 操作方法 193

8.9.3 工作原理 195

8.10 使用Walk()遍历目录 195

8.10.1 准备工作 195

8.10.2 操作方法 195

8.10.3 工作原理 197

第9章 获取GIS数据的列表和描述 198

9.1 引言 198

9.2 使用ArcPy列表函数 199

9.2.1 准备工作 199

9.2.2 操作方法 199

9.2.3 工作原理 201

9.2.4 拓展 201

9.3 获取要素类或表中的字段列表 202

9.3.1 准备工作 202

9.3.2 操作方法 202

9.3.3 工作原理 204

9.4 使用Describe()函数返回要素类的描述性信息 204

9.4.1 准备工作 204

9.4.2 操作方法 205

9.4.3 工作原理 207

9.5 使用Describe()函数返回栅格图像的描述性信息 208

9.5.1 准备工作 208

9.5.2 操作方法 208

9.5.3 工作原理 210

第10章 使用Add-in定制ArcGIS界面 211

10.1 引言 211

10.2 下载并安装Python Add-in Wizard 212

10.2.1 准备工作 212

10.2.2 操作方法 212

10.2.3 工作原理 214

10.3 创建按钮加载项和使用Python加载项模块 214

10.3.1 准备工作 214

10.3.2 操作方法 215

10.3.3 工作原理 222

10.4 安装和测试加载项 222

10.4.1 准备工作 223

10.4.2 操作方法 223

10.4.3 工作原理 227

10.5 创建工具加载项 228

10.5.1 准备工作 228

10.5.2 操作方法 229

10.5.3 工作原理 232

10.5.4 拓展 233

第11章 异常识别和错误处理 234

11.1 引言 234

11.2 默认的Python错误消息 235

11.2.1 准备工作 235

11.2.2 操作方法 235

11.2.3 工作原理 236

11.3 添加Python异常处理结构(try/except/else) 236

11.3.1 准备工作 236

11.3.2 操作方法 237

11.3.3 工作原理 238

11.3.4 拓展 238

11.4 使用GetMessages()函数获取工具消息 238

11.4.1 准备工作 238

11.4.2 操作方法 239

11.4.3 工作原理 239

11.5 根据严重性级别筛选工具消息 239

11.5.1 准备工作 240

11.5.2 操作方法 240

11.5.3 工作原理 241

11.6 测试和响应特定的错误消息 241

11.6.1 准备工作 241

11.6.2 操作方法 242

11.6.3 工作原理 243

第12章 使用Python实现ArcGIS的高级功能 244

12.1 引言 244

12.2 ArcGIS REST API入门 245

12.2.1 准备工作 245

12.2.2 操作方法 245

12.2.3 工作原理 250

12.3 使用Python构建HTTP请求并解析响应 250

12.3.1 准备工作 251

12.3.2 操作方法 251

12.3.3 工作原理 254

12.4 使用ArcGIS REST API和Python获取图层信息 254

12.4.1 准备工作 254

12.4.2 操作方法 254

12.4.3 工作原理 256

12.5 使用ArcGIS REST API和Python导出地图 257

12.5.1 准备工作 257

12.5.2 操作方法 257

12.5.3 工作原理 259

12.6 使用ArcGIS REST API和Python查询地图服务 260

12.6.1 准备工作 260

12.6.2 操作方法 260

12.6.3 工作原理 264

12.7 使用Esri World Geocoding Service进行地理编码 264

12.7.1 准备工作 264

12.7.2 操作方法 264

12.7.3 工作原理 266

12.8 使用FieldMap和FieldMappings 266

12.8.1 准备工作 266

12.8.2 操作方法 267

12.8.3 工作原理 273

12.9 使用ValueTable将多值输入到工具中 273

12.9.1 准备工作 274

12.9.2 操作方法 274

12.9.3 工作原理 275

第13章 在ArcGIS Pro中使用Python 276

13.1 引言 276

13.2 在ArcGIS Pro中使用新的Python窗口 277

13.3 桌面ArcGIS与ArcGIS Pro中Python的编码差异 280

13.4 为独立的ArcGIS Pro脚本安装Python 280

13.5 将桌面ArcGIS中的Python代码转换到ArcGIS Pro中 281

附录A 自动化Python脚本 282

A.1 引言 282

A.2 在命令行中运行Python脚本 283

A.2.1 准备工作 283

A.2.2 操作方法 283

A.2.3 工作原理 288

A.3 使用sys.argv[]捕获命令行的输入 288

A.3.1 准备工作 288

A.3.2 操作方法 289

A.3.3 工作原理 290

A.4 添加Python脚本到批处理文件 290

A.4.1 准备工作 290

A.4.2 操作方法 291

A.4.3 工作原理 291

A.4.4 拓展 291

A.5 在规定的时间运行批处理文件 291

A.5.1 准备工作 292

A.5.2 操作方法 292

A.5.3 工作原理 296

附录B GIS程序员不可不知的5个Python功能 297

B.1 引言 297

B.2 读取带分隔符的文本文件 297

B.2.1 准备工作 298

B.2.2 操作方法 298

B.2.3 工作原理 300

B.2.4 拓展 301

B.3 发送电子邮件 301

B.3.1 准备工作 301

B.3.2 操作方法 302

B.3.3 工作原理 305

B.4 检索FTP服务中的文件 305

B.4.1 准备工作 306

B.4.2 操作方法 306

B.4.3 工作原理 309

B.4.4 拓展 309

B.5 创建ZIP文件 309

B.5.1 准备工作 310

B.5.2 操作方法 310

B.5.3 工作原理 312

B.5.4 拓展 313

B.6 读取XML文件 313

B.6.1 准备工作 313

B.6.2 操作方法 314

B.6.3 工作原理 315

B.6.4 拓展 316