O Google Earth Engine permite trabalhar com dados rasterizados armazenados nos seus próprios buckets do Google Cloud Storage (GCS). Ao usar GeoTIFFs otimizados para a nuvem (COGs, na sigla em inglês), é possível acessar e analisar seus dados diretamente no Earth Engine sem precisar ingerir os pixels no armazenamento de recursos do Earth Engine.
Essa abordagem de priorização da nuvem oferece vários benefícios, especialmente para gerenciar grandes conjuntos de dados ou integrar o Earth Engine a fluxos de trabalho mais amplos do Google Cloud ou ferramentas e plataformas externas.
Por que usar o Cloud Storage e os COGs?
- Flexibilidade e interoperabilidade:mantenha seus dados em buckets padrão do Cloud Storage, onde eles podem ser acessados por outras ferramentas e serviços. Se você fizer upload dos dados diretamente ou exportá-los do Earth Engine, o Cloud Storage servirá como uma única fonte de verdade para o Earth Engine e fluxos de trabalho externos.
- Controles de dados e saída:o armazenamento de dados no Cloud Storage oferece recursos padrão de gerenciamento de repositório de objetos. Isso permite fazer o download, migrar, ou compartilhar seus dados usando recursos do Cloud Storage, como Requester Pays ou buckets públicos, e gerenciar o acesso usando o Cloud IAM padrão.
- Escalonamento flexível: evite os limites de armazenamento do Earth Engine. O Cloud Storage oferece escalonamento de armazenamento de autoatendimento praticamente ilimitado para petabytes.
- Sem espera de ingestão:o registro de um COG é concluído rapidamente porque o Earth Engine lê apenas os metadados (como projeção e dimensões) do cabeçalho do arquivo para indexação e validação. Os dados de pixel reais permanecem no Cloud Storage e são lidos sob demanda durante a computação, eliminando a necessidade de uma tarefa de ingestão separada.
Fluxos de trabalho de COG no Earth Engine
O Earth Engine oferece suporte a fluxos de trabalho bidirecionais com COGs no Cloud Storage: é possível ler COGs diretamente do GCS para o Earth Engine e gravar resultados de computação do Earth Engine diretamente no GCS como COGs.
Como ler COGs do Cloud Storage
Para trazer COGs hospedados no GCS para o Earth Engine, você tem duas opções:
Carregamento direto (
ee.Image.loadGeoTIFF): carregue uma única imagem diretamente usando o URI do GCS. Essa opção é ideal para testes rápidos, análises ad hoc ou dados temporários: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 exemplos completos, consulte Imagens de Cloud GeoTIFFs.
Recursos registrados: registre um ou mais COGs como um recurso do Earth Engine usando um manifesto de upload (consulte o guia de registro de COG). Esse é o caminho recomendado para fluxos de trabalho de produção, especialmente ao criar coleções de imagens.
| Recurso | Carregamento direto (loadGeoTIFF) |
Recurso registrado (manifesto) |
|---|---|---|
| Configuração | Nenhum (apenas URI do GCS) | Manifesto (cliente Python, CLI ou REST) |
| Desempenho | Padrão (lê o cabeçalho na leitura) | Otimizado (indexado na criação) |
| Administração | Nenhum recurso criado | Conta na cota de contagem de recursos, não no armazenamento. |
| Caso de uso | Prototipagem, análise ad hoc | Fluxos de trabalho de produção que precisam de leituras rápidas. |
Como gravar COGs no Cloud Storage
Para salvar os resultados de computação do Earth Engine como COGs no bucket do Cloud Storage,
use a
Export.image.toCloudStorage
função de exportação em lote (consulte Exportar
imagens) e defina
o parâmetro cloudOptimized como true em formatOptions. Isso informa ao Earth Engine para compilar a imagem e gravá-la diretamente no bucket do GCS como um COG totalmente compatível.
Locais de bucket do Cloud Storage com suporte
Para que o Earth Engine acesse seu bucket do Cloud Storage, ele precisa estar localizado em uma das seguintes regiões ou multirregiões do data center:
- A multirregião
us - Qualquer região birregional dos EUA que inclua
us-central1 - A região
us-central1
Se o bucket for colocado em qualquer outro data center regional, o Earth Engine vai rejeitar solicitações de registro e leitura. O Earth Engine acessa COGs armazenados exclusivamente em buckets do Google Cloud Storage. Provedores de armazenamento em nuvem externos e URLs HTTP genéricas não são compatíveis.
Considerações de custo e classes de armazenamento
Ao analisar recursos de COG registrados, as leituras do Earth Engine não geram cobranças de operação de leitura ou recuperação de dados do Cloud Storage no seu projeto do Google Cloud.
O Cloud Storage cobra principalmente pelo armazenamento de dados em repouso mensal padrão (GB/mês) e por quaisquer taxas de transferência de dados de clientes externos ou de saída de rede (dependendo do local do bucket e da configuração de rede do cliente).
Recomendações de classe de armazenamento
- Armazenamento padrão (recomendado) : o armazenamento padrão é mais adequado para fluxos de trabalho ativos do Earth Engine. Como ele não tem regras de duração mínima de armazenamento, é possível substituir, atualizar ou excluir COGs temporários livremente sem incorrer em penalidades de exclusão antecipada. Além disso, se você ou seus colaboradores acessarem o bucket usando software SIG de computador, scripts GDAL ou notebooks de machine learning fora do Earth Engine, o Standard Storage não vai gerar sobretaxas de recuperação de varejo.
- Armazenamento Nearline, Coldline e Archive Storage:todas as classes do Cloud Storage oferecem o mesmo acesso de baixa latência e capacidade de processamento que o Standard Storage. Portanto, não há penalidade de desempenho de leitura ao usar camadas de armazenamento mais frias no Earth Engine. Embora as computações do Earth Engine também possam ler essas camadas sem avaliar as taxas de recuperação de dados de varejo, as regras de varejo do Cloud Storage aplicam durações mínimas de armazenamento rigorosas (30 dias para Nearline, 90 dias para Coldline, 365 dias para Archive). A modificação ou exclusão de arquivos antes da duração mínima aciona sobretaxas de exclusão antecipada. Além disso, o acesso a objetos frios de qualquer ferramenta de cliente externa gera sobretaxas de recuperação de dados caras.
Para informações detalhadas sobre preços de varejo e políticas de duração mínima, consulte o Guia de preços do Google Cloud Storage.
Fluxo de trabalho de alto nível
Os fluxos de trabalho típicos para usar COGs no Earth Engine envolvem as seguintes etapas:
Para importar dados externos:
- Otimizar:converta seus arquivos rasterizados para o formato COG usando ferramentas externas (como GDAL, scripts de estação de trabalho local ou pipelines de processamento em nuvem).
- Fazer upload:faça upload dos COGs para um bucket do Cloud Storage compatível localizado em
us-central1ou em uma multirregião dos EUA. - Permissões: verifique se você e todos os colaboradores do projeto têm acesso de leitura do Cloud Storage aos arquivos (consulte Permissões de COG).
- Registrar: use a biblioteca de cliente Python, a ferramenta de linha de comando
earthengineou a API REST para registrar os COGs como recursos do Earth Engine (consulte Registro de COG).
Para exportar resultados:
- Exportar:execute uma exportação em lote do Earth Engine para o Cloud Storage com
cloudOptimizeddefinido comotrue(consulte Exportar imagens). - Registrar (opcional): registre o COG exportado de volta ao Earth Engine como um novo recurso para análise adicional (consulte Registro de COG).
Tudo pronto para começar? Siga o guia detalhado de registro de COG para registrar seu primeiro recurso.