Ресурсы 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.tifearthengine 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-nameearthengine 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 или редактор кода.