Agora que você já pode começar a escrever o JavaScript do Earth Engine, copie o seguinte código no editor de código:
Editor de código (JavaScript)
// Instantiate an image with the Image constructor. var image = ee.Image('CGIAR/SRTM90_V4'); // Zoom to a location. Map.setCenter(-112.8598, 36.2841, 9); // Center on the Grand Canyon. // Display the image on the map. Map.addLayer(image);
Clique no botão Run na parte de cima do editor de código e observe que uma imagem muito cinza aparece no mapa. Não se preocupe, você vai melhorar a aparência dele em breve. Se a sintaxe de qualquer parte deste exemplo não for familiar, consulte o tutorial de JavaScript para o Earth Engine.
Construtor de imagens
A primeira novidade neste exemplo é o construtor de imagem
ee.Image(). O argumento fornecido ao construtor é o ID de string de uma imagem no Data Catalog do Earth Engine. Consulte a guia Docs, à esquerda
do Editor de Código, para ver uma lista completa de possíveis argumentos para o construtor de imagens. A guia
Documentos representa as informações mais atualizadas sobre o que o Earth Engine
pode fazer.
Para descobrir o ID de uma imagem, pesquise no Data Catalog do Earth Engine usando a ferramenta de pesquisa na parte de cima do editor de código. Por exemplo, digite "elevação" no campo de pesquisa e observe que uma lista de rasters é retornada. Clique na entrada "SRTM Digital Elevation Data Version 4" para ver mais informações sobre esse conjunto de dados. No lado direito da descrição do conjunto de dados, há um campo ID da imagem. Observe que o ID da imagem no exemplo é copiado do ID da imagem mostrado na descrição do conjunto de dados.
Uma alternativa para copiar e colar IDs de imagem é usar o botão Importar na descrição do conjunto de dados ou o link importar no lado direito dos resultados da pesquisa. Se você clicar no link ou botão de importação, uma variável será criada automaticamente em uma seção especial, chamada Importações, na parte de cima do script. Para renomear a variável, clique no nome dela na seção de importações.
Configurar o mapa
A segunda parte nova deste exemplo é a chamada Map.setCenter(). Esse
método no objeto Map, que representa a exibição do mapa no Editor de
Código, centraliza o mapa na longitude e latitude fornecidas (em graus decimais) e no
nível de
zoom, em que 1 é o zoom reduzido para que o mapa mostre toda a superfície da Terra. Números maiores aumentam o zoom a partir daí. Descubra todos os métodos no objeto Map
verificando a seção "Map" na guia "Docs"
no lado esquerdo do editor de código.
Adicionar uma camada ao mapa
A última linha do exemplo diz: use o método addLayer() do objeto Map para adicionar uma imagem à exibição do mapa no Editor de Código.
Parabéns! Você criou seu primeiro script do Earth Engine. Na próxima seção, você vai aprender a melhorar a aparência dessa imagem.
Digressão: imagens no Earth Engine
As imagens no Earth Engine (consulte esta página para mais detalhes) são compostas por uma ou mais bandas. Cada banda em uma imagem tem o próprio nome, valores de pixel, resolução de pixel e projeção. Como você vai descobrir em breve, a imagem da SRTM tem uma banda: "elevation".
Quando você adiciona uma imagem a um mapa usando Map.addLayer(), o Earth Engine precisa
determinar como mapear os valores nas bandas da imagem para as cores na tela. Se uma
imagem de banda única for adicionada a um mapa, por padrão, o Earth Engine vai mostrar a banda em escala de cinza, em que o valor mínimo é atribuído ao preto e o valor máximo ao branco.
Se você não especificar os valores mínimo e máximo, o Earth Engine vai usar
valores padrão. Por exemplo, a imagem que você acabou de adicionar ao mapa é mostrada como uma imagem em escala de cinza esticada para todo o intervalo dos dados ou um número inteiro de 16 bits assinado [-32768, 32767]. Por padrão, as bandas float são estendidas para [0, 1] e as bandas byte são estendidas para [0, 255].
Para descobrir o tipo de dados da imagem, imprima e inspecione o objeto de imagem na guia Console. Por exemplo, cole o seguinte após o código anterior:
Editor de código (JavaScript)
print('SRTM image', image);
Ao clicar em "Run", um objeto aparece no console. Para investigar as propriedades
do objeto, clique no zippy
() à esquerda do
objeto ou da propriedade para expandi-lo. Expanda o objeto de imagem, a propriedade "bands", a banda "elevation"
no índice "0" e a propriedade "data_type" da banda "elevation" para descobrir que é um
tipo de dados
signed int16.
Como personalizar a visualização de camadas
Para mudar a forma como os dados são esticados, forneça outro parâmetro para a chamada
Map.addLayer(). Especificamente, o segundo parâmetro,
visParams, permite especificar os valores mínimo e máximo a serem mostrados. Para
descobrir quais valores usar, ative a
guia Inspetor e clique no
mapa para ter uma ideia do intervalo de valores de pixel. Como alternativa, use o
Gerenciador de camadas para esticar os dados de forma interativa
e observe o mínimo e o máximo correspondentes aos percentis ou aos desvios padrão. Suponha que, por meio dessa experimentação, você determine que os dados
precisam ser estendidos para [0, 3000]. Para mostrar a imagem usando esse intervalo, use:
Editor de código (JavaScript)
Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');
O parâmetro visParams é um objeto com propriedades que especificam
min e max. Saiba mais sobre objetos JavaScript no
tutorial de JavaScript ou
nesta
referência externa. O terceiro parâmetro para Map.addLayer()
é o nome da camada exibida no Gerenciador de
camadas. O resultado será parecido com a Figura 1. Passe o mouse sobre a caixa Camadas à direita para ver o efeito de renomear essa camada.
Para exibir uma única banda usando uma paleta de cores, adicione uma propriedade palette
ao objeto visParams:
Editor de código (JavaScript)
Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']}, 'custom palette');
O resultado será parecido com a Figura 2.
Digressão: paletas
As paletas permitem definir o esquema de cores para imagens de banda única. Uma paleta é uma lista delimitada por vírgulas de strings de cores que são interpoladas linearmente entre os valores máximo e mínimo nos parâmetros de visualização (ou padrões de acordo com o tipo de banda, conforme descrito anteriormente). Por exemplo, os pixels menores ou iguais ao mínimo serão mostrados com a primeira cor da lista, e os pixels maiores ou iguais ao máximo serão mostrados com a última cor da lista. As cores intermediárias são estendidas linearmente para valores de pixel intermediários.
As cores são definidas usando o esquema de valores de cores CSS padrão da Web (consulte esta referência externa para saber mais). As cores podem ser especificadas por nome ou como strings hexadecimais que indicam a combinação de vermelho, verde e azul. O menor valor em qualquer uma das três posições é 00 (representando o número decimal 0), enquanto o maior é FF (representando o número decimal 255). A string "000000" representa a cor preta, "FFFFFF" é branca, "FF0000" é vermelha, "00FF00" é verde e "0000FF" é azul. Consulte a seção Paletas de cores para mais detalhes. Outros alongamentos são possíveis usando descritores de camada estilizados, conforme descrito nesta seção.
Mais adiante neste tutorial, você vai aprender a exibir imagens multibanda. Mas antes, acesse a próxima página para saber como realizar cálculos com imagens.