Управление активами

Ресурсы Earth Engine — это принадлежащие проекту геопространственные данные, хранящиеся на платформе. Вы можете загружать собственные данные и сохранять данные, полученные в результате анализа в Earth Engine, в качестве ресурсов.

Типы активов

Earth Engine предлагает различные форматы ресурсов для разных типов данных, а также элементы контейнеров для организации данных.

Типы активов
Image Растровое изображение — это сеточное представление географической информации, где каждая ячейка сетки содержит значение, соответствующее определенному местоположению на поверхности Земли.
ImageCollection Коллекция связанных растровых изображений, образующих мозаику или временной ряд. Функционально она похожа на папку, но может быть импортирована в Earth Engine как объект ee.ImageCollection , который включает набор методов для фильтрации и анализа.
Table Структура данных в виде таблицы, состоящая из векторных признаков (строк), каждая из которых содержит ряд свойств (столбцов). Она представлена ​​объектом ee.FeatureCollection , который включает набор методов для фильтрации и анализа.
Classifier Обученная модель машинного обучения Earth Engine. Она представлена... Объект ee.Classifier , содержащий набор методов для применения и анализа.
FeatureView Визуализация таблицы для использования в приложениях Earth Engine.
Folder Контейнер для хранения ресурсов и дополнительных папок для облегчения организации.

Организация активов

Ресурсы Earth Engine организованы в иерархическую систему папок и коллекций. Структура аналогична распространенным файловым системам.

Корень

Ресурсы принадлежат облачному проекту. Название проекта определяет корневой каталог ресурсов. Например, корневым каталогом my-project является projects/my-project/assets . Все ресурсы, принадлежащие my-project находятся в папке projects/my-project/assets или в подпапке (или ImageCollection) внутри неё.

Каталог

Earth Engine использует древовидную структуру каталогов для организации ресурсов. Каждый облачный проект имеет корневой каталог, который может содержать отдельные ресурсы и папки. ImageCollections — это особый тип ресурсов, предназначенный для хранения наборов связанных изображений, таких как временные ряды или мозаики. В отличие от папок, ImageCollections могут содержать только графические ресурсы и не могут вкладывать в себя другие папки или коллекции.

  • folder_data projects/my-project/assets/
    • папка имя папки /
      • фото изображение-имя
      • view_comfy table-name
      • имя объекта спутникового обзора
      • bubble_chart classifier-name
      • photo_library imagecollection-name/
        • фото image-name-1
        • фото изображение-имя-2

Идентификатор актива

Earth Engine использует идентификаторы ресурсов для ссылки на данные как в скриптах, так и в операциях командной строки. Они определяют местоположение ресурсов, используя косые черты (/) в качестве разделителей между каталогами. Например, projects/my-project/assets/my-asset указывает на ресурс с именем "my-asset", расположенный в корневом каталоге "my-project". Вот пример использования этого идентификатора для получения информации о ресурсе.

Python

print(ee.data.getAsset('projects/my-project/assets/my-asset'))

Редактор кода

print(ee.Image('projects/my-project/assets/my-asset'))

Командная строка

earthengine asset info projects/my-project/assets/my-asset

Создание активов

Вы можете создавать папки и коллекции изображений, а также импортировать изображения и таблицы из локальных файлов или файлов в хранилище Google Cloud Storage. Поддерживаемые форматы изображений включают GeoTIFF (стандартный и COG) и TFRecord. Поддерживаемые форматы таблиц включают Shapefile и CSV. (Ресурсы также можно создавать путем экспорта результатов анализа Earth Engine с использованием пакетных функций Export.*.toAsset ).

клиент на Python

Изображение

Для загрузки образов из облачного хранилища используйте функцию ee.data.startIngestion . Дополнительную информацию о настройке загрузки см. на странице манифеста образа .

manifest = {
  'name': 'projects/my-project/assets/asset-name',
  'tilesets': [
    {
      'sources': [
        {
          'uris': [
            'gs://my-bucket/filename.tif'
          ]
        }
      ]
    }
  ]
}
ee.data.startIngestion(None, manifest)

Стол

Для загрузки таблиц из Cloud Storage используйте функцию ee.data.startTableIngestion . Дополнительную информацию о настройке загрузки см. на странице манифеста образа .

manifest = {
  'name': 'projects/my-project/assets/asset-name',
  'sources': [
    {
      'uris': [
        'gs://my-bucket/filename.csv'
      ]
    }
  ]
}
ee.data.startTableIngestion(None, manifest)

Папка или коллекция изображений

Используйте функцию ee.data.createAsset для создания пустых папок или коллекций изображений.

ee.data.createAsset(
    {'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
    'projects/my-project/assets/asset-name'
)

Редактор кода

В диспетчере активов нажмите кнопку «Создать» и выберите из выпадающего списка тип актива, который вы хотите загрузить или создать. Настройте загрузку или создание актива в диалоговом окне.

Командная строка

Изображение или таблица

earthengine upload image --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.tif
earthengine upload table --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.csv

Папка или коллекция изображений

Используйте команду earthengine create для создания пустых папок или коллекций изображений.

earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name

Внешнее изображение

Оптимизированные для облачного хранилища файлы GeoTIFF (COG), которые вы загружаете в хранилище Google Cloud Storage, можно зарегистрировать как внешние графические ресурсы и использовать непосредственно в Earth Engine. Дополнительную информацию о ресурсах на основе COG и создании манифеста см. в справочной документации .

earthengine alpha upload external_image --manifest /tmp/foo.json

Перечислите активы

клиент на Python

Используйте функцию ee.data.listAssets для вывода списка ресурсов в папке или коллекции (без рекурсивного отображения). Дополнительную информацию о фильтрации и пагинации см. в справочной документации.

ee.data.listAssets('projects/my-project/assets')

Также см. ee.data.listImages и ee.data.listFeatures .

Редактор кода

Для просмотра активов разверните папки в Диспетчере активов.

Командная строка

Используйте команду earthengine ls для вывода списка активов в папке или коллекции (без рекурсивного вывода). Дополнительную информацию об ограничении количества активов для вывода и подробной информации о возвращаемых значениях см. в справочной документации.

earthengine ls projects/my-project/assets

Установить права доступа к ресурсам

клиент на Python

Используйте функцию ee.data.setAssetAcl для установки прав доступа к ресурсу.

asset_id = 'projects/my-project/assets/asset-name'
acl_update = {
    'owners': [
        'user:big_cheese@example.com',
        'user:el_jefe@example.com'
    ],
    'writers': [
        'user:romeo@example.com',
        'user:juliet@example.com'
    ],
    'readers': [
        'group:some-group@googlegroups.com',
        'domain:example.com',
        'serviceAccount:some-project-id@appspot.gserviceaccount.com'
    ],
    'all_users_can_read': False
}
ee.data.setAssetAcl(asset_id, acl_update)

Редактор кода

В диспетчере ресурсов наведите указатель мыши на ресурс и щелкните значок «Поделиться» . В диалоговом окне введите адрес электронной почты или домен, с которым нужно поделиться ресурсом, затем выберите уровень доступа из выпадающего списка. Нажмите кнопку « ДОБАВИТЬ ДОСТУП» , чтобы подтвердить изменение. Установите флажок «Любой может читать», чтобы предоставить любому объекту разрешение на чтение. Вы также можете предоставить доступ к приложениям Earth Engine из диалогового окна, выбрав имя приложения из выпадающего списка (ресурсы, принадлежащие активному проекту редактора кода).

Командная строка

Используйте команду earthengine acl set , чтобы установить для ресурса права доступа на чтение: public или private .

earthengine acl set public projects/my-project/assets/asset-name

Используйте команду earthengine acl ch для установки индивидуальных разрешений на чтение и запись ресурсов.

earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-name

Для получения более подробной информации см. страницу справочника по командной строке .

Проверьте права доступа к ресурсам.

клиент на Python

Используйте функцию ee.data.getAssetAcl для получения списка контроля доступа для актива.

ee.data.getAssetAcl('projects/my-project/assets/asset-name')

Редактор кода

В диспетчере активов наведите указатель мыши на актив и щелкните значок «Поделиться» . В диалоговом окне отобразится список адресов электронной почты и доменов, а также соответствующие уровни доступа.

Командная строка

Используйте команду earthengine acl get , чтобы получить список контроля доступа для ресурса.

earthengine acl get projects/my-project/assets/asset-name

Копирование ресурсов

клиент на Python

Для копирования ресурса используйте функцию ee.data.copyAsset .

ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')

Редактор кода

Для копирования ресурсов используйте клиент Python или инструмент командной строки.

Командная строка

Используйте команду earthengine cp для копирования ресурса.

earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-name

Переместить или переименовать активы

клиент на Python

Для перемещения или переименования ресурса используйте функцию ee.data.renameAsset .

ee.data.renameAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/new-asset-name')

Редактор кода

Двигаться

В менеджере ресурсов перетащите ресурс в новую папку.

Переименовать

В диспетчере активов наведите указатель мыши на актив, щелкните значок редактирования и введите новое имя в редактируемое поле ввода.

Командная строка

Используйте команду earthengine mv для перемещения или переименования объекта.

earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-name

Удалить активы

клиент на Python

Для удаления актива используйте функцию ee.data.deleteAsset .

ee.data.deleteAsset('projects/my-project/assets/asset-name')

Редактор кода

Щелкните по активу, чтобы открыть диалоговое окно по активу, затем нажмите кнопку УДАЛИТЬ .

Командная строка

Для удаления ресурса используйте команду earthengine rm . Информацию о рекурсивном и тестовом режимах см. в справочнике функций.

earthengine rm projects/my-project/assets/asset-name

Просмотреть метаданные актива

клиент на Python

Для получения метаданных актива используйте функцию ee.data.getAsset .

ee.data.getAsset('projects/my-project/assets/asset-name')

Редактор кода

Щелкните по активу, чтобы открыть диалоговое окно по активу. Просмотрите информацию об активе.

Командная строка

Для получения метаданных актива используйте команду earthengine asset info .

earthengine asset info projects/my-project/assets/asset-name

Установить метаданные актива

Можно задать следующие метаданные актива:

  • start_time
  • end_time
  • properties

клиент на Python

Для обновления метаданных актива используйте функцию ee.data.updateAsset .

asset_id = 'projects/my-project/assets/asset-name'
new_metadata = {
  'properties': {
    'name': 'value'
  },
  'start_time': '2024-10-02T15:01:24Z',
  'end_time': '2024-10-02T15:01:25Z',
}
update_these = ['start_time', 'end_time', 'properties']

ee.data.updateAsset(asset_id, new_metadata, update_these)

Редактор кода

Щелкните по объекту, чтобы открыть диалоговое окно управления объектом, затем активируйте переключатель редактирования в правом верхнем углу. Вы можете редактировать описание, свойства, а также начальную и конечную даты. Отключите переключатель редактирования, чтобы сохранить изменения.

Командная строка

Для обновления метаданных ресурса используйте команду earthengine asset set . Дополнительную информацию см. в справочной документации.

earthengine asset set \
  --time_start 2024-10-02T15:01:24 \
  --time_end 2024-10-02T15:01:25 \
  --property 'name=value' \
  projects/my-project/assets/asset-name

Проверить квоту активов

Квота применяется на уровне проекта. Подробнее о квотах на активы можно узнать на странице использования и лимитов квот .

клиент на Python

Используйте функцию ee.data.getAssetRootQuota , чтобы получить информацию об использовании квоты хранилища для корневого ресурса.

ee.data.getAssetRootQuota('projects/my-project/assets')

Редактор кода

В диспетчере ресурсов наведите указатель мыши на корневой каталог проекта и щелкните значок data_usage . Откроется информационное диалоговое окно.

Командная строка

Для проверки квоты ресурсов используйте клиент Python или редактор кода.