Ресурсы 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 может содержать только ресурсы изображений и не может вкладывать в них другие папки или коллекции.
- Проекты_папки_данных /мой-проект/активы/
- папка имя-папки/
- фото- изображение-имя
- 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 или редактор кода, чтобы проверить квоту ресурсов.