Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Как упоминалось в поддерживаемых типах данных, Microsoft Planetary Computer Pro поддерживает прием, оптимизацию облака и визуализацию файлов куба данных в форматах NetCDF, HDF5, Zarr и GRIB2. Хотя сложные и исторически громоздкие в локальном хранилище, эти ресурсы оптимизированы для облачных сред с планетарным компьютером Pro, что позволяет им более эффективно структурировать и хранить многомерные данные, такие как спутниковые изображения и климатические модели.
Загрузка кубов данных
Файлы кубов данных могут быть загружены в Планетарный Компьютер Pro таким же образом, как и другие типы растровых данных. Как и в других форматах дат, ресурсы и связанные элементы каталога временных активов Spatio (STAC) должны сначала храниться в хранилище BLOB-объектов Azure. В отличие от других двухмерных растровых ресурсов, однако при приеме определенных форматов кубов данных (NetCDF и HDF5) выполняется больше шагов оптимизации для облачных вычислений.
Замечание
Данные GRIB2 получаются так же, как и другие двухмерные растровые данные (без других шагов оптимизации облака), так как они по сути являются коллекцией двухмерных растров с соответствующим файлом индекса, который ссылается на данные эффективно в облачных средах. Аналогичным образом, Zarr уже является облачным нативным форматом, поэтому оптимизация не выполняется в момент загрузки.
Оптимизация облачных кубов данных
При приеме элементов STAC, содержащих ресурсы NetCDF или HDF5, ресурсы оптимизированы для облака, а не путем преобразования самих данных, а путем создания ссылочных файлов, которые обеспечивают более эффективный доступ к данным.
Оптимизация облака с помощью манифестов Kerchunk
В отличие от 2D-растровых данных, которые преобразуются в облачно-оптимизированные ГТИФы (COG) при загрузке в Planetary Computer Pro, активы куба данных оптимизируются за счет генерации ссылочных файлов или манифестов Kerchunk. Kerchunk — это библиотека Python с открытым исходным кодом, которая создает эти манифесты блоков или JSON-файлы, описывающие структуру куба данных и ее блоки с помощью ключей блока в стиле Zarr, которые сопоставляются с диапазонами байтов в исходном файле, где находятся эти блоки. После создания файлы Kerchunk хранятся в объектном хранилище вместе с ресурсами, а элементы STAC обогащены ссылками на эти манифесты, что оптимизирует доступ к данным для облачных сред.
Свойства элемента STAC, которые активируют облачную оптимизацию
В элементах STAC коллекции следующие условия должны быть верными для ресурса куба данных, оптимизированного для облака:
- Формат ресурса является одним из следующих типов:
application/netcdfapplication/x-netcdfapplication/x-hdf5
- Актив имеет поле
roles, которое включает либоdata, либоvisualв свой список ролей.
Если эти условия выполнены, манифест Kerchunk (assetid-kerchunk.json) создается в хранилище BLOB вместе с объектом.
Замечание
Типapplication/x-hdf формата ресурса часто соответствует ресурсам HDF4. На данный момент обработка GeoCatalog не поддерживает создание виртуальных манифестов kerchunk для HDF4 из-за его высокой сложности и наличия нескольких вариантов.
Обогащение элементов STAC
Чтобы изменить элементы STAC с помощью расширения STAC Datacube, можно включить обогащение, добавив флаг datacube_stac_enrichment: True к ресурсам в исходном JSON элемента STAC.
Для каждого оптимизированного ресурса в элементе STAC добавляются следующие поля:
-
msft:datacube_converted: true— указывает, что обогащение было применено. -
cube:dimensions— словарь, в котором перечислены измерения набора данных и их свойства. -
cube:variables— словарь, описывающий переменные набора данных и их свойства.
Эти переменные должны использоваться для конфигураций отрисовки, чтобы обеспечить эффективное чтение и визуализацию активов вашего куба данных в обозревателе.
Преимущества оптимизированных для облака кубов данных
Оптимизация облака куба данных повышает производительность доступа к данным, особенно для рабочих процессов визуализации. Если манифест Kerchunk присутствует, он обеспечивает быстрый доступ по сравнению с загрузкой всего файла набора данных.
Microsoft Planetary Computer Pro Explorer и API для мозаики предпочтительно используют манифест Kerchunk для операций чтения данных, если он существует в том же каталоге BLOB-хранилища, как и оригинальный актив.
Чтение данных с помощью фрагментированного подхода на основе ссылок ускоряется, так как он избегает чтения всего файла в память.
Отключение оптимизации облака куба данных
Если вы решите, что не хотите работать с оптимизированными для облака активами куба данных, отключите облачную оптимизацию, удалив data и visual из списка активов в STAC-элементе JSON до импорта.
Ввод и обновление данных в формате Zarr
Как упоминалось ранее, Zarr является облачно-нативным форматом, поэтому дополнительная оптимизация не происходит при обработке, и не требуется никаких изменений элементов данных STAC. Однако если вы планируете динамически обновлять ресурсы Zarr и повторно использовать элементы STAC для работы с последней версией, необходимо учитывать два метода обновления: Добавление и синхронизация.
Append
Если вы добавляете новые данные в локально хранимое Zarr-хранилище, но хотите обновить версию, хранящуюся в Planetary Computer Pro, необходимо повторно загрузить объект STAC. При повторном приеме этого элемента поведение по умолчанию заключается в проверке ресурсов для любых новых данных и добавлении его в данные, хранящиеся в облаке. Перед повторной загрузкой изменения элемента STAC не требуются.
Синхронизация
Если удалить данные из локально сохраненного хранилища Zarr, повторное получение того же элемента STAC не позволит облачной версии соответствовать версии на компьютере, так как функция добавления ищет новые данные, но не корректируется в соответствии с отсутствующими данными. Вот где синхронизация вступает в игру. Изменив элемент STAC, чтобы включить параметр, указывающий, что вы хотите синхронизировать существующие данные с новыми, и выполнив повторную загрузку этого измененного элемента STAC, в Planetary Computer Pro будут доступны только актуальные данные из хранилища Zarr. Изменение элемента STAC должно выглядеть следующим образом:
{
...
"assets": {
"pr": {
"href": "https://managedstorage.azure.com/collection-container/somestuff/pr.zarr",
"msft:ingestion": {
"directory": "sync"
}
}
}
}