rasterio
是一个很多模块是基于GDAL
的 Python 包,可用于处理地理空间栅格数据,例如 GeoTIFF 文件。xarray
是一个为数组提供标签,例如尺寸、坐标和其他特定属性的 Python 包,它使大维数组的工作更加直观。rioxarray
结合了rasterio
的功能和xarray
的所有优点。
1. Rasterio与Rioxarray安装
首先安装 Rasterio 模块,(本人使用 conda
安装时遇到过报错 ImportError: cannot import name 'CRS' from 'pyproj' (unknown location)
,是由于 pyproj
模块安装不全,因此建议采用后面的离线安装方式或者之后遇到问题时删除 pyproj
模块后再离线安装该模块):
1 | conda install gdal |
如果安装失败可以采用离线安装的方式,Rasterio 依赖很多第三方库,所以比较麻烦,按下面的顺序依次安装即可,可以尝试使用 pip
安装或者下载 .whl
文件离线安装(注意对上 Python 版本):
1 | pyproj |
各个模块的链接:Pyproj、Shapely、GDAL、Fiona、Rasterio。
离线安装指令:
1 | pip install E:\GDAL-1.2.10-cp310-cp310-win_amd64.whl |
在 Python 中使用 Anaconda 安装 rioxarray
包时,首先需要安装 GDAL
和 rasterio
,然后再安装 rioxarray
:
1 | pip install rioxarray |
2. 使用教程
(1)使用 Rioxarray 读取并展示图像:
1 | import rasterio |
也可以用另一种形式展示(注意如果使用 Rasterio 读取图像则无法使用该方式展示图像):
1 | plt.figure(dpi=300, figsize=(15, 5)) |
(2)使用 Rasterio 读取图像:
1 | img = rasterio.open(img_path).read() |
(3)转换为 Tensor 类型:
1 | import torch |
(4)将 TIFF 图像逐像素提取出数据构建 CSV 文件:
1 | import os |