3. 使用Rasterio处理栅格数据

Python 中有 GDAL ( Geospatial Data Abstraction Library) 绑定用于访问GIS字段中使用的许多不同类型的栅格数据文件。 这个绑定扩展了 Python,但很少为 GDAL 的 C 语言 API提供抽象。 这意味着使用它们的 Python 程序趋向于像C程序一样读取和运行。 例如,GDAL 的 Python 绑定要求用户注意空的C指针,因为可能导致程序崩溃。 这是不好的:在其他考虑因素中,我们选择了 Python 而不是 C 来避免指针问题。

RasterIO 的目标是成为这种栅格数据库——使用更少的非惯用扩展类和更多的惯用 Python 类型和协议表达 GDAL 的数据模型, 同时执行速度保持与 GDAL 的 Python 绑定一样快。

RasterIO 的目的是提供给用户高性能、低认知负荷、更清晰、更透明的代码。