GeoTIFFs optimizados para Cloud (COG) en Earth Engine

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 los resultados del procesamiento de 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:

  1. 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.

  2. 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 con respecto a la cuota de recuento de recursos, no al 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 del 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 la exportación de 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 completamente 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.

Consideraciones sobre los costos y clases de almacenamiento

Cuando se analizan 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 almacén de datos en reposo mensual estándar (GB/mes) y cualquier tarifa de transferencia de datos de clientes externos o 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 rendimiento que Standard Storage, por lo que no hay una penalización de 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, el acceso 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-central1 o 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 earthengine o 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 cloudOptimized establecido en true (consulta la exportación de 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.