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

Ресурсы 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-projectprojects/my-project/assets . Все ресурсы, принадлежащие my-project находятся в папке projects/my-project/assets или в подпапке (или ImageCollection) внутри нее.

Каталог

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

  • Проекты_папки_данных /мой-проект/активы/
    • папка имя-папки/
      • фото- изображение-имя
      • view_comfy имя таблицы
      • спутниковая функцияview-name
      • имя-классификатора bubble_chart
      • photo_library имя-коллекции изображений/
        • фото изображение-имя-1
        • фото изображение-имя-2

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

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

Питон

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)

Стол

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

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 .

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

Разверните папки в Asset Manager, чтобы просмотреть активы.

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

Используйте команду 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')

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

В Asset Manager наведите указатель на корень проекта и щелкните значок data_usage . Появится информационное диалоговое окно.

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

Используйте клиент Python или редактор кода, чтобы проверить квоту ресурсов.