Los activos 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 los análisis de Earth Engine como recursos.
Tipos de recursos
Earth Engine ofrece varios formatos de activos para diferentes tipos de datos, junto con elementos de contenedor para la organización.
Tipos de recursos | |
---|---|
Image |
Un ráster, una representación de información geográfica basada en una cuadrícula en la que cada celda de la cuadrícula contiene un valor correspondiente a una ubicación específica en la superficie de la Tierra. |
ImageCollection |
Es una colección de imágenes de trama relacionadas que constituyen un mosaico o una serie temporal. Es funcionalmente similar a una carpeta, pero se puede importar a Earth Engine como un objeto ee.ImageCollection que incluye un conjunto de métodos para filtrar y analizar. |
Table |
Una estructura de datos de tabla compuesta por atributos vectoriales (filas), cada uno de los cuales contiene una serie de propiedades (columnas). Está representado por el objeto ee.FeatureCollection , que incluye un conjunto de métodos para filtrar y analizar. |
Classifier |
Un modelo de aprendizaje automático entrenado de Earth Engine Está representado por el objeto ee.Classifier |
FeatureView |
Vista de visualización de una tabla para usar en apps de Earth Engine. |
Folder |
Es un contenedor para recursos y carpetas adicionales que ayudan con 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 la de los sistemas de archivos comunes.
Raíz
Los activos 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 carpeta projects/my-project/assets
o en una subcarpeta (o ImageCollection) dentro de ella.
Directorio
Earth Engine usa una estructura de directorio con forma de árbol para organizar los recursos. Cada proyecto de Cloud tiene un directorio raíz que puede contener carpetas y recursos 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 en ellas.
- folder_dataprojects/my-project/assets/
- folder folder-name/
- foto nombre-de-la-imagen
- view_comfy nombre-tabla
- 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 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". A continuación, se muestra un ejemplo del uso de este ID para obtener información sobre el activo.
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-asset
Crear recursos
Puedes crear carpetas y ImageCollections, y transferir imágenes y tablas desde archivos locales o archivos en un bucket de Google Cloud Storage. Los formatos de imagen compatibles incluyen GeoTIFF (estándar y COG) y TFRecord. Los formatos de tabla compatibles incluyen Shapefile y CSV. (También puedes crear recursos exportando un resultado de análisis de Earth Engine con las funciones por lotes Export.*.toAsset
).
Cliente de Python
Imagen
Usa la función ee.data.startIngestion
para transferir imágenes desde Cloud Storage. Consulta la página del manifiesto de imagen para obtener más información sobre la configuración de 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 función ee.data.startTableIngestion
para transferir tablas desde Cloud Storage. Consulta la página del manifiesto de imagen para obtener más información sobre la configuración de 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 función ee.data.createAsset
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 el menú desplegable. Configura la carga o creación de activos 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.tif
earthengine upload table --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.csv
Carpeta o ImageCollection
Usa el comando earthengine create
para crear carpetas vacías o ImageCollections.
earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name
Imagen externa
Los archivos GeoTIFF (COG) optimizados para la nube que subas a un bucket de Google Cloud Storage pueden registrarse 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 creación de un manifiesto.
earthengine alpha upload external_image --manifest /tmp/foo.json
Enumerar recursos
Cliente de Python
Usa la función ee.data.listAssets
para enumerar los recursos de una carpeta o colección (no recursiva).
Consulta los documentos de referencia para obtener más información sobre los filtros 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 del Administrador de recursos para ver los recursos.
Línea de comandos
Usa el comando earthengine ls
para enumerar los recursos de una carpeta o colección (no recursiva). Consulta la
documentación de referencia para obtener más información sobre cómo limitar la cantidad de activos que se deben
enumerar y los detalles del importe que se deben mostrar.
earthengine ls projects/my-project/assets
Configura los permisos de los activos
Cliente de Python
Usa la función ee.data.setAssetAcl
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, coloca 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 con el que deseas compartir el activo y, luego, selecciona un nivel de permiso para otorgar de 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 que pertenecen al proyecto activo de Code Editor).
Línea de comandos
Usa el comando earthengine acl set
para establecer el acceso de lectura de un activo en public
o private
.
earthengine acl set public projects/my-project/assets/asset-name
Usa el comando earthengine acl ch
para establecer permisos individuales para la lectura y escritura de activos.
earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-name
Consulta la página de referencia de la línea de comandos para obtener más detalles.
Verifica los permisos de los activos
Cliente de Python
Usa la función ee.data.getAssetAcl
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, coloca el puntero sobre un recurso y haz clic en el ícono de compartir. En el diálogo, se muestra una lista de correos electrónicos y dominios junto con sus respectivos niveles de acceso.
Línea de comandos
Usa el comando earthengine acl get
para recuperar la lista de control de acceso de un recurso.
earthengine acl get projects/my-project/assets/asset-name
Cómo copiar recursos
Cliente de Python
Usa la función ee.data.copyAsset
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 comando earthengine cp
para copiar un recurso.
earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-name
Cómo mover o cambiar el nombre de los recursos
Cliente de Python
Usa la función ee.data.renameAsset
para mover un recurso o cambiarle el nombre.
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, coloca el puntero sobre un recurso, haz clic en el ícono de editar y escribe un nombre nuevo en el campo de entrada editable.
Línea de comandos
Usa el comando earthengine mv
para mover o cambiar el nombre de un recurso.
earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-name
Borrar elementos
Cliente de Python
Usa la función ee.data.deleteAsset
para borrar un recurso.
ee.data.deleteAsset('projects/my-project/assets/asset-name')
Editor de código
Haz clic en un activo para abrir la página de diálogo del activo y, luego, haz clic en el botón BORRAR.
Línea de comandos
Usa el comando earthengine rm
para borrar un recurso. Consulta la referencia de la función para ver las opciones de pruebas
recíprocas y de prueba.
earthengine rm projects/my-project/assets/asset-name
Cómo ver los metadatos de los activos
Cliente de Python
Usa la función ee.data.getAsset
para obtener los metadatos del activo.
ee.data.getAsset('projects/my-project/assets/asset-name')
Editor de código
Haz clic en un activo para abrir la página del cuadro de diálogo del activo. Consulta la información del recurso.
Línea de comandos
Usa el comando earthengine asset info
para obtener los metadatos de los recursos.
earthengine asset info projects/my-project/assets/asset-name
Cómo configurar metadatos de activos
Se pueden establecer los siguientes metadatos del activo:
start_time
end_time
properties
Cliente de Python
Usa la función ee.data.updateAsset
para actualizar los metadatos del activo.
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 del diálogo del recurso y, luego, activa el botón de activació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 comando earthengine asset set
para actualizar los metadatos de los activos. 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
Comprueba la cuota de recursos
La cuota se aplica a nivel del proyecto. Obtén más información sobre la cuota de activos en la página Límites de uso y cuota.
Cliente de Python
Usa la función ee.data.getAssetRootQuota
para obtener el uso de la cuota de almacenamiento de la raíz de un recurso.
ee.data.getAssetRootQuota('projects/my-project/assets')
Editor de código
En el Administrador de recursos, mantén el puntero sobre la raíz de un proyecto y haz clic en el ícono 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.