ee.ImageCollection.loadZarrV2Array

Загружает массив Zarr v2 с тремя или более измерениями (например, одно или несколько непространственных измерений) в виде ImageCollection, выполнив срез по указанной непространственной оси. Атрибуты массива (.zattrs) должны содержать поле _ARRAY_DIMENSIONS, которое представляет собой список названий каждого параметра (например, ['time', 'y', 'x']). Должно быть не менее двух измерений, причем последние два должны представлять Y и X соответственно (например, ['lat', 'lon']). Поддерживаются следующие кодеки сжатия: blosc, gzip, lz4, zlib и zstd. Поддерживаются следующие кодеки метасжатия blosc: lz4, lz4hc, zlib и zstd (blosclz не поддерживается).

ИспользованиеВозвраты
ee.ImageCollection.loadZarrV2Array(uri, proj, axis, starts, ends)ImageCollection
АргументТипСведения
uriСтрокаURI Cloud Storage файла .zarray, который нужно загрузить. Файл .zmetadata должен находиться в родительском каталоге каталога массива (например, для gs://b/o/.zarray должен присутствовать gs://b/.zmetadata). Метаданные сегмента должны быть доступны (требуется разрешение storage.buckets.get, которое предоставляется ролью Storage Legacy Bucket Reader и другими, см. https://cloud.google.com/storage/docs/access-control/iam-roles), а сам сегмент должен находиться в макрорегионе США, двойном регионе, включающем US-CENTRAL1, или в регионе US-CENTRAL1.
projПроекцияПроекция массива.
axisЦелое число, по умолчанию: nullНепространственная ось (с индексом 0), вдоль которой нужно разрезать массив, чтобы создать ImageCollection. Каждое изображение в коллекции представляет собой один срез (длина 1) вдоль этой оси. Если значение не указано, по умолчанию используется 0. Значение должно быть в диапазоне [0, N-1], где N – количество непространственных параметров (т.е. общее количество параметров минус 2). Массив должен иметь по крайней мере одно непространственное измерение (то есть быть как минимум трехмерным).
startsСписок, по умолчанию: nullИндексы (включительно), с которых следует начинать создание срезов по каждому непространственному измерению. Если значение null, фрагменты будут начинаться с индекса 0 для всех непространственных измерений. Если список указан, его длина должна быть равна количеству непространственных параметров (общее количество параметров минус 2). Отдельный элемент в списке может быть нулевым, что по умолчанию равно 0 для этого параметра. Отрицательные индексы отсчитываются от конца измерения (например, -1 – это последний элемент).
endsСписок, по умолчанию: nullИндексы (исключительные), на которых следует прекратить создание срезов по каждому непространственному измерению. Если значение равно null, срезы будут расширены до конца каждого соответствующего непространственного измерения (т.е. по умолчанию до длины измерения). Если список указан, его длина должна быть равна количеству непространственных параметров (общее количество параметров минус 2). Отдельный элемент в списке может быть нулевым, что также по умолчанию соответствует длине этого измерения. Отрицательные индексы отсчитываются от конца измерения (например, -1 – это последний элемент).

Примеры

Редактор кода (JavaScript)

var timeStart = 1000000;
var timeEnd = 1000048;

// Load a 2m temperature Zarr v2 array.
var temperature = ee.ImageCollection.loadZarrV2Array({
  uri: 'gs://gcp-public-data-arco-era5/ar/' +
      'full_37-1h-0p25deg-chunk-1.zarr-v3/2m_temperature/.zarray',
  proj: 'EPSG:4326',
  axis: 0,
  starts: [timeStart],
  ends: [timeEnd]
});

print(temperature);

var visParams = {
  min: 220,
  max: 350,
  palette: [
    'darkblue', 'blue', 'cyan', 'green', 'yellow', 'orange', 'red', 'darkred'
  ]
};
Map.addLayer(temperature, visParams, '2m Temperature');

Настройка Python

Информацию об API Python и использовании geemap для интерактивной разработки можно найти на странице Среда Python.

import ee
import geemap.core as geemap

Colab (Python)

time_start = 1000000
time_end = 1000048

# Load a 2m temperature Zarr v2 array.
temperature = ee.ImageCollection.loadZarrV2Array(
    uri=(
        'gs://gcp-public-data-arco-era5/ar/'
        'full_37-1h-0p25deg-chunk-1.zarr-v3/2m_temperature/.zarray'
    ),
    proj='EPSG:4326',
    axis=0,
    starts=[time_start],
    ends=[time_end],
)

display(temperature)

vis_params = {
    'min': 220,
    'max': 350,
    'palette': [
        'darkblue',
        'blue',
        'cyan',
        'green',
        'yellow',
        'orange',
        'red',
        'darkred',
    ],
}
m.add_layer(temperature, vis_params, '2m Temperature')
m