在xarray中交换纬度和经度位置
Swapping latitude and longitude position in xarray
我有一个交换了纬度和经度位置的 NetCDF 文件。
我通常使用的Netcdf的标准方式定义如下:
<xarray.DataArray 'pev' (time: 365, latitude: 480, longitude: 1440)>
Coordinates:
* time (time) datetime64[ns] 2001-01-01T11:30:00 ... 2001-12-31T11:30:00
* longitude (longitude) float32 0.0 0.25 0.5 0.75 ... 359.25 359.5 359.75
* latitude (latitude) float32 59.75 59.5 59.25 59.0 ... -59.5 -59.75 -60.0
但是我处理的NetCDF的规格如下:
<xarray.DataArray 'ETa' (time: 12, longitude: 720, latitude: 360)>
Coordinates:
* latitude (latitude) float64 89.75 89.25 88.75 ... -88.75 -89.25 -89.75
* longitude (longitude) float64 -179.8 -179.2 -178.8 ... 178.8 179.2 179.8
Dimensions without coordinates: time
由于经纬度的位置调换了,如果不修改代码,分几步分析起来有点困难。
有没有人遇到过这样的问题并且知道如何在使用 xarray
的早期解决这个问题?
使用ds.transpose()
函数。
data.transpose('time', 'latitude', 'longitude')
我有一个交换了纬度和经度位置的 NetCDF 文件。
我通常使用的Netcdf的标准方式定义如下:
<xarray.DataArray 'pev' (time: 365, latitude: 480, longitude: 1440)>
Coordinates:
* time (time) datetime64[ns] 2001-01-01T11:30:00 ... 2001-12-31T11:30:00
* longitude (longitude) float32 0.0 0.25 0.5 0.75 ... 359.25 359.5 359.75
* latitude (latitude) float32 59.75 59.5 59.25 59.0 ... -59.5 -59.75 -60.0
但是我处理的NetCDF的规格如下:
<xarray.DataArray 'ETa' (time: 12, longitude: 720, latitude: 360)>
Coordinates:
* latitude (latitude) float64 89.75 89.25 88.75 ... -88.75 -89.25 -89.75
* longitude (longitude) float64 -179.8 -179.2 -178.8 ... 178.8 179.2 179.8
Dimensions without coordinates: time
由于经纬度的位置调换了,如果不修改代码,分几步分析起来有点困难。
有没有人遇到过这样的问题并且知道如何在使用 xarray
的早期解决这个问题?
使用ds.transpose()
函数。
data.transpose('time', 'latitude', 'longitude')