O conjunto de dados de mudança florestal global Hansen et al. (2013) no Earth Engine representa a mudança florestal, com resolução de 30 metros, em todo o mundo, entre 2000 e 2014. Vamos começar adicionando os dados de Hansen et al. ao mapa. Importe os dados de mudança florestal global
(saiba mais sobre como pesquisar e importar conjuntos de dados)
pesquisando "Hansen forest" e nomeando a importação como gfc2014
ou copie o
código a seguir no editor de código:
Editor de código (JavaScript)
var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015'); Map.addLayer(gfc2014);
Clique no botão Executar na parte de cima do Editor de código. Você vai ver algo parecido com a Figura 1.

Não se preocupe, você vai melhorar isso em breve. Saiba mais sobre as visualizações de imagens padrão no Earth Engine. Ao final desta seção, você terá uma imagem semelhante à Figura 2, em que o verde representa onde o estudo detectou floresta no ano 2000, o vermelho é a perda estimada de floresta durante o período do estudo, o azul é o ganho de floresta durante esse período, o magenta são áreas em que a floresta foi perdida e ganha, e as áreas não florestais são mascaradas.

Quando uma imagem multibanda é adicionada a um mapa, as três primeiras bandas são escolhidas como vermelho, verde e azul, respectivamente, e esticadas de acordo com o tipo de dados de cada banda. A imagem aparece vermelha porque as três primeiras bandas são treecover2000
, loss
e gain
. A faixa treecover2000
é expressa como uma porcentagem e tem valores muito maiores do que loss
(verde) e gain
(azul), que são binários ({0, 1}). Portanto, a imagem aparece predominantemente vermelha.
As bandas nos dados de mudança florestal global são:
Nome da banda | Descrição | Intervalo |
---|---|---|
treecover2000 | Porcentagem de cobertura de árvores no pixel. | 0 - 100 |
perda | 1 se a perda ocorrer durante o período do estudo. | 0 ou 1 |
ganhar | 1 se o ganho acontecer durante o período do estudo. | 0 ou 1 |
lossyear | O ano em que a perda ocorreu, indexado a partir de 2001, ou zero se nenhuma perda ocorreu. | 0 a 12 |
first_b30 | A banda vermelha do Landsat 7 criada com base nos primeiros pixels válidos em 2000 (ou mais antigos, se não houver pixels válidos em 2000). | 0 - 255 |
first_b40 | A banda de infravermelho próximo do Landsat 7 criada com base nos primeiros pixels válidos em 2000. | 0 - 255 |
first_b50 | A primeira banda de infravermelho de ondas curtas do Landsat 7 criada com base nos primeiros pixels válidos em 2000. | 0 - 255 |
first_b70 | A segunda banda de infravermelho de ondas curtas do Landsat 7 criada com base nos primeiros pixels válidos em 2000. | 0 - 255 |
last_b30 | A banda vermelha do Landsat 7 criada com os pixels válidos mais recentes em 2012. | 0 - 255 |
last_b40 | A banda de infravermelho próximo do Landsat 7 criada com base nos pixels válidos mais recentes em 2012. | 0 - 255 |
last_b50 | A primeira banda de infravermelho de ondas curtas do Landsat 7 criada com os pixels válidos mais recentes de 2012. | 0 - 255 |
last_b70 | A segunda banda de infravermelho de ondas curtas do Landsat 7 criada com os pixels válidos mais recentes de 2012. | 0 - 255 |
datamask | Sem dados (0), superfície terrestre mapeada (1) e corpos d'água permanentes (2). | 0, 1, 2 |
Para mostrar a cobertura florestal no ano 2000 como uma imagem em escala de cinza, use a banda treecover2000
, especificada no segundo argumento de Map.addLayer()
:
Editor de código (JavaScript)
Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');
Isso resulta em uma imagem parecida com a Figura 3.

Esta é uma imagem que usa três bandas do Landsat (5, 4 e 3) de 2015. Essa combinação de bandas mostra vegetação saudável em verde e solo em malva::
Editor de código (JavaScript)
Map.addLayer( gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');
O resultado será parecido com a Figura 4.

Uma boa visualização do conjunto de dados de Mudança florestal global mostra a extensão da floresta em 2000 como verde, a perda florestal como vermelho e o ganho florestal como azul. Especificamente, faça com que loss
seja a primeira banda (vermelha), treecover2000
a segunda banda (verde) e gain
a terceira banda (azul):
Editor de código (JavaScript)
Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');
Os valores de perda e ganho são binários, então vão ficar quase invisíveis na imagem, que deve ser parecida com a Figura 5.

Queremos que a perda de floresta apareça em vermelho brilhante e o ganho em azul brilhante. Para corrigir isso, podemos usar o parâmetro de visualização max
para definir o intervalo em que os dados de imagem são esticados. O parâmetro de visualização max
usa uma lista de valores, correspondentes aos máximos de cada banda:
Editor de código (JavaScript)
Map.addLayer(gfc2014, { bands: ['loss', 'treecover2000', 'gain'], max: [1, 255, 1] }, 'forest cover, loss, gain');
O resultado será parecido com a Figura 6.

Isso resulta em uma imagem verde onde há floresta, vermelha onde há perda de floresta, azul onde há ganho de floresta e magenta onde há ganho e perda. No entanto, uma análise mais detalhada revela que não é bem assim. Em vez de ser marcada como vermelha, a perda é laranja. Isso acontece porque os pixels vermelhos brilhantes se misturam com os pixels verdes subjacentes, produzindo pixels laranjas. Da mesma forma, os pixels onde há floresta, perda e ganho são rosa, uma combinação de verde, vermelho claro e azul claro. Confira a Figura 7 para uma ilustração.

Para ter a imagem prometida no início do tutorial, crie imagens separadas para floresta, perda, ganho e para perda e ganho. Adicione cada uma dessas imagens ao mapa na ordem mais adequada para exibição.
Paletas
Para mostrar cada imagem com uma cor diferente, use o parâmetro palette
de Map.addLayer()
para imagens de banda única. Com as paletas, você pode definir o esquema de cores com que a imagem é mostrada (saiba mais sobre paletas). No tutorial da API Earth Engine, você aprendeu que as cores em uma paleta são esticadas linearmente para min
e max
.
Por exemplo, para usar uma paleta verde e mostrar a imagem da extensão da floresta, use:
Editor de código (JavaScript)
Map.addLayer(gfc2014, { bands: ['treecover2000'], palette: ['000000', '00FF00'] }, 'forest cover palette');
O resultado será parecido com a Figura 8.

Ao aumentar o zoom, você tem uma ideia melhor da resolução das imagens. A Figura 9 mostra uma área ao redor de Mariscal Estigarribia, no Paraguai.

A imagem mostrada na Figura 3 está um pouco escura. O problema é que a banda treecover2000
tem um tipo de dados de byte ([0, 255]), quando, na verdade, os valores são porcentagens ([0, 100]). Para clarear a imagem, defina os parâmetros min
e/ou max
de acordo com a necessidade. Em seguida, a paleta é esticada entre esses extremos.
Editor de código (JavaScript)
Map.addLayer(gfc2014, { bands: ['treecover2000'], palette: ['000000', '00FF00'], max: 100 }, 'forest cover percent');
O resultado será parecido com a Figura 9. Neste exemplo, apenas o
max
está definido. O min
é zero por padrão.

Mascaramento
Todas as imagens mostradas até agora tinham grandes áreas pretas onde os dados eram zero. Por exemplo, não há árvores no oceano. Para tornar essas áreas transparentes, é possível mascarar os valores delas. Cada pixel no Earth Engine tem um valor e uma máscara. A imagem é renderizada com a transparência definida pela máscara. Zero é completamente transparente e um é completamente opaco.
É possível mascarar uma imagem com ela mesma. Por exemplo, se você mascarar a banda treecover2000
com ela mesma, todas as áreas em que a cobertura florestal é zero ficarão transparentes:
Editor de código (JavaScript)
Map.addLayer(gfc2014.mask(gfc2014), { bands: ['treecover2000'], palette: ['000000', '00FF00'], max: 100 }, 'forest cover masked');
O resultado será parecido com a Figura 10.

Exemplo
É quase possível fazer uma visualização dos dados de Hansen como a do início do tutorial. Neste exemplo, vamos juntar tudo com uma pequena diferença. Em vez de especificar o parâmetro bands
na
chamada Map.addLayer
, estamos criando novas imagens usando select()
:
Editor de código (JavaScript)
var treeCover = gfc2014.select(['treecover2000']); var lossImage = gfc2014.select(['loss']); var gainImage = gfc2014.select(['gain']); // Add the tree cover layer in green. Map.addLayer(treeCover.updateMask(treeCover), {palette: ['000000', '00FF00'], max: 100}, 'Forest Cover'); // Add the loss layer in red. Map.addLayer(lossImage.updateMask(lossImage), {palette: ['FF0000']}, 'Loss'); // Add the gain layer in blue. Map.addLayer(gainImage.updateMask(gainImage), {palette: ['0000FF']}, 'Gain');
O resultado será parecido com a Figura 11.

Observe que há três chamadas addLayer()
. Cada chamada de addLayer()
adiciona uma camada ao mapa. Passe o cursor sobre o botão Camadas no canto superior direito do mapa para ver essas camadas. Cada camada pode ser ativada ou desativada usando a caixa de seleção ao lado dela, e a opacidade pode ser afetada pelo controle deslizante ao lado do nome.
Estamos quase prontos para criar a imagem mostrada no início do tutorial. No entanto, a camada que mostra os pixels com perda e ganho está ausente. Ela está faltando porque precisamos saber como realizar alguns cálculos em bandas de imagem antes de calcular quais pixels mostram perda e ganho. Esse é o tema da próxima seção.