我想用维度(t, y, x)
重新生成一个数据立方体,其中t是1d,x/y
是2d,使用t_new/y_new/x_new
all 1d将其重新生成到另一个立方体上
问题是当用2d坐标定义DataArray
时,必须同时定义逻辑(x
和y
)和物理(xc
和yc
)坐标。然后,在应用DataArray.interp(x=x_new, y=y_new)
时,x_new/y_new
被视为逻辑坐标而不是物理坐标!你知道吗
所以我的问题是:如何使用1d物理坐标重新生成/插值这个DataArray
(定义如下),它应该在xc/yc
(2d)上操作,而不是在x/y
上操作?你知道吗
这就是我要做的:
import xarray as xr
da = xr.DataArray(cube, dims=['t', 'y', 'x'],
coords={'t': time,
'xc': (['y', 'x'], X),
'yc': (['y', 'x'], Y)})
da_interp = da.interp(x=x_new, y=y_new).interp(t=t_new)
请注意,t_new
坐标被正确地视为物理坐标。。。我怀疑是因为它被定义为一维数组。你知道吗
总之,当使用DataArray.interp(x=x_new, y=y_new)
时,x_new
和y_new
应该映射到xc
和yc
。。。如果这个插值应该以不同的方式处理,我还没有看到任何地方提到过!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐