Extração de dados de imagem

Como receber dados de imagem do Earth Engine

Para transferir dados de imagem do Earth Engine para o Google Drive, o Cloud Storage ou um recurso do Earth Engine, use Export. O job é processado totalmente pelo Earth Engine. Se os jobs de exportação tiverem problemas de escalonamento (por exemplo, levar mais de um dia, retornar erros de memória ou de tempo limite) ou se você já estiver familiarizado com um framework como o Apache Beam, Spark ou Dask, talvez seja melhor usar os métodos de extração de dados descritos aqui. Os fluxos de trabalho implementados nesses frameworks podem ser dimensionados usando ferramentas do Google Cloud, como o Dataflow ou o Dataproc.

Especificamente, este guia descreve métodos para fazer solicitações manuais de dados de imagem usando getPixels ou computePixels. Aqui, "image data" significa matrizes multidimensionais de valores de pixel com escala e projeção consistentes. A região, a escala, a projeção e/ou as dimensões são especificadas na solicitação. A página ImageFileFormat lista os formatos de saída possíveis. Os destinos de saída incluem o Cloud Storage ou qualquer diretório montado localmente. As solicitações manuais aumentam a complexidade, mas podem ser escalonadas para cargas de trabalho maiores.

Como acessar dados de imagem de recursos atuais

Use getPixels para receber dados de imagem de recursos do Earth Engine. Você transmite o ID do recurso diretamente para a solicitação. Portanto, não é possível fazer nenhuma computação nos pixels antes de extraí-los. Um bloco de pixels na região, escala, projeção e formato especificados é retornado. O exemplo a seguir demonstra como receber séries temporais de NDVI de uma coleção de imagens MODIS usando getPixels.

Como acessar dados de imagens computadas

Use computePixels para extrair dados de uma imagem computada, por exemplo, uma imagem composta. Com computePixels, você transmite um objeto ee.Image computado pelo parâmetro expression. Um bloco de pixels computados na região, escala, projeção e formato especificados é retornado. O exemplo a seguir mostra como receber blocos de dados multiespectrais de um composto Sentinel-2 sem nuvens.

Paralelização manual de solicitações

Embora seja possível fazer solicitações para qualquer finalidade em qualquer volume, é recomendável paralelizar as solicitações para fluxos de trabalho maiores. Para fazer muitas solicitações em paralelo, use o endpoint de alto volume do Earth Engine. O número de solicitações paralelas que você pode ter é definido pela sua cota de solicitações interativas simultâneas. Consulte a página Volume alto do Google Earth Engine para saber quando usar o endpoint de volume alto.

Multissegmentação

É possível usar linhas de execução para fazer solicitações simultâneas. Essa abordagem é demonstrada nos notebooks de exemplo getPixels e computePixels.

Apache Beam

É possível usar pipelines do Apache Beam para paralelizar solicitações. Esses pipelines podem ser executados localmente ou como jobs do Google Dataflow. Para conferir exemplos, consulte este treinamento do Geo for Good ou esta demonstração sobre pessoas, planeta e IA. Como alternativa, outras bibliotecas de paralelização incluem Dask e Apache Spark.