Perguntas frequentes

Perguntas gerais

Tenho um problema e preciso de ajuda!

Faça uma pergunta seguindo este guia, fornecendo o máximo de informações possível (consulte o guia do Stack Overflow para fazer boas perguntas). Isso geralmente significa:

  • enviando um link para um script no editor de código (clique no botão "Get Link" para conseguir um)

  • compartilhar recursos necessários para executar o script

  • Para tarefas em lote com falha, informe o ID da tarefa com falha. Os IDs de tarefa são parecidos com este: 4C25GIJBMB52PXTEJTF4JLGL. Eles podem ser encontrados na guia "Tarefa" do editor de código. Saiba mais.

Onde posso ler sobre a arquitetura do Earth Engine?

Consulte este artigo: Gorelick et al. 2017.

Consulte as páginas EDU e Recursos de treinamento.

Confira este curso sem custo financeiro de EE (em inglês) de Ujaval Gandhi, que inclui um vídeo com uma introdução ao sensoriamento remoto.

Programação do Earth Engine

Quais são alguns erros de programação comuns?

Consulte o guia de depuração.

Por que estou recebendo um erro "... não é uma função"?

Esse erro ocorre quando o Earth Engine não consegue encontrar o método chamado. Confira as seguintes causas comuns:

Ortografia ou diferenciação de maiúsculas e minúsculas: os métodos diferenciam maiúsculas de minúsculas. Verifique a ortografia na Referência da API.

Error: img.normalizedDiff(...) -> Correct: img.normalizedDifference(...)

Conversões de tipo ausentes: os valores retornados de funções como .get() são instâncias ee.ComputedObject genéricas e precisam ser convertidos explicitamente. Consulte Conversão de tipo de objeto desconhecido.

Error: dict.get('val').add(5) -> Correct: ee.Number(dict.get('val')).add(5)

Misturar métodos de cliente e servidor: verifique se você não está usando métodos padrão de JavaScript ou Python (como .push() ou .append()) em objetos do Earth Engine. Consulte Evitar misturar funções de cliente e servidor.

Error: list.push(4) or list.append(4) -> Correct: list.add(4)

Métodos indisponíveis: se o objeto estiver digitado corretamente e o método existir na documentação ou tiver funcionado antes, mas agora falhar, informe um bug.

Por que não posso usar matemática básica como ee.Image("image") * 2?

No EE, não misture objetos ou operações do lado do servidor e do lado do cliente. Todas as operações em objetos EE são realizadas no lado do servidor. Os cálculos do lado do cliente não vão fazer o que você quer. Consulte esta página para mais detalhes.

Como posso usar loops for ou instruções if/else?

A programação do Earth Engine é feita usando uma linguagem funcional. Portanto, loops e operações condicionais precisam ser expressos usando conceitos equivalentes, como map ou filter. Consulte esta página para mais detalhes.

Como faço para mostrar rótulos de texto na minha imagem ou vídeo?

Não há suporte integrado para rótulos de texto, mas você pode:

Posso usar algumas paletas de cores padrão?

Use um pacote JS de terceiros ee-palettes.

Como faço para criar meu próprio site usando o Earth Engine?

Use os apps do Earth Engine para aplicativos básicos. Em casos mais complexos, é possível criar apps do App Engine com tecnologia EE.

Como funcionam os IDs de mapa?

Os IDs de mapa (chamados de mapid em toda a API) são chaves que permitem aos clientes buscar blocos de mapa. Cada ID é um hash criado ao fornecer uma expressão de imagem ao endpoint getMapId. Os IDs resultantes são chaves que apontam para a expressão da imagem e as credenciais do usuário que serão usadas para gerar blocos em uma etapa posterior.

Para solicitar blocos de mapa, é necessário especificar a localização do bloco (x, y, zoom) e o mapid (a chave da imagem e das credenciais). O mesmo ID pode ser reutilizado para carregar vários blocos de mapa. Não há limites para a reutilização de chaves mapid, mas elas expiram após algumas horas. Não publicamos prazos específicos sobre a duração deles, mas qualquer código que você escreva precisa ser resiliente à expiração do ID.

A criação desses IDs envolve o armazenamento de uma pequena quantidade de dados e a validação de credenciais. Por isso, é melhor reutilizá-los pelo maior tempo possível. Não há uma cota de API especificamente associada ao endpoint getMapId, mas qualquer fluxo de trabalho que envolva a criação de objetos mapid a uma taxa próxima à de busca de blocos provavelmente está fazendo algo errado. O Earth Engine não tem um endpoint de API para remover, listar ou gerenciar esses IDs, já que são recursos temporários.

Por que ee.Algorithms.If() mostra os casos verdadeiro e falso?

function a() { print("true"); }
function b() { print("false"); }
// Prints 'true' and 'false'.
ee.Algorithms.If(true, a(), b());

O algoritmo If() funciona como todos os outros algoritmos do Earth Engine. Todos os argumentos precisam ser avaliados antes que o algoritmo possa ser executado. O algoritmo recebe os resultados trueCase e falseCase e escolhe e retorna um com base no argumento condition. No entanto, os dois caminhos precisam ser executados para que esses valores sejam transmitidos ao algoritmo.

Recebo o erro "O tamanho do payload da solicitação excede o limite"

Você está tentando enviar uma solicitação muito grande para o Earth Engine. Isso geralmente acontece quando o código usa muitos loops "for" do lado do cliente ou cria um FeatureCollection com muitos objetos de geometria. Nesse caso, em vez de criar essas geometrias no script, gere um arquivo CSV que as contenha e faça upload dele para um recurso de tabela.

Qual é a diferença entre ee.Image.clip() e ee.Filter.bounds()?

Consulte esta conversa do GIS Stack Exchange (em inglês). A função ee.Image.clip() mascara pixels que não se cruzam com um determinado ee.Geometry ou ee.Feature, tornando-os transparentes nas visualizações e excluídos nos cálculos. Você pode pensar nisso como cortar pixels de uma imagem.

A função ee.Filter.bounds() filtra objetos ee.Image de um ee.ImageCollection com base na interseção de imagens com um ee.Geometry ou ee.Feature. Ele é usado para limitar o escopo de uma análise apenas às imagens que se cruzam com uma determinada região, o que ajuda a otimizar as expressões.

Como converter pixels de imagem em coleções de recursos, com um recurso por pixel?

Use a função ee.Image.sample(). Consulte exemplos de uso na página de referência da API da função.

Qual é a diferença entre ee.ImageCollection.merge() e ee.ImageCollection.combine()?

A função ee.ImageCollection.merge() mescla todas as imagens de duas coleções em uma, independente de as imagens respectivas terem bandas, metadados, CRS ou escala coincidentes. É a união de duas coleções. O método combine() combina as bandas de imagens correspondentes de duas coleções em uma única coleção. As imagens correspondentes compartilham o mesmo ID (propriedade system:index). É uma junção interna de duas coleções com base no ID da imagem, em que as bandas de imagens correspondentes são combinadas. Para imagens correspondentes, as bandas da imagem secundária são anexadas à imagem principal (a substituição é opcional). Se não houver imagens correspondentes, uma coleção vazia será retornada.

Como filtrar coleções de imagens em vários intervalos de datas?

Consulte esta conversa do GIS Stack Exchange (em inglês). merge() várias coleções juntas ou use ee.Filter.or().

Como criar uma caixa delimitadora ao redor de um determinado ponto?

// Buffer the point by a chosen radius and then get the bounding box.
var LNG = -117.298;
var LAT = 45.162;
var point = ee.Geometry.Point([LNG, LAT]);
var buffer = point.buffer(30000); // half of box width as buffer input
var box = buffer.bounds(); // draw a bounding box around the buffered point
Map.centerObject(box);
Map.addLayer(point);
Map.addLayer(box);

// Map the buffer and bounds procedure over a point feature collection.
var pointCol = ee.FeatureCollection([
  ee.Feature(ee.Geometry.Point([LNG + 1, LAT])),
  ee.Feature(ee.Geometry.Point([LNG - 1, LAT]))
]);
var boxCol = pointCol.map(function(feature) {
  var box = feature.buffer(30000).bounds();
  return feature.setGeometry(box.geometry());
});
Map.addLayer(boxCol);

Data Catalog

Você pode adicionar o conjunto de dados X?

Registre um bug de solicitação de conjunto de dados seguindo o guia de solicitação de conjunto de dados.

Você também pode fazer upload de dados para sua pasta inicial do Earth Engine. Consulte Como importar dados raster e Como importar dados de tabelas.

Um conjunto de dados atual tem uma nova versão

Registre um bug do conjunto de dados seguindo o guia de solicitação de conjunto de dados e indique que você está pedindo uma atualização.

Um conjunto de dados não é atualizado ou está sem recursos

Antes de informar um problema, verifique, se possível, se os recursos selecionados realmente existem no site do provedor do conjunto de dados. Consulte o guia sobre imagens ausentes para mais detalhes.

Se você estiver procurando um recurso filtrando um ImageCollection, verifique se os filtros não são muito restritivos.

Em especial, observe que:

  • A ESA não produziu SR (dados de nível 2) da Sentinel-2 para cenas iniciais de nível 1.

  • O Landsat não tinha cobertura mundial antes de 2000.

Um conjunto de dados tem valores incorretos

Poste no fórum de desenvolvedores. Inclua um script que aumente a resolução original do recurso e deixe claro quais valores estão errados. Explique exatamente onde você observou o valor alternativo.

Onde mais posso perguntar sobre conjuntos de dados?

Para perguntas sobre conjuntos de dados da NASA, consulte o fórum de dados da Terra da NASA.

Se tiver dúvidas sobre as caixas de ferramentas que operam em conjuntos de dados do Copernicus, consulte os fóruns S1, S2 e S3.

Qual é o tamanho do catálogo do EE?

Em outubro de 2023, o catálogo tinha mais de mil conjuntos de dados. O tamanho em disco é de mais de 90 petabytes (após considerar a compactação sem perdas).

Com que frequência os dados no EE são atualizados?

Normalmente, todos os conjuntos de dados em andamento são atualizados pelo menos uma vez por dia, mas nem todos têm dados novos todos os dias. Alguns conjuntos de dados são atualizados várias vezes por dia. No entanto, não há uma política que garanta a presença dos recursos mais recentes no catálogo.

Como faço para ver o conteúdo do catálogo de EE programaticamente?

A lista de conjuntos de dados é exportada no formato STAC para um bucket do Cloud Storage gs://earthengine-stac. O arquivo de entrada é catalog.json.

Posso usar dados ou imagens do Google Maps para análise?

O Google não licencia nem vende dados de mapa de base para análise.

Como posso encontrar a data em que um recurso foi ingerido?

A propriedade de recurso 'system:version' é o carimbo de data/hora da ingestão, formatado como microssegundos desde a época do Unix. Confira um exemplo que converte o carimbo de data/hora de ingestão de uma imagem do Landsat em um formato legível.

var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508');
print('Ingest date', ee.Date(image.getNumber('system:version').divide(1000)));

O catálogo do Earth Engine tem metadados JSON-LD?

Sim, os metadados JSON-LD estão incorporados nas páginas HTML do catálogo. Por exemplo, a página do Sentinel-2 contém o seguinte bloco:

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [{
      "@type": "ListItem",
      "position": 1,
      "name": "Earth Engine Data Catalog",
      "item": "https://developers.google.com/earth-engine/datasets"
    },{
      "@type": "ListItem",
      "position": 2,
      "name": "Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
      "item": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_HARMONIZED"
    }]
  }
  </script>

Landsat

Como o algoritmo simpleComposite é implementado?

A implementação do lado do servidor é equivalente a este código JavaScript.

Como posso criar composições sem nuvens com dados de refletância da superfície do Landsat?

Os dados do Landsat Nível 2 (refletância da superfície) têm várias bandas de qualidade que podem ser usadas para mascarar nuvens e outros artefatos de imagem indesejados. Um exemplo de uso dessas bandas para processar imagens Landsat 8 SR e criar um composto mediano sem nuvens está disponível nesta postagem do GIS Stack Exchange (em inglês). O mesmo procedimento é usado para criar um composto sem nuvens para uso em exemplos de classificação supervisionada no Guia do desenvolvedor.

É necessário fazer a harmonização da refletância da superfície do Landsat entre sensores?

Roy et al., 2016 incluiu uma análise das diferenças de refletância entre a TOA do Landsat 7-8 e a refletância da superfície. Eles publicaram os coeficientes de OLS e RMA para que os leitores pudessem transformar os valores de refletância dos dados de um sensor em outro. A última linha do documento afirma: "Embora as diferenças entre os sensores sejam pequenas, elas podem ter um impacto significativo, dependendo da aplicação dos dados do Landsat". No entanto, essa análise foi baseada em dados de pré-coleta.

As melhorias feitas durante o reprocessamento das coleções 1 e 2 podem influenciar a relação entre os sensores, mas, até onde sabemos, não houve análises semelhantes a Roy et al. (2016) para os dados das coleções 1 ou 2. Apesar de não haver uma análise formal, parece haver um consenso geral entre os usuários influentes do Landsat de que não é necessária correção para os dados da Coleção 2, Nível 2 (refletância da superfície). Por exemplo, em uma resposta a uma pergunta sobre a necessidade de harmonização da Coleção 2, Nível 2, Mike Wulder, da equipe de ciência do Landsat, observou que, dependendo da natureza da aplicação de interesse (incluindo mapeamento de cobertura da terra e detecção de mudanças), os produtos de refletância da superfície da Coleção 2 são altamente adequados e confiáveis, sem necessidade de ajuste entre sensores.

Como posso mascarar nuvens e sombras de nuvens em imagens do MSS?

O módulo msslib de terceiros para o Editor de código JavaScript inclui uma implementação do algoritmo MSScvm, além de outras funções úteis para explorar e preparar dados de MSS.

Gerenciamento de dados

Quem é o proprietário dos dados que faço upload?

De acordo com os Termos de Serviço do Earth Engine, os clientes são proprietários dos dados que enviam para a plataforma.

Não consigo fazer upload dos dados!

Verifique o status da tarefa de upload no painel "Tarefas", no canto superior direito do Editor de código. Você também pode acessar a página de tarefas dedicada.

Se não houver uma tarefa, provavelmente você tentou fazer upload do arquivo pelo Editor de código, mas devido a um problema de rede, o upload nunca foi concluído e a tarefa nunca foi criada. Tente usar outro navegador ou computador.

Se houver uma tarefa com falha, examine o erro exibido. Se não houver uma mensagem de erro específica, primeiro verifique se o arquivo não está corrompido executando gdalinfo para arquivos raster ou ogr2ogr para arquivos vetoriais. Esses comandos tentam ler todos os dados dos arquivos de origem e mostram erros se eles estiverem corrompidos.

Exemplo de chamada gdalinfo:

gdalinfo -mm -stats -checksum file.tif

Exemplo de chamada ogr2ogr que vai converter in.shp em out.csv:

ogr2ogr -lco GEOMETRY=AS_WKT -f CSV out.csv in.shp

Se o arquivo parecer válido, poste o ID da tarefa com falha como texto (não como uma captura de tela) na lista de e-mails para desenvolvedores. Os IDs de tarefas têm este formato: 4C25GIJBMB52PXTEJTF4JLGL. Se possível, torne seu arquivo de origem acessível publicamente. Se for um arquivo particular, compartilhe-o apenas com earthengine@google.com se quiser que a equipe do Earth Engine o examine. Se não for possível compartilhar o arquivo de origem, pelo menos forneça a saída de gdalinfo -mm -stats -checksum.

Se o Earth Engine não for compatível com uma determinada projeção, será necessário reprojetar os dados antes do upload usando, por exemplo, gdalwarp.

Como faço upload de um arquivo em NetCDF ou outro formato raster não aceito?

Somente GeoTIFFs podem ser enviados para o Earth Engine. Outros formatos compatíveis com GDAL podem ser convertidos em GeoTIFFs usando gdal_translate. Exemplo:

gdal_translate -co COMPRESS=DEFLATE file.nc file.tif

Observe que alguns arquivos NetCDF ou HDF consistem em vários subconjuntos de dados que podem ser descobertos com gdalinfo. O gdal_translate comando neste caso será assim (observe o caminho entre as aspas duplas):

gdal_translate HDF4_EOS:EOS_GRID:"/tmp/MCD12Q1.A2001001.h00v08.005.2011055224312.hdf":MOD12Q1:Land_Cover_Type_1 file.tif

Às vezes, os arquivos NetCDF não têm uma projeção que o GDAL reconhece. Nesse caso, você precisaria definir a projeção e a extensão espacial na linha de comando gdal_translate. Exemplo:

gdal_translate -a_srs EPSG:4326 -a_ullr -180 90 180 -90 file.nc file.tid

Quais algoritmos de compactação posso usar para GeoTIFFs enviados?

Para fazer upload, os GeoTIFFs podem ser compactados com DEFLATE, JPEG, JPEG-XL/JXL, LERC, LERC_DEFLATE, LERC_ZSTD, LZMA, LZW, WEBP ou ZSTD. Para leitura de COG em tempo real, use DEFLATE, JPEG, LZW ou ZSTD. O ZSTD é uma boa opção geral, porque é rápido para descompactar e ainda oferece uma boa compactação da maioria das imagens.

Para aplicar a compactação ZSTD ao usar gdal_translate, adicione estas opções. Se os dados tiverem valores de ponto flutuante, mude PREDICTOR para 3.

gdal_translate in.tif out.tif \
  -co COPY_SRC_OVERVIEWS=YES \
  -co TILED=YES \
  -co BLOCKXSIZE=512 \
  -co BLOCKYSIZE=512 \
  -co COMPRESS=ZSTD \
  -co PREDICTOR=2 \
  -co ZSTD_LEVEL=22 \
  -co INTERLEAVE=BAND \
  -co NUM_THREADS=ALL_CPUS

Minha ingestão de raster está em execução há dias e não foi concluída.

Usando gdalinfo, verifique se o arquivo tem a seguinte opção do GDAL definida: INTERLEAVE=PIXEL. Para arquivos com essa opção e muitas bandas, a ingestão pode nunca terminar porque o layout desses arquivos torna as leituras muito lentas.

Tente converter esses arquivos para o layout intercalado por banda antes de fazer o upload:

gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif

Meus rasters enviados por upload não correspondem ao mapa de base.

Se os dados estiverem ligeiramente deslocados do mapa de base, provavelmente a projeção tem um datum incorreto (pressuposto sobre o formato da Terra). Isso acontece com mais frequência com a projeção senoidal, que não pode ser totalmente codificada em metadados do GDAL. Quando você sabe qual deve ser a projeção de destino (por exemplo, SR-ORG:6974 para arquivos que usam a projeção senoidal MODIS), defina a flag --crs durante o upload da linha de comando ou o campo crs do manifesto de upload.

Se os dados aparecerem muito distorcidos ou no lugar completamente errado, a projeção ou a transformação afim provavelmente estão incorretas.

Meu raster só aparece no hemisfério oriental.

Você provavelmente enviou um raster global que abrange o intervalo de longitude [0, 360]. No entanto, o Earth Engine exige que os rasteres estejam no intervalo [-180, 180]. Inverta as metades esquerda e direita do raster antes da ingestão. Confira estas sugestões do GIS Stack Exchange.

Por que a imagem de classificação ingerida parece granulada?

Você provavelmente usou a política de piramidação padrão MEAN. Para imagens de classificação, use a política de piramidação MODE. Para imagens de QA/bitmask, use a política de piramidação SAMPLE.

Recebo o seguinte erro: "Nenhum valor de dados -128.0 pode ser aplicado à banda nº 0 do tipo Short<0, 255>".

O GDAL não pode tratar bandas de byte único como contendo números inteiros com sinal. Portanto, ele lê essas bandas como números inteiros sem sinal. Isso entraria em conflito com valores negativos de "sem dados".

Se os valores forem números inteiros com sinal, use o upload de manifesto e adicione isso à seção de conjunto de blocos que contém seu arquivo: data_type: "INT8"

Se os valores forem números inteiros sem sinal, o arquivo terá um valor nodata incorreto. Você pode substituir esse valor no upload com o valor de dados correto ou um valor que nunca ocorre, se houver. Você também pode usar gdal_translate -a_nodata para mudar o valor "nodata" ou gdal_edit.py -unsetnodata para remover.

Como faço upload de um arquivo em GeoJSON ou outro formato vetorial não compatível?

Use o ogr2ogr para traduzir formatos compatíveis com OGR em CSV ou SHP. Exemplo:

or2ogr -f "ESRI Shapefile" file.shp file.kml

Em uploads de CSV, a coluna de geometria pode conter GeoJSON.

Quero fazer upload de dados usando Python ou de vários arquivos de uma só vez.

Use o upload pela linha de comando. Esses uploads exigem que os arquivos de origem sejam colocados primeiro em um bucket do GCS (Google Cloud Storage). O uso do GCS não custa nada se você permanecer dentro dos limites do nível sem custo financeiro. Consulte a página de preços.

Quero fazer upload de um mosaico raster grande dividido em vários blocos.

Se todos os arquivos tiverem a mesma projeção e tamanho de pixel, basta fazer upload deles juntos no mesmo recurso. Eles serão combinados automaticamente.

Se os arquivos tiverem projeções ou tamanhos de pixel diferentes, não será possível criar um mosaico com eles em um único recurso raster. Em vez disso, faça upload de cada bloco como um recurso separado no mesmo ImageCollection que pode ser montado em mosaico usando ImageCollection.mosaic().

Estou tentando fazer upload de um mosaico e recebo erros sobre blocos incompatíveis.

Os blocos de mosaicos rasterizados do Earth Engine precisam ter a mesma projeção e tamanho de pixel. Além disso, os blocos precisam estar alinhados exatamente nos limites dos pixels.

Estou tentando fazer upload de um arquivo de um bucket do GCS, mas o Earth Engine não consegue encontrá-lo.

Talvez você tenha usado Contas do Google diferentes para o upload do GCS e para a conexão com o Earth Engine. Verifique se o arquivo do GCS pode ser lido pela conta usada para se conectar ao Earth Engine. Se o login múltiplo do navegador confundir você, conecte-se ao Earth Engine em uma janela anônima.

Quero exportar vários recursos de uma só vez.

Você precisa exportar cada imagem separadamente.

Quero mover ou excluir um Folder ou um ImageCollection com um único comando.

Primeiro, mova ou exclua cada recurso e, em seguida, mova ou exclua a pasta ou coleção principal. Se houver muitos recursos filhos, escreva um loop de shell ou Python para iterar sobre eles.

Quero acessar diretamente os dados do Earth Engine de fora do EE.

O QGIS tem um plug-in do Earth Engine.

O GDAL tem um driver do Earth Engine.

Outros sistemas podem usar a API REST do EE.

Quero atualizar uma parte do meu recurso do Earth Engine sem ingerir tudo de novo.

Não é possível atualizar dados raster ou vetoriais enviados para o EE. Somente as propriedades de metadados de recursos podem ser atualizadas.

Estou perdendo o acesso à minha conta. O que faço com meus recursos?

Se as políticas da conta original permitirem a transferência de dados, compartilhe seus recursos com outra conta e copie-os para a nova conta. Use o utilitário de cópia de linha de comando se houver muitos recursos para mover.

Se uma conta for excluída, os recursos dela não ficarão mais acessíveis.

Minha imagem exportada está no lugar errado.

Em algumas projeções, como senoidais ou cônicas, os arquivos GeoTIFF às vezes não conseguem armazenar todos os parâmetros necessários. Isso resulta em um arquivo exportado que aparece no lugar errado quando visualizado em ferramentas de GIS para computador ou ingerido novamente no EE.

Para corrigir isso, especifique um parâmetro de exportação crs que funcione bem com arquivos GeoTIFF. Por exemplo, use o código EPSG para a zona UTM que contém sua área de interesse.

Qual local de bucket do Cloud Storage devo usar para armazenar recursos COG?

A resposta depende do que você está tentando otimizar. Se você estiver otimizando para acesso de computação de baixa latência, os melhores locais de bucket do GCS para armazenar recursos COG são US-CENTRAL*. Consulte a página Locais de bucket para mais informações sobre outras considerações.

Os recursos da coleção de atributos exportados não preservam as propriedades que eu defini.

Nenhuma função Export.table.* preserva as propriedades no nível da tabela na saída. Para muitos formatos de saída (por exemplo, CSV, GeoJSON), não há suporte para esses metadados. A função Export.table.toAsset poderia ser compatível com propriedades no nível da tabela, mas não é no momento.

As tabelas exportadas para o Drive no formato CSV são convertidas para o formato XLSX.

Dependendo das suas configurações do Google Drive, as tabelas CSV exportadas do Earth Engine podem ser convertidas em arquivos XLSX com efeitos indesejados, como conversões de tipo de dados. Siga estas etapas para modificar o comportamento das exportações subsequentes.

  1. No Google Drive na Web, clique no ícone de configurações no canto superior direito.
  2. Clique em "Configurações".
  3. Role a tela até "Converter arquivos enviados para o formato do editor do Google Docs" e desmarque a opção.

Editor de código

Não consigo fazer login no Editor de código porque ele me pede para usar a conta errada.

Saia, selecione a conta registrada para usar o Earth Engine na página "Escolher uma conta" e selecione a mesma conta na segunda página "Escolher uma conta para continuar no Editor de código do Earth Engine" (a frase exata pode ser diferente).

Quero fazer uma captura de tela de um mapa-múndi, mas não gosto da projeção de Mercator na Web.

A projeção cartográfica usada no Editor de código é Web Mercator ("EPSG:3857"). Ele aumenta o tamanho dos objetos longe do equador, fazendo com que as regiões de alta latitude pareçam muito maiores do que realmente são, em comparação com as regiões próximas ao equador. Não é possível mudar a projeção da tela do mapa do Editor de código, mas é possível "pintar" uma imagem na projeção escolhida na tela Web Mercator usando o método ee.Image.changeProj. Consulte a página de referência da API do método para ver um exemplo de como mostrar um DEM global no mapa do Editor de código na projeção de Robinson. Essa técnica só deve ser usada para fins de visualização, já que o inspetor e as ferramentas de desenho do editor de código ainda operam em Web Mercator.

Meu script não salva (Script error: Unknown commit).

Se você receber uma mensagem Script error: Unknown commit ao salvar um script, isso provavelmente significa que o repositório em que você está salvando está dessincronizado. A causa desse estado é variável e difícil de identificar. Para resolver o problema, tente atualizar a lista de scripts usando o botão no canto superior direito da guia "Script". Se isso não funcionar, tente criar um repositório usando o botão "Novo" na guia "Script" e salve o script lá. Talvez seja necessário mover os scripts para o novo repositório do repositório dessincronizado.