Extracción de datos de imágenes

Cómo obtener datos de imágenes de Earth Engine

Para obtener datos de imágenes de Earth Engine en Google Drive, Cloud Storage o un recurso de Earth Engine, puedes usar Export, y Earth Engine se encargará por completo de la tarea. Si tus trabajos de exportación tienen problemas de escalamiento (p.ej., tardan más de un día, muestran errores de tiempo de espera o de memoria) o ya conoces un framework como Apache Beam, Spark o Dask, es posible que prefieras los métodos de extracción de datos que se describen aquí. Los flujos de trabajo implementados en estos marcos de trabajo se pueden escalar con herramientas de Google Cloud, como Dataflow o Dataproc.

Específicamente, en esta guía, se describen los métodos para realizar solicitudes manuales de datos de imágenes con getPixels o computePixels. Aquí, "datos de imagen" se refiere a arreglos multidimensionales de valores de píxeles con escala y proyección coherentes. La región, la escala, la proyección o las dimensiones se especifican en la solicitud. En la página ImageFileFormat, se enumeran los posibles formatos de salida. Los destinos de salida incluyen Cloud Storage o cualquier directorio montado de forma local. Las solicitudes manuales agregan complejidad, pero pueden escalarse a cargas de trabajo más grandes.

Cómo obtener datos de imágenes de recursos existentes

Usa getPixels para obtener datos de imágenes de los activos existentes de Earth Engine. Pasas el ID del recurso directamente a la solicitud, por lo que no puedes realizar ningún cálculo en los píxeles antes de extraerlos. Se muestra un bloque de píxeles en la región, escala, proyección y formato especificados. En el siguiente ejemplo, se muestra cómo obtener series temporales de NDVI de una colección de imágenes MODIS con getPixels.

Cómo obtener datos de imágenes de imágenes computadas

Usa computePixels para obtener datos de imagen de una imagen computada, por ejemplo, un compuesto. Con computePixels, pasas un objeto ee.Image calculado a través del parámetro expression. Se muestra un bloque de píxeles calculados en la región, escala, proyección y formato especificados. En el siguiente ejemplo, se muestra cómo obtener parches de datos multiespectrales de un compuesto de Sentinel-2 sin nubes.

Paralelización manual de solicitudes

Si bien puedes realizar solicitudes para cualquier propósito en cualquier volumen, te recomendamos que paralelices las solicitudes para flujos de trabajo más grandes. Para realizar muchas solicitudes de este tipo en paralelo, debes usar el extremo de alto volumen de Earth Engine. La cantidad de solicitudes en paralelo que puedes tener se establece según tu cuota de solicitudes interactivas simultáneas. Consulta la página de alto volumen de Earth Engine para obtener detalles sobre cuándo usar el extremo de alto volumen.

Multiprocesamiento

Puedes usar subprocesos para realizar solicitudes simultáneas. Este enfoque se muestra en los notebooks de ejemplo getPixels y computePixels.

Apache Beam

Puedes usar canalizaciones de Apache Beam para paralelizar las solicitudes. Estas canalizaciones se pueden ejecutar de forma local o como trabajos de Google Dataflow. Para ver ejemplos, consulta esta capacitación de Geo for Good o esta demostración de personas, planeta y IA. Como alternativa, otras bibliotecas de paralelización incluyen Dask y Apache Spark.