基本信息
书名:Python地理空间分析指南(第2版)
定价:79.00元
作者:Joel Lawhead 莱哈德
出版社:人民邮电出版社
出版日期:2017-04-01
ISBN:9787115448217
字数:
页码:
版次:1
装帧:平装-胶订
开本:16开
商品重量:0.4kg
编辑推荐
用非常流行的Python语言做地理空间分析;学习高效、易学的地理空间分析指南;书中含有典型且非常实用的开发案例,帮助读者快速掌握相关技能;图文结合,将学习效率大大提高。
内容提要
Python作为一种高级程序设计语言,凭借其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言之一。本书以地理空间分析为背景,介绍了Python在地理信息处理方面的应用技巧。全书共分为10章,分别介绍了Python与地理空间分析、地理空间数据、地理空间技术、Python的地理空间分析工具、Python与地理信息系统、Python与遥感、Python与高程数据、Python与地理空间高级建模、实时数据、综合应用等内容。本书内容结构清晰,示例完整,适合希望了解测绘数字化和分析的读者,也适合想使用Python进行空间地理分析、建模和GIS分析的开发人员及研究人员参考阅读。
目录
章 Python与地理空间分析1
1.1 地理空间分析与我们的生活 1
1.2 地理空间分析的历史 3
1.3 地理信息系统 6
1.4 遥感 7
1.5 高程数据 12
1.6 计算机辅助制图 13
1.7 地理空间分析和计算机编程 14
1.8 地理空间分析的重要性 15
1.9 地理信息系统基本概念 16
1.9.1 专题地图 16
1.9.2 空间数据库 17
1.9.3 空间索引 17
1.9.4 元数据 17
1.9.5 地图投影 18
1.9.6 渲染 19
1.9.7 影像数据 20
1.9.8 遥感和颜色 20
1.10 GIS中矢量数据的基本概念 21
1.10.1 数据结构 21
1.10.2 缓冲区 22
1.10.3 融合 22
1.10.4 简化 23
1.10.5 叠置 24
1.10.6 合并 24
1.10.7 点包容性 25
1.10.8 联合 25
1.10.9 连接 26
1.10.10 地理空间中的多边形
规则 26
1.11 栅格数据的基本概念 27
1.11.1 波段运算 27
1.11.2 变化监测 27
1.11.3 柱状图 28
1.11.4 特征提取 28
1.11.5 监督分类 29
1.11.6 非监督分类 29
1.12 牛刀小试 29
1.12.1 Python简介 30
1.12.2 构建SimpleGIS 31
1.13 小结 38
第2章 地理空间数据 39
2.1 数据格式概览 39
2.2 数据结构 41
2.3 空间索引 42
2.3.1 索引算法 43
2.3.2 网格 44
2.4 概要化 45
2.5 元数据 46
2.6 文件结构 46
2.7 矢量数据 48
2.7.1 Shapefile文件 48
2.7.2 CAD文件 51
2.7.3 标签和标记格式 51
2.7.4 GeoJSON 53
2.8 影像数据 54
2.8.1 TIFF文件 55
2.8.2 JPEG、GIF、BMP和
PNG文件 56
2.8.3 压缩格式 56
2.8.4 ASCII网格 56
2.8.5 全球文件 57
2.9 点云数据 59
2.10 Web服务 61
2.11 小结 62
第3章 地理空间技术概览 63
3.1 数据访问 65
3.1.1 GDAL 65
3.1.2 OGR 67
3.2 计算几何 68
3.2.1 PROJ.4投影库 68
3.2.2 CGAL 69
3.2.3 JTS 71
3.2.4 GEOS 72
3.2.5 PostGIS 73
3.2.6 其他支持空间分析的
数据库 76
3.2.7 SpatiaLite 80
3.2.8 路径分析 80
3.3 桌面工具(包括可视化) 82
3.3.1 Quantum GIS 82
3.3.2 OpenEV 83
3.3.3 GRASS GIS 84
3.3.4 uDig 85
3.3.5 gvSIG 86
3.3.6 OpenJUMP 87
3.3.7 谷歌地球 87
3.3.8 NASA World Wind 89
3.3.9 ArcGIS 91
3.4 元数据管理 92
3.4.1 GeoNetwork 92
3.4.2 CatMDEdit 92
3.5 小结 93
第4章 Python的地理空间分析工具 95
4.1 安装Python的第三方模块 96
4.2 Python的网络库 100
4.2.1 Python的urllib模块 101
4.2.2 FTP 103
4.2.3 ZIP和TAR文件 104
4.3 Python的标记、标签解析器 107
4.3.1 minidom模块 107
4.3.2 元素树 109
4.3.3 WKT文本 115
4.4 Python的JSON库 117
4.4.1 json模块 118
4.4.2 geojson模块 119
4.5 OGR 119
4.6 PyShp 120
4.7 dbfpy3 121
4.8 Shapely 122
4.9 Fiona 123
4.10 GDAL 125
4.11 NumPy 125
4.12 PIL 127
4.13 PNGCanvas 129
4.14 GeoPandas 130
4.15 PyMySQL 132
4.16 PyFPDF 133
4.17 Spectral Python 134
4.18 小结 134
第5章 Python与地理信息系统 135
5.1 距离测量 135
5.1.1 勾股定理 138
5.1.2 半正矢公式 140
5.1.3 Vincenty公式 141
5.2 方位计算 144
5.3 坐标转换 144
5.4 重投影 146
5.5 Shapefile文件编辑 148
5.5.1 Shapefile文件访问 150
5.5.2 Shapefile文件属性读取 151
5.5.3 Shapefile文件几何
图形读取 154
5.5.4 Shapefile文件修改 155
5.5.5 Shapefile文件合并 157
5.5.6 Shapefile文件分割 160
5.6 查询优化 161
5.6.1 点包容性公式 161
5.6.2 边框查询 163
5.7 空间信息可视化 166
5.7.1 点密度计算 166
5.7.2 等值区域图 169
5.8 使用电子表格 171
5.9 使用GPS数据 173
5.10 地理化编码 174
5.11 小结 176
第6章 Python与遥感 177
6.1 图像波段变换 178
6.2 创建直方图 180
6.3 图像剪裁 187
6.4 图像分类 191
6.5 图像特征提取 195
6.6 变化监测 200
6.7 小结 205
第7章 Python与高程数据 206
7.1 ASCII网格文件 206
7.1.1 读取grids 207
7.1.2 写入grids 208
7.2 创建地形阴影 210
7.3 创建等高线 215
7.4 使用LIDAR 219
7.4.1 使用LIDAR创建网格 220
7.4.2 使用PIL让LIDAR支
持可视化 226
7.4.3 创建不规则三角
网络(TIN) 230
7.5 小结 234
第8章 Python与地理空间高级建模 235
8.1 归一化植被指数(NDVI)应用 235
8.1.1 建立框架 237
8.1.2 载入数据 239
8.1.3 栅格化Shapefile文件 239
8.1.4 波段剪裁 241
8.1.5 使用NDVI公式 241
8.1.6 NDVI分类 243
8.2 创建洪水淹没模型 246
8.2.1 洪水填充功能 248
8.2.2 创建洪水 250
8.3 创建彩色晕渲地形 253
8.4 佳路径分析 255
8.4.1 建立测试网格 256
8.4.2 A*算法简介 257
8.4.3 生成测试路径 258
8.4.4 查看测试结果 259
8.4.5 实际应用 260
8.5 街道路网规划 267
8.6 照片地理定位 271
8.7 小结 273
第9章 实时数据 274
9.1 实时路况监测 275
9.1.1 NextBus代理列表 276
9.1.2 NextBus路径列表 277
9.1.3 NextBus设备地址 277
9.1.4 NextBus地址映射 279
9.2 气象跟踪 283
9.3 区域报告 291
9.4 小结 292
0章 综合应用 294
10.1 GPS报告示例 294
10.2 使用GPX-Reporter.py 295
10.3 程序概要 296
10.4 初始化 297
10.5 功能函数调用 298
10.6 解析GPX 302
10.7 获取边框 303
10.8 下载地图和高程影像 304
10.9 创建地形 306
10.10 创建地图 307
10.11 高程测量 310
10.12 距离测量 311
10.13 获取气象数据 313
10.14 小结 317
作者介绍
Joel Lawhead 目前是NVision公司的CIO,该公司是业内屡获殊荣的地理信息集成和传感工程服务提供商。他还获得了管理专业人员资格认证(Project Management Professional,PMP),地理信息专业资格认证(certified GIS Professional ,GISP)。Joel于1997年开始使用Python,从2000年开始使用它进行地理空间软件的开发,也是Learning Geospatial Analysis with Python(版)和QGIS Python Programming Cookbook的作者,并且这两本书都是Packt出版的。他撰写的Python Cookbook系列图书由O'Reilly Media出版,其不同版本更是各具特色。除此之外,他还是广受赞誉的开源软件PyShp(Python Shapefile Library)的主要开发人员。他的技术是geospatialpython./,Twitter昵称是@SpatialPython,通过上述方式,用户可以和他讨论地理空间分析中与Python编程相关的话题。2011年,Joel通过逆向工程处理了Shapefile文件的空间索引格式,帮助地理空间Python工程师Marc Pfister实现了上述索引算法,这一做法有利于世界各地的开发者开发出更易于集成、更健壮的地理空间应用。Joel作为架构师、项目经理和地理空间应用合作开发者,多次为美国机构提供服务,其中包括NASA、FEMA、NOAA、美国海军,以及其他商业和非营利性机构。2002年,由于其领导开发的实时应急响应协作工具(the Real-Time Emergency Action Coordination Tool,REACT)表现杰出,他获得了Esri公司颁发的国际GIS特别成就奖。该软件的主要用途是使用地理空间分析技术进行应急管理。
文摘
序言
说实话,这本书的阅读体验非常流畅,完全没有传统技术书籍那种枯燥的公式堆砌感。作者的叙事方式非常生活化,仿佛他正坐在你旁边,手把手教你解决实际问题。我记得有一次我正在为一个城市规划项目处理大量历史影像数据,那些数据格式混乱不堪,我几乎想放弃了。正当我焦头烂额时,书中关于栅格数据处理的一小节,提供了那种优雅的、Pythonic的解决方案,让我茅塞顿开。它不仅仅是罗列了`rasterio`或`gdal`的函数,而是巧妙地将数据预处理、清洗、分析和可视化这几个环节无缝衔接起来。这种结构设计,充分体现了作者对地理信息系统(GIS)工作流程的深刻理解。读完后,我感觉自己不再是孤立地调用某个库的功能,而是真正掌握了一套从原始数据到决策支持的完整分析流程。这本书,更像是一份详尽的实战手册,而不是冷冰冰的理论教材。
评分对于那些已经对基础GIS操作有一定了解的进阶用户来说,这本书的价值更是体现在其对高级算法和性能优化的探讨上。很多入门书籍会回避那些计算密集型任务,但这本书大胆地深入了并行计算和GPU加速在地理空间分析中的应用。我个人非常欣赏作者对性能瓶颈的洞察力,以及他提供的那些富有创意的优化思路。比如,书中关于大规模点云数据处理的那部分,讲解了如何利用`Dask`或更底层的NumPy优化技巧来避免内存溢出,这一点在处理TB级别的数据集时是至关重要的救命稻草。它不会让你停留在用简单的循环去遍历数据,而是引导你思考如何用向量化操作来榨干硬件的每一分性能。读完这部分,我不仅解决了手头的问题,还顺带提升了自己对整个Python科学计算生态的理解,可以说是一次知识的飞跃。
评分如果用一个词来形容这本书给我的感受,那一定是“全面覆盖”。它没有放过任何一个地理空间分析中的关键技术点,从基础的数据结构到复杂的机器学习在地理领域的应用,都有所涉及。我尤其欣赏它对非传统地理数据类型的包容性,比如物联网(IoT)传感器数据流、社交媒体的地理标签信息等,这些都是传统GIS教材中很少深入探讨的前沿领域。作者展现了一种非常现代的GIS视野,认识到地理空间分析早已超越了传统的地图制作范畴。对于希望将地理信息技术应用于数据科学、人工智能或城市大数据分析的专业人士而言,这本书提供了一个坚实的、跨学科的知识基石。它不是提供一套死板的流程,而是提供了一套可以适应未来各种新技术挑战的分析思维框架。
评分这本Python地理空间分析巨著,光是翻开封面就让人感受到一种沉甸甸的专业气息。初次接触地理空间数据分析的朋友可能会觉得信息量有点大,但别担心,它像一位经验丰富的向导,尽管道路崎岖,却总能为你指明正确的方向。我印象最深的是它对不同数据源整合的讲解,市面上很多书往往只关注单一的库,但这本书的视角要开阔得多,它会告诉你如何把那些看似毫不相关的点、线、面数据,用Python的强大工具串联起来,形成一个有机的整体。特别是关于投影系统和坐标变换的那几个章节,讲解得极其细致入微,那种处理复杂几何运算时的严谨态度,是很多速成教程里学不到的。它不是那种只教你敲代码的工具手册,而是更偏向于让你理解“为什么”要这么做,背后的地理学原理是什么,这才是区分“会用”和“精通”的关键所在。每一次遇到棘手的空间拓扑问题,翻开这本书,总能找到对应的解决方案和背后的逻辑支撑,极大地提升了我的分析深度。
评分这本书的配套资源和代码示例设计得极其用心,这点我必须点赞。很多技术书籍的例子都是静态的、脱离实际的“玩具代码”,但这本书中的案例紧密围绕着现实世界中的地理问题,比如交通网络分析、环境污染扩散模拟、或者大规模POI数据挖掘。我下载了随书的代码库后发现,每一个脚本都写得非常规范,注释详尽,而且可以直接运行,这极大地降低了初学者上手的门槛。更重要的是,作者在展示代码的同时,还会附带深入的理论背景介绍,解释为什么选择这种算法而非其他,这培养了读者批判性思考的能力。它教会我的不仅是“如何写代码”,更是“在具体场景下,该选择哪种工具和算法”,这种对工程实践的尊重,使得这本书的指导价值远超一般学术著作。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有