第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
· · · · · · (
收起)