Administrar activos

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 objeto, 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 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-asset

Crear 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.tif
earthengine 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-name
earthengine 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.json

Enumerar 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/assets

Configurar 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-name

Usa 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-name

Consulta 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-name

Copiar 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-name

Mover 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-name

Borrar 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-name

Visualizar 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-name

Configurar metadatos de recursos

Se pueden establecer los siguientes metadatos de activo:

  • start_time
  • end_time
  • properties

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.