Introdução aos dados de mudança florestal global de Hansen et al.

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.

mudança padrão da floresta
Figura 1. Visualização padrão dos dados de mudança florestal de Hansen et al. (2013).

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.

forest change custom
Figura 2. Visualização personalizada dos dados de mudança florestal de Hansen et al. (2013).

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 bandaDescriçãoIntervalo
treecover2000Porcentagem de cobertura de árvores no pixel.0 - 100
perda 1 se a perda ocorrer durante o período do estudo. 0 ou 1
ganhar1 se o ganho acontecer durante o período do estudo. 0 ou 1
lossyearO ano em que a perda ocorreu, indexado a partir de 2001, ou zero se nenhuma perda ocorreu.0 a 12
first_b30A 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_b40A banda de infravermelho próximo do Landsat 7 criada com base nos primeiros pixels válidos em 2000.0 - 255
first_b50A primeira banda de infravermelho de ondas curtas do Landsat 7 criada com base nos primeiros pixels válidos em 2000.0 - 255
first_b70A segunda banda de infravermelho de ondas curtas do Landsat 7 criada com base nos primeiros pixels válidos em 2000.0 - 255
last_b30A banda vermelha do Landsat 7 criada com os pixels válidos mais recentes em 2012. 0 - 255
last_b40A banda de infravermelho próximo do Landsat 7 criada com base nos pixels válidos mais recentes em 2012.0 - 255
last_b50A primeira banda de infravermelho de ondas curtas do Landsat 7 criada com os pixels válidos mais recentes de 2012.0 - 255
last_b70A segunda banda de infravermelho de ondas curtas do Landsat 7 criada com os pixels válidos mais recentes de 2012.0 - 255
datamaskSem 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.

Cobertura vegetal dos EUA
Figura 3. Imagem em escala de cinza da cobertura vegetal de 2000 nos EUA.

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.

Falsa cor dos EUA
Figura 4. Composição de falsa cor do Landsat 7, ano 2015, dos EUA.

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.

Cobertura florestal dos EUA
Figura 5. Cobertura de árvores no ano 2000 nos EUA (verde).

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.

Mudança nas florestas dos EUA
Figura 6. Perda florestal nos EUA (vermelho), cobertura florestal (verde) e ganho (azul) no ano 2000.

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.

Mudança na floresta do noroeste do Pacífico
Figura 7. Perda de floresta no noroeste do Pacífico dos EUA (vermelho), cobertura do ano 2000 (verde) e ganho (azul).

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.

Extensão da floresta NA
Figura 8. Cobertura florestal da América do Norte em 2000.

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.

Extensão da floresta no Paraguai
Figura 9. Cobertura florestal do ano 2000 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.

Paraguai esticado
Figura 9. Cobertura florestal do ano 2000 ao redor de Mariscal Estigarribia, no Paraguai, esticada para [0, 100].

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.

Cobertura vegetal das Américas
Figura 10. Cobertura vegetal do ano 2000, esticada e mascarada.

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.

Ganho/perda nas Américas
Figura 11. Perda de floresta (vermelho), cobertura do ano 2000 (verde) e ganho (azul).

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.