Google Earth Engine te permite trabajar con datos ráster almacenados en tus propios buckets de Google Cloud Storage (GCS). Si usas GeoTIFFs optimizados para la nube (COGs), puedes acceder a tus datos y analizarlos directamente en Earth Engine sin tener que incorporarlos a los píxeles del almacén de recursos de Earth Engine.
Este enfoque centrado en la nube ofrece varios beneficios, en especial para administrar conjuntos de datos grandes o integrar Earth Engine en flujos de trabajo más amplios de Google Cloud o herramientas y plataformas externas.
¿Por qué usar Cloud Storage y COGs?
- Flexibilidad e interoperabilidad: Conserva tus datos en buckets estándar de Cloud Storage, donde otras herramientas y servicios pueden acceder a ellos. Ya sea que subas los datos directamente o los exportes desde Earth Engine, Cloud Storage funciona como una fuente única de información para Earth Engine y los flujos de trabajo externos.
- Control de datos y salida: Almacenar datos en Cloud Storage proporciona capacidades estándar de administración de almacenamiento de objetos. Esto te permite descargar, migrar, o compartir tus datos con las funciones de Cloud Storage, como Requester Pays o buckets públicos, y administrar el acceso con Cloud IAM estándar.
- Ajuste de escala flexible: Evita los límites de almacenamiento de Earth Engine de almacenamiento. Cloud Storage proporciona un ajuste de escala de almacenamiento de autoservicio prácticamente ilimitado a escala de petabytes.
- Sin espera de incorporación: El registro de un COG se completa rápidamente porque Earth Engine solo lee los metadatos (como la proyección y las dimensiones) del encabezado del archivo para la indexación y la validación. Los datos de píxeles reales permanecen en Cloud Storage y se leen a pedido durante el cómputo, lo que elimina la necesidad de una tarea de transferencia independiente.
Flujos de trabajo de COG en Earth Engine
Earth Engine admite flujos de trabajo bidireccionales con COGs en Cloud Storage: puedes leer COGs directamente desde GCS en Earth Engine y escribir resultados de procesamiento desde Earth Engine directamente en GCS como COGs.
Lectura de COGs desde Cloud Storage
Para incorporar COGs alojados en GCS a Earth Engine, tienes dos opciones:
Carga directa (
ee.Image.loadGeoTIFF): Carga una sola imagen directamente con su URI de GCS. Es la mejor opción para pruebas rápidas, análisis ad hoc o datos temporales:JavaScript
var image = ee.Image.loadGeoTIFF('gs://google-sample-bucket/my_image.tif');Python
image = ee.Image.loadGeoTIFF('gs://google-sample-bucket/my_image.tif')Para ver ejemplos completos, consulta Imágenes de Cloud GeoTIFFs.
Recursos registrados: Registra uno o más COGs como un recurso de Earth Engine con un manifiesto de carga (consulta la guía de registro de COG). Esta es la ruta recomendada para los flujos de trabajo de producción, en especial cuando se compilan colecciones de imágenes.
| Función | Carga directa (loadGeoTIFF) |
Recurso registrado (manifiesto) |
|---|---|---|
| Configuración | Ninguno (solo URI de GCS) | Manifiesto (cliente de Python, CLI o REST) |
| Rendimiento | Estándar (lee el encabezado en la lectura) | Optimizada (indexada en la creación) |
| Administración | No se creó ningún recurso | Se cuenta en la cuota de cantidad de recursos, no en el almacenamiento. |
| Caso práctico | Prototipado, análisis ad hoc | Flujos de trabajo de producción que necesitan lecturas rápidas |
Escritura de COGs en Cloud Storage
Para guardar los resultados de procesamiento de Earth Engine como COGs en tu bucket de Cloud Storage,
usa la
Export.image.toCloudStorage
función de exportación por lotes (consulta cómo exportar
imágenes) y establece
el parámetro cloudOptimized en true en formatOptions. Esto le indica a Earth Engine que compile la imagen y la escriba directamente en tu bucket de GCS como un COG totalmente compatible.
Ubicaciones de buckets de Cloud Storage compatibles
Para que Earth Engine acceda a tu bucket de Cloud Storage, el bucket debe estar ubicado en una de las siguientes regiones o multirregiones del centro de datos:
- La multirregión
us - Cualquier región birregional de EE.UU. que incluya
us-central1 - La región
us-central1
Si tu bucket se coloca en cualquier otro centro de datos regional, Earth Engine rechazará las solicitudes de registro y lectura. Earth Engine accede a los COGs almacenados exclusivamente en buckets de Google Cloud Storage. No se admiten proveedores externos de almacenamiento en la nube ni URLs HTTP genéricas.
Especificaciones de exportación de COG de Earth Engine
Cuando exportas resultados analíticos de Earth Engine con
Export.image.toCloudStorage
con cloudOptimized: true en formatOptions, el exportador integrado de Earth Engine
aplica automáticamente los siguientes estándares:
- Estructura de archivos: Genera un BigTIFF (
BIGTIFF=YES) con mosaicos internos (TILED=YES) y copia todas las vistas generales al comienzo del archivo. - Vistas generales automáticas: Si las dimensiones ráster de salida son de 512 x 512 píxeles o más, Earth Engine compila automáticamente cinco niveles de vistas generales de potencias de dos (
[2, 4, 8, 16, 32]). Earth Engine selecciona de forma dinámica el método de remuestreo de la vista general según el tipo de datos de píxeles de salida: remuestreo cúbico para imágenes de punto flotante y remuestreo de vecino más cercano para todas las demás imágenes discretas o de números enteros. - Compresión y mosaicos predeterminados: Earth Engine exporta COGs con mosaicos de bloques de 256 x 256 píxeles y compresión LZW (
COMPRESS=LZW). La compresión y las dimensiones de los mosaicos no se pueden personalizar enformatOptions. - Fragmentación automática: Si un ráster exportado es grande (supera los 4 GiB
sin comprimir), Earth Engine divide automáticamente la exportación en varios
mosaicos espaciales llamados
baseFilename-yMin-xMin(consulta las exportaciones de archivos grandes). - Anula los límites de fragmentación: Para exportar rásteres grandes (hasta un límite máximo de 16 GiB sin comprimir y 131,072 píxeles por borde) como un solo archivo sin fragmentación, especifica
fileDimensionsdentro deformatOptions. Cada dimensión debe ser un múltiplo entero positivo del tamaño del mosaico (256 de forma predeterminada, por ejemplo,[65536, 65536]). Debido a quefileDimensionsestablece la dimensión máxima del archivo en lugar del cuadro delimitador de salida, pasar un límite grande fuerza la exportación a un solo archivo sin requerir cálculos exactos de la cuadrícula. También puedes pasarskipEmptyFiles: truepara evitar generar mosaicos de fondo vacíos. - Compensaciones de optimización: Cuando configures exportaciones grandes, evalúa la compensación entre la cantidad de archivos y la velocidad de exportación. Si especificas
fileDimensionsoshardSizemás pequeños, se producen más fragmentos de archivos, pero se maximiza el procesamiento paralelo en los trabajadores de backend, lo que genera tiempos de finalización de exportación más rápidos. Por el contrario, anular los límites para generar un solo archivo grande simplifica la administración de archivos y el uso compartido de datos, pero puede aumentar los tiempos de ejecución de la exportación debido al ensamblaje de un solo archivo y a los cuellos de botella de E/S. Las exportaciones de COG de un solo archivo muy grandes que se acercan al límite de 16 GiB sin comprimir (en especial, las imágenes que no se comprimen bien) también pueden exceder la capacidad de almacenamiento temporal durante la vista general y el ensamblaje de COG. Si falla una exportación, considera la fragmentación en archivos más pequeños o la conversión externa de una exportación GeoTIFF estándar.
Personaliza la creación de COG fuera de Earth Engine
Si bien la exportación directa con cloudOptimized: true es la forma más sencilla de generar COGs listos para usar para la mayoría de los flujos de trabajo, también puedes exportar un GeoTIFF estándar (cloudOptimized: false, el valor predeterminado) y convertirlo en un COG por tu cuenta con herramientas externas como GDAL. Un flujo de trabajo de exportación y conversión de dos pasos puede ser útil cuando necesitas hacer lo siguiente:
- Personaliza la compresión y el diseño: Adapta los tamaños de bloque (como
512x512), los predictores, los métodos de remuestreo de la vista general o los códecs de compresión (comoZSTD) a tu conjunto de datos (consulta cómo preparar tus COGs). - Evita errores de capacidad en exportaciones masivas de un solo archivo: Omitir la generación de vistas generales y la reescritura del diseño de COG durante la exportación reduce la sobrecarga de memoria y almacenamiento temporal, lo que hace que las exportaciones de un solo archivo muy grandes tengan menos probabilidades de alcanzar los límites de capacidad.
- Reduce el tiempo de ejecución de la exportación de Earth Engine: Descargar la compilación de vistas generales y el formato de COG a tu propio entorno de procesamiento acorta la fase de exportación de Earth Engine.
Consideraciones sobre los costos y clases de almacenamiento
Cuando analizas los recursos de COG registrados, las lecturas de Earth Engine no generan cargos por operación de lectura o recuperación de datos de Cloud Storage en tu proyecto de Google Cloud.
Cloud Storage te factura principalmente por el almacenamiento de datos en reposo (GB/mes) mensual estándar y por cualquier transferencia de datos de clientes externos o tarifas de salida de red (según la ubicación del bucket y la configuración de red del cliente).
Recomendaciones de clase de almacenamiento
- Standard Storage (recomendado): Standard Storage es el más adecuado para los flujos de trabajo activos de Earth Engine. Como no tiene reglas de duración mínima de almacenamiento, puedes anular, actualizar o borrar COGs temporales libremente sin incurrir en sanciones por eliminación anticipada. Además, si tú o tus colaboradores acceden al bucket con software GIS de escritorio, secuencias de comandos de GDAL o notebooks de aprendizaje automático fuera de Earth Engine, Standard Storage no genera recargos por recuperación minorista.
- Nearline Storage, Coldline Storage y Archive Storage: Todas las clases de Cloud Storage proporcionan el mismo acceso de baja latencia y capacidad de procesamiento que Standard Storage, por lo que no hay penalización por rendimiento de lectura cuando se usan niveles de almacenamiento más fríos en Earth Engine. Si bien los procesamientos de Earth Engine también pueden leer estos niveles sin evaluar las tarifas de recuperación de datos minoristas, las reglas minoristas de Cloud Storage aplican duraciones mínimas estrictas de almacenamiento (30 días para Nearline, 90 días para Coldline y 365 días para Archive). Si modificas o borras archivos antes de su duración mínima, se activan recargos por eliminación anticipada. Además, acceder a objetos fríos desde cualquier herramienta de cliente externa genera recargos costosos por recuperación de datos.
Para obtener información detallada sobre los precios minoristas y las políticas de duración mínima, consulta la Guía de precios de Google Cloud Storage.
Flujo de trabajo de alto nivel
Los flujos de trabajo típicos para usar COGs en Earth Engine incluyen los siguientes pasos:
Para importar datos externos, haz lo siguiente:
- Optimiza: Convierte tus archivos ráster al formato COG con herramientas externas (como GDAL, secuencias de comandos de estaciones de trabajo locales o canalizaciones de procesamiento en la nube).
- Sube: Sube los COGs a un bucket de Cloud Storage compatible ubicado en
us-central1o en una multirregión de EE.UU. - Permisos: Asegúrate de que tú y cualquier colaborador del proyecto tengan acceso de lectura de Cloud Storage a los archivos (consulta los permisos de COG).
- Registra: Usa la biblioteca cliente de Python, la herramienta de línea de comandos
earthengineo la API de REST para registrar los COGs como recursos de Earth Engine (consulta el registro de COG).
Para exportar resultados, haz lo siguiente:
- Exporta: Ejecuta una exportación por lotes de Earth Engine a Cloud Storage con
cloudOptimizedconfigurado comotrue(consulta cómo exportar imágenes). - Registra (opcional): Vuelve a registrar el COG exportado en Earth Engine como un recurso nuevo para realizar más análisis (consulta el registro de COG).
¿Todo listo para comenzar? Sigue la guía detallada de registro de COG para registrar tu primer recurso.