Я пытаюсь интерполировать информацию из 3D-набора данных (долгота, широта, время), используя непосредственно xarray.
Когда я сделал простую интерполяцию только с одной точкой, у меня не было никаких проблем.
lat = [44.25]
lon = [-4.5]
t = datetime.strptime('2000-02-28 01:00:00', '%Y-%m-%d %H:%M:%S')
ds = xr.open_dataset('file.nc')
vx = ds['uo_surface'].interp(longitude=lon, latitude=lat, time=t)
Но теперь я пытаюсь таким же образом интерполировать несколько точек, и результат этой операции, следуя тому же синтаксису, показывает больше результатов, чем я ожидал.
lat = [44.25, 45.25]
lon = [-4.5, -5]
t = datetime.strptime('2000-02-28 01:00:00', '%Y-%m-%d %H:%M:%S')
ds = xr.open_dataset('Currents\oceanTESEO.nc')
vx = ds['uo_surface'].interp(longitude=lon, latitude=lat, time=[t, t])
Результатом является этот массив:
array([[[0.01750018, 0.05349977],
[0.03699994, 0.11299999]],
[[0.01750018, 0.05349977],
[0.03699994, 0.11299999]]])
Однако я ожидаю только 2 значения, по одному для каждой (lon, lat, t) точки.Должен ли я реализовать цикл, чтобы сделать это?Я полагаю, что эта функция уже включена в xarray.Знаете ли вы другой способ для более точного вычисления этого типа точечной интерполяции с использованием четырехмерных datarrays (lon, lat, z, time)?
Заранее спасибо !!!