Я хочу перерисовать куб данных с измерениями (t, y, x)
, где t равно 1d, а x/y
- это 2d, в другой куб, используя t_new/y_new/x_new
all 1d.
Проблема заключается в определении DataArray
с 2d координатами должны быть определены как логические (x
и y
), так и физические (xc
и yc
) координаты.Затем, при применении DataArray.interp(x=x_new, y=y_new)
, x_new/y_new
обрабатываются как логические координаты, а не физические координаты!
Поэтому мой вопрос: как мне переопределить / интерполировать это DataArray
(определено ниже), используя 1d физические координаты, который должен работать на 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
обрабатываетсяправильно как физическая координата ... Я подозреваю, потому что он был определен как массив 1d.
В сумме x_new
и y_new
должны отображаться на xc
и yc
при использовании DataArray.interp(x=x_new, y=y_new)
... Если эта интерполяция должна обрабатываться по-другому, я не видел нигде упомянутого!