将栅格像元设置为零或在Rasterio中没有数据

时间:2019-06-03 09:10:04

标签: python rasterio

给出一个随机的栅格tif文件,我想使用Python / rasterio将所有值为0的像元设置为“无数据”。我似乎找不到有关此简单操作的文档。

import rasterio

src = rasterio.open('some_grid.tif')
...........

使用R的栅格软件包,我会更加熟练,我将像这样执行此操作:

library(raster)

rast <- raster('some_grid.tif')
rast[rast == 0] <- NA

1 个答案:

答案 0 :(得分:2)

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