Обмен широтой и долготой в xarray - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть файл 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

enter image description here

Так как положение широты и долготы поменяно местами, анализ немного сложен безизменение кода в несколько этапов.

Кто-нибудь сталкивался с такой проблемой и знает, как решить эту проблему на ранних этапах использования xarray?

1 Ответ

2 голосов
/ 27 сентября 2019

Используйте функцию ds.transpose().

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

...