【发布时间】:2023-01-07 00:37:30
【问题描述】:
我有一个 xarray 数据集,它将充当不同数据集的掩码。我想从掩码中的任何 nan 值创建一个缓冲区(具有可配置的距离)。我还没有看到任何在内部添加缓冲区的东西,而不是用填充值扩展数组大小。下面是一些可重现的代码来说明我的意思(我使用的数据集有 10,000 个 x/y 坐标):
import numpy as np
import xarray as xr
data = [[ 0., 1., 2., 3., nan],
[ 0., 6., 4., nan, nan],
[ 4., 3., 6., 4., nan],
[ 1., 0., 3., 4., nan]]
y = [0, 1, 2, 3]
x = [0, 1, 2, 3, 4]
test = xr.Dataset({'band': xr.DataArray(data, coords=[y, x], dims=['y', 'x'])})
我想创建一个数据集,如果我提供的距离为 1,则上面的内容将如下所示:
[[ 0., 1., 2., nan., nan],
[ 0., 6., nan., nan, nan],
[ 4., 3., 6., nan., nan],
[ 1., 0., 3., nan., nan]])
理想情况下,可以设置可配置的缓冲距离。我试图通过对图像进行下采样然后对下采样图像进行上采样来做到这一点,但它非常缓慢并且很难正常工作所以我想看看我是否错过了更好的选择。
【问题讨论】:
标签: python python-xarray resampling