使用 rasterio 对栅格进行重采样 - 网格间距的简单修改

Resampling a raster using rasterio - simple modification of grid spacing

我正在使用 Python 的栅格对栅格数据进行重采样。查看 rasterio.enums.Resampling class,似乎唯一的方法是在相邻的栅格网格之间进行插值,从根本上平滑数据。

有没有什么方法可以进行简单的上采样,有效地将一个栅格网格划分为多个栅格并保留所有子栅格的原始值?

我的重采样脚本如下-目前使用的是双线性法:

with rasterio.open(str(rasterpath+filename), crs="EPSG:4326") as src:
    data = src.read(
        out_shape=(
            src.count,
            int(src.height * upscale_factor),
            int(src.width * upscale_factor)
        ),
        resampling=Resampling.bilinear)

# scale image transform
    transform = src.transform * src.transform.scale(
        (src.width / data.shape[-1]),
        (src.height / data.shape[-2])
    )

有什么建议吗?我认为会内置对离散数据的某种处理,但尚未找到...

我找到了解决方案。

删除 resampling=Resampling.bilinear 避免插值并执行“简单”重采样。