определить координаты, предназначенные для работы с определенными переменными в xarray - PullRequest
0 голосов
/ 11 февраля 2020

Я работаю с набором лидарных данных GEDI как xarray.Dataset, где не все coords связаны с переменными. В этом примере у меня есть некоторые переменные, которые должны быть связаны с координатами ("x", "y", "time"), а некоторые переменные должны быть связаны с ("x", "y", "time", "z").

Но очищенный набор данных имеет только ("y") или ("y", "z"), связанный с каждой переменной, и я не уверен, как назначить другие координаты "x" и "time" другим переменным. Я мог бы создать новый набор данных, но мне интересно, есть ли конкретный метод для этого.

Я пробовал expand_dims, который связывает все переменные со всеми координатами, но это не совсем то, что я хочу (он создает dims с размером 0 и завершается ошибкой, если координаты уже добавлены). Я также пытался dataset.swap_dims({"y":("y", "x")}), но это не с KeyError: ('y', 'x').

Мой набор данных напечатан ниже, приветствуются любые советы.

<xarray.Dataset>
Dimensions:                 (time: 475621, x: 475621, y: 475621, z: 30)
Coordinates:
  * z                       (z) float64 0.0 5.0 10.0 15.0 ... 135.0 140.0 145.0
  * y                       (y) float64 -16.24 -16.24 -16.24 ... -52.06 -52.06
  * x                       (x) float64 -102.6 -102.6 -102.6 ... 161.7 161.7
  * time                    (time) datetime64[ns] 2019-06-12T14:11:24.600074800 ... 2019-06-12T15:26:19.994699152
Data variables:
    algorithmrun_flag       (y) uint8 ...
    beam                    (y) uint16 ...
    channel                 (y) uint8 ...
    cover                   (y) float32 ...
    cover_z                 (y, z) float32 ...
    delta_time              (y) datetime64[ns] ...
    fhd_normal              (y) float32 ...
    l2a_quality_flag        (y) uint8 ...
    l2b_quality_flag        (y) uint8 ...
    master_frac             (y) timedelta64[ns] ...
    master_int              (y) timedelta64[ns] ...
    num_detectedmodes       (y) uint8 ...
    omega                   (y) float32 ...
    pai                     (y) float32 ...
    pai_z                   (y, z) float32 ...
    pavd_z                  (y, z) float32 ...
    pgap_theta              (y) float32 ...
    pgap_theta_error        (y) float32 ...
    rg                      (y) float32 ...
    rh100                   (y) int16 ...
    rhog                    (y) float32 ...
    rhog_error              (y) float32 ...
    rhov                    (y) float32 ...
    rhov_error              (y) float32 ...
    rossg                   (y) float32 ...
    rv                      (y) float32 ...
    rx_range_highestreturn  (y) float64 ...
    rx_sample_count         (y) int64 ...
    rx_sample_start_index   (y) int64 ...
    selected_l2a_algorithm  (y) uint8 ...
    selected_rg_algorithm   (y) uint8 ...
    sensitivity             (y) float32 ...
    shot_number             (y) uint64 ...
    stale_return_flag       (y) uint8 ...
    surface_flag            (y) uint8 ...
Attributes:
    wp-l2-l2b_githash:  344b44a3adc93983cc84ade093020500f87fee00
    wp-l2-l2b_version:  20191201.0.0
    description:        Coverage beam
...