微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 rasterio 重新采样栅格 - 网格间距的简单修改

我正在使用 Python 的 Rasterio 重新采样栅格数据。查看 Rasterio.enums.resampling 类,似乎唯一的方法是在相邻的栅格网格之间进行插值,基本上是平滑数据。

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

我的重采样脚本如下——目前使用双线性方法

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 可避免插值并执行“简单”重采样。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。