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



我正在使用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])
)

有什么建议吗?我认为会对离散数据进行某种处理,但还没有找到。。。

我找到了一个解决方案。

删除CCD_ 2避免了插值;简单的";重新采样。

您要做的是最近邻插值,因此可以指定resampling = Resampling.nearest。这是默认的重采样算法,因此不指定任何重采样算法等同于此。您可以在此处找到所有可用的重采样算法。

最新更新