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.