第 9 章 探索地理空间数据抽象库(GDAL 探索地理空间数据抽象库(GDAL)
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
如果不介绍地理空间数据抽象库(Geospatial Data Abstraction Library,简称 GDAL),就无法完整地讨论开源平台和库,GDAL 是高效处理光栅和矢量地理空间数据的资源。处理栅格和矢量数据需要一系列工具,而 GDAL 是在本书中使用过的许多程序(包括 ArcGIS、QGIS 和 Google Earth)的引擎盖下运行的。当依赖于图形用户界面的编程简便性时,往往容易忘记将不同的数据类型和格式结合起来,以便有效地使用统一的数据模型的复杂性。这就是 GDAL 成为重要工具的原因。它简化了各种格式和空间参考系统的地理空间数据的处理工作。
在本章中,我们将使用光栅,并了解如何使用 Spyder IDE 来使用 GDAL,包括如何使用warp 函数更改地图投影、使用光栅带、转换文件和创建二进制掩码。我们还将快速介绍其他三个有用的数据集资源,以便使用 GDAL 进行探索:EarthExplorer、Copernicus Open Access Hub 和 Google Earth Engine (GEE)。
首先,我将向您展示如何使用命令行界面(也称为终端)来快速读取、转换和重新投影地理空间数据。 为什么使用命令行?如果您要处理多个需要相同功能的文件,您就不必在 QGIS 或 ArcGIS 中工作时手动逐个查看,试图回忆必要的步骤和流程。使用命令行,您可以将一行简单的代码保存为脚本,用来处理各种文件和数据集。这些脚本也可以在 QGIS 中运行,本章稍后会介绍。在命令行中工作时,我建议在 QGIS 中查看结果,或者当你熟悉了在终端中工作后,可以参考 Spyder IDE 部分。
其次,我将向您展示如何使用集成开发环境 (IDE) 来使用 GDAL,这是一种整合编程和应用程序开发的工具。 许多 Python 入门课程都是在集成开发环境中讲授的,因此如果您有一些 Python 编程背景,您可能至少熟悉一个集成开发环境。Python 的集成开发环境有很多,但在本章中我们将使用一个名为 Spyder 的集成开发环境。像 Spyder 这样的集成开发环境可以简化代码的处理和编写,这要归功于它的一些特性,比如实时代码自省(可以让你直接看到函数和类是如何执行的以及它们包含哪些信息)、使用 matplotlib 显示的内联图形,以及我最喜欢的变量资源管理器,它提供了对代码中的对象进行编辑和可视化的内置支持。 无论使用何种操作系统,集成开发环境的外观都是一样的,这在终端用户访问不同的工作流程和资源时非常方便。
设置 GDAL
历史上,该库被称为GDAL/OGR,其中 GDAL 是光栅方面的库,OpenGIS Simple Features Reference Implementation (OGR) 是矢量方面的库。现在,合并后的库通常被称为GDAL。我知道有很多数据科学家几乎只在命令行下工作,因此我想快速演示一下如何实现这一点。对我来说,在命令行下工作更容易熟悉调用 GDAL 中函数的语法。 GDAL 中的类和函数与您在 Python 中熟悉的类和函数有些不同,不过当您使用 Python API 时,这些语法还是很熟悉的。 GDAL 维护 Python 的绑定,但这与您迄今为止使用 Python 库的方式有所不同。即使绑定了 Python,您也需要知道如何调用 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access