Administrar activos

Los recursos de Earth Engine son datos geoespaciales que pertenecen al proyecto y 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 recursos

Earth Engine ofrece varios formatos de recursos para diferentes tipos de datos, junto con elementos de contenedor para la organización.

Tipos de recursos
Image 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 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 Es una estructura de datos de tabla compuesta por atributos vectoriales (filas), cada uno de los cuales contiene una serie de propiedades (columnas). Se representa con el objeto ee.FeatureCollection, que incluye un conjunto de métodos para el filtrado y el análisis.
Classifier Un modelo de aprendizaje automático de Earth Engine entrenado. Se representa con el objeto ee.Classifier, que incluye un conjunto de métodos para la aplicación y el análisis.
FeatureView Es una vista de visualización de una tabla para usar en las apps de Earth Engine.
Folder Es un contenedor de recursos y carpetas adicionales que ayuda a organizar el contenido.

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 recursos pertenecen a 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 directorios similar a un árbol para organizar los recursos. Cada proyecto de Cloud tiene un directorio raíz que puede contener recursos y carpetas individuales. Las ImageCollections son 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, las ImageCollections solo pueden contener recursos de imagen y no pueden 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
        • foto image-name-2

ID del recurso

Earth Engine usa IDs de activos para hacer referencia a los datos en los scripts y las 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 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-asset

Crear recursos

Puedes crear carpetas e ImageCollections, y transferir imágenes y tablas desde archivos locales o archivos en un bucket de Google Cloud Storage. Los formatos de imagen admitidos incluyen GeoTIFF y TFRecord. Los GeoTIFF optimizados para la nube (COG) en Cloud Storage también se pueden registrar en su lugar en vez de transferirse. Los formatos de tabla admitidos incluyen Shapefile y CSV. (Los recursos también se pueden crear 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 Manifiesto de 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 función ee.data.startTableIngestion para transferir tablas desde Cloud Storage. Consulta la página Manifiesto de 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 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 de la lista desplegable. Configura la carga o creación del recurso 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 o ImageCollections vacías.

earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name

Imagen externa

Los archivos GeoTIFF optimizados para la nube (COG) en un bucket de Cloud Storage se pueden registrar como recursos respaldados por COG (llamados imágenes externas en la API) y usarse directamente en Earth Engine. Consulta la guía de registro de COG para construir un manifiesto.

earthengine 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 de forma recurrente). 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 comando earthengine ls para enumerar los recursos de una carpeta o colección (no de forma recurrente). Consulta la documentación de referencia para obtener más información sobre cómo limitar la cantidad de recursos que se enumerarán y la cantidad de detalles que se mostrarán.

earthengine ls projects/my-project/assets

Cómo configurar los permisos de los recursos

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, mantén el puntero sobre un recurso y haz clic en el ícono para compartir. En el cuadro de diálogo, ingresa una dirección de correo electrónico o un dominio con el que quieras compartir el recurso 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 "Cualquiera 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 del editor de código).

Línea de comandos

Usa el comando earthengine acl set para establecer el acceso de lectura de un recurso en public o private.

earthengine acl set public projects/my-project/assets/asset-name

Usa el comando earthengine acl ch para establecer permisos individuales de lectura y escritura de recursos.

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 información.

Verifica los permisos de los recursos

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, mantén el puntero sobre un recurso y haz clic en el ícono para 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

Mueve o cambia 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

Transferencia

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 editar y escribe un nombre nuevo en el campo de entrada editable.

Línea de comandos

Usa el comando earthengine mv para mover un recurso o cambiarle el nombre.

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 recurso para abrir la página de diálogo de recursos 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 conocer las opciones de ejecución de prueba y recursiva.

earthengine rm projects/my-project/assets/asset-name

Visualiza los metadatos de recursos

Cliente de Python

Usa la función ee.data.getAsset para obtener los metadatos de los activos.

ee.data.getAsset('projects/my-project/assets/asset-name')

Editor de código

Haz clic en un recurso para abrir su página de diálogo. Consulta la información del recurso.

Línea de comandos

Usa el comando earthengine asset info para obtener los metadatos del activo.

earthengine asset info projects/my-project/assets/asset-name

Configura los metadatos de los recursos

Se pueden establecer los siguientes metadatos de activos:

  • start_time
  • end_time
  • properties

Cliente de Python

Usa la función ee.data.updateAsset para actualizar los metadatos de 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 de 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 activación de edición para guardar los cambios.

Línea de comandos

Usa el comando earthengine asset set para actualizar los metadatos de los 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

Verifica la cuota de recursos

La cuota se aplica a nivel de proyecto. Obtén más información sobre la cuota de recursos 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 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 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.