У меня есть данные об осадках как xarray DataSet
с именем ds
трех измерений longitude
, latitude
и time
:
<xarray.Dataset>
Dimensions: (latitude: 691, longitude: 886, time: 1)
Coordinates:
* longitude (longitude) float64 112.0 112.0 112.1 112.1 ... 156.2 156.2 156.3
* latitude (latitude) float64 -9.975 -10.03 -10.08 ... -44.42 -44.47 -44.52
* time (time) datetime64[ns] 1980-01-03
Data variables:
RAIN (time, latitude, longitude) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0
Я хотел бы интерполировать значения осадков подругие наборы долгот и широт: EXAMPLE_FFDI_LON_XR_DA
и EXAMPLE_FFDI_LAT_XR_DA
. Они имеют совершенно разные значения, чем долготы и широты ds
.
EXAMPLE_FFDI_LON_XR_DA:
<xarray.DataArray 'longitude' (longitude: 193)>
array([140.8 , 140.84792, ... ...], dtype=float32)
Coordinates:
* longitude (longitude) float32 140.8 140.84792 140.89584 ... 149.95209 150.0
Attributes:
latIntersect: 0.0
lonCentre: 145.4
units: degrees_east
projectionType: MERCATOR
_CoordinateAxisType: Lon
EXAMPLE_FFDI_LAT_XR_DA:
<xarray.DataArray 'latitude' (latitude: 106)>
array([-39.2 , -39.149525, ... ...], dtype=float32)
Coordinates:
* latitude (latitude) float32 -39.2 -39.149525 -39.09905 ... -33.950478 -33.9
Attributes:
latIntersect: 0.0
lonCentre: 145.4
units: degrees_north
projectionType: MERCATOR
_CoordinateAxisType: Lat
Я думал об использовании xarray xarray.DataArray.interp
функция, но она поддерживает только метод nearest
. Я новичок в scipy, но подумал, что это лучше подходит для моей необходимости интерполировать с помощью функции библиотеки scipy scipy.interpolate.griddata
. Как я могу использовать эту функцию с моими данными? Был бы полезен рабочий пример.