给定一个随机的栅格tif文件,我想使用Python/rasterio将所有值为0的单元格设置为“无数据”。我似乎找不到有关这个简单操作的文档。
import rasterio
src = rasterio.open('some_grid.tif')
...........
使用R语言的raster软件包,我比较熟练,我会像这样执行该操作:
library(raster)
rast <- raster('some_grid.tif')
rast[rast == 0] <- NA
在Python中,类似的语法是先将tif文件读入numpy数组。array==0会生成一个布尔数组,然后可以将其用作索引掩码来设置所需值为NAN。
import rasterio
import numpy as np
with rasterio.open('some_grid.tif') as src:
array = src.read(1)
array[array==0] = np.nan
ValueError: cannot convert float NaN to integer
。 - dhiraj