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 |
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-assetCrear 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.tifearthengine 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-nameearthengine 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.jsonEnumerar 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/assetsCó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-nameUsa 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-nameConsulta 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-nameCó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-nameMueve 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-nameBorrar 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-nameVisualiza 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-nameConfigura los metadatos de los recursos
Se pueden establecer los siguientes metadatos de activos:
start_timeend_timeproperties
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.