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:
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 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-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
cloudOptimizedestablecido entrue(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.