Xarray:如何将 x 和 y 维度更改为纬度和经度坐标?

问题描述 投票:0回答:0

我对 Xarray 有点陌生,我有一个包含这些信息的 DataArray

xarray.DataArray 'temp' (x: 720, y:1440)
time () datetime64[ns] 2018-01-01T12:00:00
x   (x)          int64 719 718 717 716 715 ... 4 3 2 1 0
y   (y)          int64 0 1 2 3 4 ... 1436 1437 1438 1439

是大小为1440×720的预测数据

我知道'y'坐标没有意义,应该是一个(x),'x'坐标应该是'y'所以我可以很容易地从

'y': 'longitude','x': 'latitude'
重命名它。

问题是,我希望“y”经度值范围为 -180 度到 180 度坐标,“x”纬度值范围为 -90 到 90 度坐标,而不是当前范围。

到目前为止我尝试了什么

我目前尝试将 x 和 y 值除以 4,使“x”从 0 到 180,“y”从 0 到 360,然后执行以下代码:

DS.coords['longitude'] = (DS.coords['longitude']+ 180) % 360-180
但是这会在绘图时移动地图,我不这样做”不认为这是正确的方法。

我在安装 xesmf 时遇到了一些问题,但如果这是修复它的唯一方法,我可以继续尝试修复它。我认为解决这个问题的方法是重新网格化 x 和 y 值,但我不确定该怎么做。

任何帮助将不胜感激。

谢谢

python gis python-xarray
© www.soinside.com 2019 - 2024. All rights reserved.