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 inteiramente pelo Earth Engine. Se os jobs de exportação tiverem problemas de escalonamento (por exemplo,
levarem mais de um dia, retornarem erros de memória ou de tempo limite) ou se você já estiver familiarizado
com um framework como Apache Beam,
Spark ou Dask,
talvez prefira os métodos de extração de dados descritos aqui. Os fluxos de trabalho implementados nesses
frameworks podem ser escalonados 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.
Nesse caso, "dados de imagem" 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 possíveis formatos de saída. Os destinos de saída incluem o Cloud Storage ou qualquer diretório montado
localmente. As solicitações manuais adicionam complexidade, mas podem ser escalonadas para cargas de trabalho maiores.
Como receber dados de imagem de recursos atuais
Use getPixels
para receber dados de imagem de recursos atuais do Earth Engine. Você
transmite o código do recurso diretamente para a solicitação, então não é possível fazer nenhum cálculo 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 receber dados de imagens computadas
Use computePixels
para receber dados de uma imagem computada, por exemplo, uma composição. Com
computePixels,
você transmite um objeto ee.Image calculado pelo parâmetro
expression. Um bloco de pixels calculados na região, escala, projeção e formato especificados é retornado. O exemplo a seguir mostra como receber patches de dados multiespectrais
de um composto do Sentinel-2 sem nuvens.
Carregamento em paralelo manual de solicitações
Embora seja possível fazer solicitações para qualquer finalidade em qualquer volume, talvez você queira paralelizar solicitações para fluxos de trabalho maiores. Para fazer muitas solicitações desse tipo 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 de alto volume do Earth Engine para saber quando usar o endpoint de alto volume.
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 ver exemplos, confira este treinamento do Geo for Good ou esta demonstração de People, Planet and AI. Como alternativa, outras bibliotecas de paralelização incluem Dask e Apache Spark.
Executar no Google Colab
Ver código-fonte no GitHub