描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115456663
编辑推荐
作者在遥感和GIS领域积累了丰富的研发和教学经验,本书的内容和代码示例将非常适合读者学习。通过详细的理论讲解,再结合丰富的代码示例,读者将能够细致地掌握使用Python进行地理任务的处理,同时参考代码示例的注释,了解每一段代码的真实含义。
内容简介
Python作为一种高级程序设计语言,凭借其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言。作为ArcGIS的脚本语言,使用Python将大大提升地理数据处理的效率。
本书共13章,分别介绍了空间数据、Python基础、OGR库、矢量数据、过滤和选择数据、几何对象的操作细节、空间关系、空间参考系统、GDAL库、栅格数据、监督和非监督技术,以及Python的相关模块和库的使用。通过阅读本书,读者将详细了解Python语言在地理数据处理领域的具体应用。
本书讲解细致、示例丰富,适合任何想学习使用地理空间数据的读者阅读。地理空间分析领域的新读者也将从本书受益。
本书共13章,分别介绍了空间数据、Python基础、OGR库、矢量数据、过滤和选择数据、几何对象的操作细节、空间关系、空间参考系统、GDAL库、栅格数据、监督和非监督技术,以及Python的相关模块和库的使用。通过阅读本书,读者将详细了解Python语言在地理数据处理领域的具体应用。
本书讲解细致、示例丰富,适合任何想学习使用地理空间数据的读者阅读。地理空间分析领域的新读者也将从本书受益。
目 录
第1章 引言 1
1.1 为什么使用Python和开源工具 2
1.2 空间数据的类型 3
1.3 地理数据处理 6
1.4 探究数据 8
1.5 小结 12
第2章 Python基础 13
2.1 编写和执行代码 14
2.2 一个脚本的基本结构 15
2.3 变量 16
2.4 数据类型 17
2.4.1 布尔型 18
2.4.2 数值型 18
2.4.3 字符串 19
2.4.4 列表和元组 21
2.4.5 集合 23
2.4.6 字典 24
2.5 控制流 24
2.5.1 if语句 25
2.5.2 while语句 26
2.5.3 for语句 26
2.5.4 break、continue和else 27
2.6 函数 29
2.7 类 30
2.8 小结 31
第3章 读写矢量数据 32
3.1 矢量数据介绍 32
3.2 OGR介绍 38
3.3 读取矢量数据 41
3.3.1 访问特定要素 44
3.3.2 查看数据 46
3.4 获取数据的元数据 48
3.5 矢量数据写入 51
3.5.1 创建新的数据源 55
3.5.2 新建属性字段 57
3.6 更新现有数据 58
3.6.1 改变图层定义 59
3.6.2 要素添加、更新和删除 60
3.7 小结 61
第4章 处理不同的矢量文件 63
4.1 矢量文件格式 63
4.1.1 基于文件的格式如shapefiles和GeoJSON 64
4.1.2 多用户数据库格式如PostGIS 66
4.2 处理更多的数据格式 67
4.2.1 SpatiaLite 67
4.2.2 PostGIS 69
4.2.3 文件夹作为数据源(shapefiles和CSV) 69
4.2.4 Esri文件地理数据库 70
4.2.5 网络要素服务 71
4.3 测试格式能力 79
4.4 小结 81
第5章 使用OGR过滤数据 83
5.1 属性过滤条件 84
5.2 空间过滤条件 87
5.3 使用SQL创建临时图层 91
5.4 充分利用过滤条件 95
5.5 小结 96
第6章 利用OGR处理几何要素 97
6.1 几何对象介绍 98
6.2 处理点集 99
6.2.1 创建和编辑单点 99
6.2.2 创建和编辑多点:多点作为一个几何类型 101
6.3 处理线要素 103
6.3.1 创建和编辑单条线 105
6.3.2 创建和编辑多线:多线作为一个几何类型 109
6.4 处理多边形 112
6.4.1 创建和编辑单多边形 113
6.4.2 创建和编辑multipolygons:复合多边形成为一个几何类型 115
6.4.3 编辑和创建带洞的多边形:甜甜圈 117
6.5 小结 120
第7章 使用GR进行矢量分析 121
7.1 叠加分析工具:什么在什么上面 122
7.2 邻近分析工具:要素之间有多远 128
7.3 实例:风力发电场选址 132
7.4 实例:动物跟踪数据 136
7.5 小结 144
第8章 使用空间参照系统参考系统 145
8.1 空间参考介绍 145
8.2 使用OSR空间参考 150
8.2.1 空间参考对象 150
8.2.2 创建控件参考对象 153
8.2.3 为数据分配SRS 155
8.2.4 几何对象重投影 155
8.2.5 重投影整个图层 159
8.3 使用pyproj空间参考 159
8.3.1 在不同空间参考系统中转换坐标 160
8.3.2 计算大圆距离 162
8.4 小结 163
第9章 读写栅格数据 164
9.1 栅格数据介绍 165
9.2 GDAL介绍 170
9.3 读取部分数据集 176
9.3.1 使用现实世界的坐标 181
9.3.2 数据重采样 185
9.4 字节序列 188
9.5 子数据集 191
9.6 网络地图服务 192
9.7 小结 195
第10章 处理栅格数据 196
10.1 地面控制点 197
10.2 将像素坐标转换为另一图像 200
10.3 颜色表 203
10.4 直方图 205
10.5 属性表 208
10.6 虚拟栅格格式 210
10.6.1 影像裁剪 212
10.6.2 创建问题格式 214
10.6.3 影像重投影 215
10.7 回调函数 216
10.8 异常和错误处理程序 219
10.9 小结 222
第11章 使用NumPy和SciPy做地图运算 223
11.1 NumPy介绍 224
11.2 地图代数 227
11.2.1 局部分析 228
11.2.2 焦点分析 232
11.2.3 区域分析 243
11.2.4 全局分析 247
11.3 数据重采样 252
11.4 小结 259
第12章 地图分类 260
12.1 非监督分类 261
12.2 监督分类 263
12.3 小结 269
第13章 数据可视化 270
13.1 Matplotlib 270
13.1.1 绘制矢量数据 271
13.1.2 绘制栅格数据 282
13.1.3 绘制三维数据 287
13.2 Mapnik 289
13.2.1 绘制矢量数据 290
13.2.2 使用XML存储信息 295
13.2.3 绘制栅格数据 297
13.3 小结 300
附录A 安装 301
附录B 参考文献 308
1.1 为什么使用Python和开源工具 2
1.2 空间数据的类型 3
1.3 地理数据处理 6
1.4 探究数据 8
1.5 小结 12
第2章 Python基础 13
2.1 编写和执行代码 14
2.2 一个脚本的基本结构 15
2.3 变量 16
2.4 数据类型 17
2.4.1 布尔型 18
2.4.2 数值型 18
2.4.3 字符串 19
2.4.4 列表和元组 21
2.4.5 集合 23
2.4.6 字典 24
2.5 控制流 24
2.5.1 if语句 25
2.5.2 while语句 26
2.5.3 for语句 26
2.5.4 break、continue和else 27
2.6 函数 29
2.7 类 30
2.8 小结 31
第3章 读写矢量数据 32
3.1 矢量数据介绍 32
3.2 OGR介绍 38
3.3 读取矢量数据 41
3.3.1 访问特定要素 44
3.3.2 查看数据 46
3.4 获取数据的元数据 48
3.5 矢量数据写入 51
3.5.1 创建新的数据源 55
3.5.2 新建属性字段 57
3.6 更新现有数据 58
3.6.1 改变图层定义 59
3.6.2 要素添加、更新和删除 60
3.7 小结 61
第4章 处理不同的矢量文件 63
4.1 矢量文件格式 63
4.1.1 基于文件的格式如shapefiles和GeoJSON 64
4.1.2 多用户数据库格式如PostGIS 66
4.2 处理更多的数据格式 67
4.2.1 SpatiaLite 67
4.2.2 PostGIS 69
4.2.3 文件夹作为数据源(shapefiles和CSV) 69
4.2.4 Esri文件地理数据库 70
4.2.5 网络要素服务 71
4.3 测试格式能力 79
4.4 小结 81
第5章 使用OGR过滤数据 83
5.1 属性过滤条件 84
5.2 空间过滤条件 87
5.3 使用SQL创建临时图层 91
5.4 充分利用过滤条件 95
5.5 小结 96
第6章 利用OGR处理几何要素 97
6.1 几何对象介绍 98
6.2 处理点集 99
6.2.1 创建和编辑单点 99
6.2.2 创建和编辑多点:多点作为一个几何类型 101
6.3 处理线要素 103
6.3.1 创建和编辑单条线 105
6.3.2 创建和编辑多线:多线作为一个几何类型 109
6.4 处理多边形 112
6.4.1 创建和编辑单多边形 113
6.4.2 创建和编辑multipolygons:复合多边形成为一个几何类型 115
6.4.3 编辑和创建带洞的多边形:甜甜圈 117
6.5 小结 120
第7章 使用GR进行矢量分析 121
7.1 叠加分析工具:什么在什么上面 122
7.2 邻近分析工具:要素之间有多远 128
7.3 实例:风力发电场选址 132
7.4 实例:动物跟踪数据 136
7.5 小结 144
第8章 使用空间参照系统参考系统 145
8.1 空间参考介绍 145
8.2 使用OSR空间参考 150
8.2.1 空间参考对象 150
8.2.2 创建控件参考对象 153
8.2.3 为数据分配SRS 155
8.2.4 几何对象重投影 155
8.2.5 重投影整个图层 159
8.3 使用pyproj空间参考 159
8.3.1 在不同空间参考系统中转换坐标 160
8.3.2 计算大圆距离 162
8.4 小结 163
第9章 读写栅格数据 164
9.1 栅格数据介绍 165
9.2 GDAL介绍 170
9.3 读取部分数据集 176
9.3.1 使用现实世界的坐标 181
9.3.2 数据重采样 185
9.4 字节序列 188
9.5 子数据集 191
9.6 网络地图服务 192
9.7 小结 195
第10章 处理栅格数据 196
10.1 地面控制点 197
10.2 将像素坐标转换为另一图像 200
10.3 颜色表 203
10.4 直方图 205
10.5 属性表 208
10.6 虚拟栅格格式 210
10.6.1 影像裁剪 212
10.6.2 创建问题格式 214
10.6.3 影像重投影 215
10.7 回调函数 216
10.8 异常和错误处理程序 219
10.9 小结 222
第11章 使用NumPy和SciPy做地图运算 223
11.1 NumPy介绍 224
11.2 地图代数 227
11.2.1 局部分析 228
11.2.2 焦点分析 232
11.2.3 区域分析 243
11.2.4 全局分析 247
11.3 数据重采样 252
11.4 小结 259
第12章 地图分类 260
12.1 非监督分类 261
12.2 监督分类 263
12.3 小结 269
第13章 数据可视化 270
13.1 Matplotlib 270
13.1.1 绘制矢量数据 271
13.1.2 绘制栅格数据 282
13.1.3 绘制三维数据 287
13.2 Mapnik 289
13.2.1 绘制矢量数据 290
13.2.2 使用XML存储信息 295
13.2.3 绘制栅格数据 297
13.3 小结 300
附录A 安装 301
附录B 参考文献 308
媒体评论
“本书内含绝妙的学习资源,充分展示了地理空间数据处理的强大能力!”
——Dr. Rizwan Bulbul
巴基斯坦空间技术研究所
“书中的代码示例虽然是用Python编写的,但所涉及的相关概念适用于所有编程语言。这是一本非常棒的书!”
——Karsten Str?b?k
微软西欧咨询服务中心
“对于希望将地图技巧提升到更高水平的GIS 专业人员来说,这本书你值得拥有!”
——Jacqueline Wilson
塞西尔学院
——Dr. Rizwan Bulbul
巴基斯坦空间技术研究所
“书中的代码示例虽然是用Python编写的,但所涉及的相关概念适用于所有编程语言。这是一本非常棒的书!”
——Karsten Str?b?k
微软西欧咨询服务中心
“对于希望将地图技巧提升到更高水平的GIS 专业人员来说,这本书你值得拥有!”
——Jacqueline Wilson
塞西尔学院
评论
还没有评论。