Los recursos de Earth Engine son datos geoespaciales propiedad del proyecto que se almacenan en la plataforma. Puedes subir tus propios datos y almacenar los datos producidos a partir de tus análisis de Earth Engine como recursos.
Tipos de activos
Earth Engine ofrece varios formatos de recursos para diferentes tipos de datos, junto con elementos de contenedor para la organización.
| Tipos de activos | |
|---|---|
Image |
Es un ráster, una representación basada en cuadrículas de información geográfica en la que cada celda de la cuadrícula contiene un valor que corresponde a una ubicación específica en la superficie de la Tierra. |
ImageCollection |
Es una colección de imágenes ráster relacionadas que constituyen un mosaico o una serie temporal. Funcionalmente, es similar a una carpeta, pero se puede importar a
Earth Engine como un ee.ImageCollection objeto que incluye un
conjunto de métodos para el filtrado y el análisis. |
Table |
Es una estructura de datos de tabla compuesta por entidades vectoriales (filas), cada una de las cuales
contiene una serie de propiedades (columnas). Se representa con el
ee.FeatureCollection objeto, que incluye un conjunto de métodos
para el filtrado y el análisis. |
Classifier |
Es un modelo de aprendizaje automático de Earth Engine entrenado. Se representa con el
ee.Classifier |
FeatureView |
Es una vista de visualización de una tabla para usar en las apps de Earth Engine. |
Folder |
Es un contenedor para recursos y carpetas adicionales que ayudan a la organización. |
Organización de recursos
Los recursos de Earth Engine se organizan en un sistema jerárquico de carpetas y colecciones. La estructura es similar a los sistemas de archivos comunes.
Raíz
Los recursos son propiedad de un proyecto de Cloud. El nombre del proyecto define la raíz del directorio de recursos. Por ejemplo, la raíz de my-project es
projects/my-project/assets.
Todos los recursos que pertenecen a my-project se encuentran en la projects/my-project/assets
carpeta o en una subcarpeta (o ImageCollection) dentro de ella.
Directorio
Earth Engine usa una estructura de directorio similar a un árbol para organizar los recursos. Cada proyecto de Cloud tiene un directorio raíz que puede contener recursos y carpetas individuales. ImageCollections es un tipo de recurso especial diseñado específicamente para contener conjuntos de imágenes relacionadas, como series temporales o mosaicos. A diferencia de las carpetas, ImageCollections solo puede contener recursos de imagen y no puede anidar otras carpetas o colecciones dentro de ellas.
- folder_dataprojects/my-project/assets/
- folder folder-name/
- photo image-name
- view_comfy table-name
- satellite featureview-name
- bubble_chart classifier-name
- photo_library imagecollection-name/
- photo image-name-1
- photo image-name-2
ID del activo
Earth Engine usa IDs de recursos para hacer referencia a los datos en secuencias de comandos y operaciones de línea de comandos. Definen las ubicaciones de los recursos con barras diagonales (/) como separadores entre directorios. Por ejemplo, projects/my-project/assets/my-asset especifica un recurso llamado "my-asset" ubicado en la raíz "my-project". Este es un ejemplo de cómo usar este ID para obtener información sobre el recurso.
Python
print(ee.data.getAsset('projects/my-project/assets/my-asset'))
Editor de código
print(ee.Image('projects/my-project/assets/my-asset'))
Línea de comandos
earthengine asset info projects/my-project/assets/my-assetCrear recursos
Puedes crear carpetas y ImageCollections, y transferir imágenes y tablas desde archivos locales o archivos en un bucket de Cloud Storage. Entre los formatos de imagen compatibles, se incluyen GeoTIFF (estándar y COG) y TFRecord. Entre los formatos de tabla compatibles, se incluyen Shapefile y CSV. (También se pueden crear recursos exportando un resultado de análisis de Earth Engine con las funciones por lotes Export.*.toAsset).
Cliente de Python
Imagen
Usa la ee.data.startIngestion
función para procesar imágenes desde Cloud Storage. Consulta la
página del manifiesto de la imagen
para obtener más información sobre cómo configurar la carga.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'tilesets': [
{
'sources': [
{
'uris': [
'gs://my-bucket/filename.tif'
]
}
]
}
]
}
ee.data.startIngestion(None, manifest)
Tabla
Usa la ee.data.startTableIngestion
función para procesar tablas desde Cloud Storage. Consulta la
página del manifiesto de la imagen
para obtener más información sobre cómo configurar la carga.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'sources': [
{
'uris': [
'gs://my-bucket/filename.csv'
]
}
]
}
ee.data.startTableIngestion(None, manifest)
Carpeta o ImageCollection
Usa la ee.data.createAsset
función para crear carpetas o ImageCollections vacías.
ee.data.createAsset(
{'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
'projects/my-project/assets/asset-name'
)
Editor de código
En el Administrador de recursos, haz clic en el botón NUEVO y selecciona el tipo de recurso que deseas subir o crear en la lista desplegable. Configura la carga o la creación de recursos en el diálogo.
Línea de comandos
Imagen o tabla
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
Carpeta o ImageCollection
Usa el earthengine create
comando para crear carpetas o ImageCollections vacías.
earthengine create folder projects/my-project/assets/folder-nameearthengine create collection projects/my-project/assets/collection-name
Imágenes externas
Los archivos GeoTIFF optimizados para la nube (COG) que subes a un bucket de Google Cloud Storage se pueden registrar como recursos de imagen externos y usarse directamente en Earth Engine. Consulta los documentos de referencia para obtener más información sobre los recursos respaldados por COG y la construcción de un manifiesto.
earthengine alpha upload external_image --manifest /tmp/foo.jsonEnumerar recursos
Cliente de Python
Usa la ee.data.listAssets
función para enumerar los recursos de una carpeta o colección (no recursiva).
Consulta los documentos de referencia para obtener más información sobre el filtrado y la paginación.
ee.data.listAssets('projects/my-project/assets')
Consulta también ee.data.listImages y
ee.data.listFeatures.
Editor de código
Expande las carpetas en el Administrador de recursos para ver los recursos.
Línea de comandos
Usa el earthengine ls
comando para enumerar los recursos de una carpeta o colección (no recursiva). Consulta los documentos de referencia para obtener más información sobre cómo limitar la cantidad de recursos que se enumerarán y el nivel de detalle que se mostrará.
earthengine ls projects/my-project/assetsConfigurar permisos de recursos
Cliente de Python
Usa la ee.data.setAssetAcl
función para establecer permisos en un recurso.
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)
Editor de código
En el Administrador de recursos, mantén el puntero sobre un recurso y haz clic en el ícono de compartir. En el diálogo, ingresa una dirección de correo electrónico o un dominio para compartir el recurso y, luego, selecciona un nivel de permiso para otorgar en la lista desplegable. Haz clic en el botón AGREGAR ACCESO para confirmar el cambio. Marca la casilla "Cualquier persona puede leer" para otorgar permiso de lectura a cualquier entidad. También puedes proporcionar acceso a las apps de Earth Engine desde el diálogo seleccionando el nombre de la app en la lista desplegable (recursos propiedad del proyecto activo del Editor de código).
Línea de comandos
Usa el comando earthengine acl set para establecer el acceso de lectura de un recurso como public o private.
earthengine acl set public projects/my-project/assets/asset-nameUsa el comando earthengine acl ch para establecer permisos individuales para la lectura y escritura de recursos.
earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-nameConsulta la página de referencia de la línea de comandos para obtener más detalles.
Verificar los permisos de recursos
Cliente de Python
Usa la ee.data.getAssetAcl
función para recuperar la lista de control de acceso de un recurso.
ee.data.getAssetAcl('projects/my-project/assets/asset-name')
Editor de código
En el Administrador de recursos, mantén el puntero sobre un recurso y haz clic en el ícono de compartir. El diálogo muestra una lista de correos electrónicos y dominios junto con sus respectivos niveles de acceso.
Línea de comandos
Usa el earthengine acl get
comando para recuperar la lista de control de acceso de un recurso.
earthengine acl get projects/my-project/assets/asset-nameCopiar recursos
Cliente de Python
Usa la ee.data.copyAsset
función para copiar un recurso.
ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')
Editor de código
Usa el cliente de Python o la herramienta de línea de comandos para copiar recursos.
Línea de comandos
Usa el earthengine cp
comando para copiar un recurso.
earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-nameMover o cambiar el nombre de los recursos
Cliente de Python
Usa la ee.data.renameAsset
función para mover o cambiar el nombre de un recurso.
ee.data.renameAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/new-asset-name')
Editor de código
Mover
En el Administrador de recursos, arrastra un recurso a una carpeta nueva.
Cambiar nombre
En el Administrador de recursos, mantén el puntero sobre un recurso, haz clic en el ícono de edición y escribe un nombre nuevo en el campo de entrada editable.
Línea de comandos
Usa el earthengine mv
comando para mover o cambiar el nombre de un recurso.
earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-nameBorrar elementos
Cliente de Python
Usa la ee.data.deleteAsset
función para borrar un recurso.
ee.data.deleteAsset('projects/my-project/assets/asset-name')
Editor de código
Haz clic en un recurso para abrir la página de diálogo del recurso y, luego, haz clic en el botón BORRAR.
Línea de comandos
Usa el earthengine rm
comando para borrar un recurso. Consulta la referencia de la función para ver las opciones recursivas y de ejecución en seco.
earthengine rm projects/my-project/assets/asset-nameVisualizar los metadatos de recursos
Cliente de Python
Usa la ee.data.getAsset
función para obtener los metadatos de activo.
ee.data.getAsset('projects/my-project/assets/asset-name')
Editor de código
Haz clic en un recurso para abrir la página de diálogo del recurso. Visualiza la información del recurso.
Línea de comandos
Usa el earthengine asset info
comando para obtener los metadatos de activo.
earthengine asset info projects/my-project/assets/asset-nameConfigurar metadatos de recursos
Se pueden establecer los siguientes metadatos de activo:
start_timeend_timeproperties
Cliente de Python
Usa la ee.data.updateAsset
función para actualizar los metadatos de recursos.
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)
Editor de código
Haz clic en un recurso para abrir la página de diálogo del recurso y, luego, activa el botón de edición en la esquina superior derecha. Puedes editar la descripción, las propiedades y las fechas de inicio y finalización. Desactiva el botón de edición para guardar los cambios.
Línea de comandos
Usa el earthengine asset set
comando para actualizar los metadatos de recursos. Consulta los documentos de referencia para obtener más información.
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
Verificar la cuota de recursos
La cuota se aplica a nivel del proyecto. Obtén más información sobre la cuota de recursos en la página de límites de uso y cuota.
Cliente de Python
Usa la ee.data.getAssetRootQuota
función para obtener el uso de la cuota de almacenamiento de una raíz de recursos.
ee.data.getAssetRootQuota('projects/my-project/assets')
Editor de código
En el Administrador de recursos, mantén el puntero sobre una raíz de proyecto y haz clic en el data_usage. Aparecerá un diálogo de información.
Línea de comandos
Usa el cliente de Python o el Editor de código para verificar la cuota de recursos.