Python Geospatial Development (基于Python的地理空间开发)
Python Geospatial Development (基于Python的地理空间开发)
简介:
引言
《Python Geospatial Development》(第三版,2016年)由Erik Westra撰写,是用Python创建地理空间应用程序最全面的实践指南之一。在这个地理定位数据无处不在的时代——从导航服务到气候变化分析——处理地理数据的能力已成为开发人员的关键技能。Westra以其在Python和地理信息学方面的著作而闻名,他为读者提供的不仅仅是一套方法,而是一套完整的方法论:从地理空间概念的基础到完整Web应用程序的部署。本书由Packt Publishing出版,共450页,面向Python 3.x。
本书内容
《Python Geospatial Development》涵盖了地理数据处理的全生命周期:收集、处理、分析和可视化。作者循序渐进地向读者介绍生态系统中的关键库:Shapely(几何操作)、Fiona(矢量格式读写)、PyProj(投影处理)、GDAL/OGR(栅格和矢量数据处理)、PostGIS(PostgreSQL的空间扩展)和Mapnik(地图创建)。特别关注实际项目:使用TileStache和Leaflet构建交互式地图、从OpenStreetMap导入数据、地址地理编码、空间关系分析(缓冲区、相交、聚类)。
本书结构
本书共10章,每章末尾都有实践练习。前几章奠定理论基础:坐标系、数据格式(Shapefile、GeoJSON、KML、PostGIS)。随后作者转向编程:使用Fiona读写地理数据、Shapely中的几何操作、通过GDAL处理栅格图像。书中部分内容致力于创建地图服务器和Web界面。最后几章演示如何将所有组件整合到一个用于人口密度分析和最近对象查找的应用程序中。
本书适合谁
本书面向中级Python开发人员,他们已熟悉语言基础(函数、类、文件操作)并希望掌握地理空间专业知识。它将有助于:
- 希望在其项目中添加地图和地理功能的Web开发人员;
- 处理空间数据集(例如人口普查数据、物流)的数据分析师;
- 地理信息学领域的学生和研究人员;
- 需要软件工具进行分析的城市规划、生态学、交通领域的专家。
重要提示:本书不从头教授Python——假设读者已经会编写脚本并通过pip安装包。
读者将学到什么
阅读并完成练习后,读者将能够:
- 理解基本的地理空间概念:坐标系(WGS84、UTM)、基准面、投影、数据格式(矢量和栅格)。
- 安装和配置完整的GIS工具栈:GDAL、PostGIS、Mapnik、TileStache。
- 读取和转换来自Shapefile、GeoJSON、KML、带坐标的CSV的地理数据。
- 执行空间查询:在多边形内查找点、计算距离、构建缓冲区、几何相交。
- 处理栅格数据:加载卫星图像、提取像素值、重投影。
- 使用Leaflet和TileStache创建Web地图,配置图层样式,添加弹出提示。
- 基于PostGIS和Python后端部署地理信息系统