首页 > 解决方案 > 在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

标签: coordinatespython-xarray

解决方案


使用该ds.transpose()功能。

data.transpose('time', 'latitude', 'longitude')


推荐阅读