Administrar activos

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, que incluye un conjunto de métodos para la aplicación y el análisis.
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.