Introduzione ai dati sul cambiamento globale delle foreste di Hansen et al.

Il set di dati sul cambiamento globale delle foreste di Hansen et al. (2013) in Earth Engine rappresenta il cambiamento delle foreste, con una risoluzione di 30 metri, a livello globale, tra il 2000 e il 2014. Iniziamo aggiungendo i dati di Hansen et al. alla mappa. Importa i dati sul cambiamento globale delle foreste (scopri di più su come cercare e importare set di dati) cercando "Hansen forest" e assegnando all'importazione il nome gfc2014 oppure copia il seguente codice nell'editor di codice:

Editor di codice (JavaScript)

var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015');
Map.addLayer(gfc2014);

Fai clic sul pulsante Esegui nella parte superiore dell'editor di codice e dovresti vedere qualcosa di simile alla Figura 1.

forest change default
Figura 1. Visualizzazione predefinita dei dati sui cambiamenti delle foreste di Hansen et al. (2013).

Non preoccuparti, presto lo renderai più bello. (Scopri di più sulle visualizzazioni delle immagini predefinite in Earth Engine). Al termine di questa sezione, avrai un'immagine simile alla Figura 2, in cui il verde rappresenta le aree forestali rilevate dallo studio nel 2000, il rosso la perdita di foreste stimata nel periodo dello studio, il blu l'aumento delle foreste durante questo periodo, il magenta le aree in cui le foreste sono state sia perse che guadagnate e le aree non forestali sono mascherate.

forest change custom
Figura 2. Visualizzazione personalizzata dei dati sui cambiamenti delle foreste di Hansen et al. (2013).

Ricorda che quando un'immagine multibanda viene aggiunta a una mappa, le prime tre bande dell'immagine vengono scelte rispettivamente come rosso, verde e blu e vengono estese in base al tipo di dati di ciascuna banda. Il motivo per cui l'immagine appare rossa è che le prime tre bande sono treecover2000, loss e gain. La banda treecover2000 è espressa in percentuale e ha valori molto più alti di loss (verde) e gain (blu), che sono binari ({0, 1}). L'immagine viene quindi visualizzata come prevalentemente rossa.

Le bande nei dati sul cambiamento globale delle foreste sono:

Nome della bandDescrizioneIntervallo
treecover2000Percentuale di copertura arborea nel pixel.0 - 100
perdita 1 se si verifica una perdita durante il periodo di studio. 0 o 1
aumento1 se si verifica un aumento durante il periodo dello studio. 0 o 1
lossyearL'anno in cui si è verificata la perdita, con indice 1 a partire dall'anno 2001 o zero se non si è verificata alcuna perdita.0 - 12
first_b30La banda rossa di Landsat 7 creata a partire dai primi pixel validi nel 2000 (o precedenti se non erano presenti pixel validi nel 2000). 0 - 255
first_b40La banda del vicino infrarosso di Landsat 7 creata a partire dai primi pixel validi nel 2000.0 - 255
first_b50La prima banda infrarossa a onde corte di Landsat 7 creata a partire dai primi pixel validi nel 2000.0 - 255
first_b70La seconda banda infrarossa a onde corte di Landsat 7 è stata creata a partire dai primi pixel validi nel 2000.0 - 255
last_b30La banda rossa di Landsat 7 creata a partire dai pixel validi più recenti nel 2012. 0 - 255
last_b40La banda del vicino infrarosso di Landsat 7 creata a partire dai pixel validi più recenti nel 2012.0 - 255
last_b50La prima banda infrarossa a onde corte di Landsat 7 creata a partire dai pixel validi più recenti del 2012.0 - 255
last_b70La seconda banda infrarossa a onde corte di Landsat 7 è stata creata a partire dai pixel validi più recenti del 2012.0 - 255
datamaskNessun dato (0), superficie terrestre mappata (1) e corpi idrici permanenti (2).0, 1, 2

Per visualizzare la copertura forestale nell'anno 2000 come immagine in scala di grigi, puoi utilizzare la banda treecover2000, specificata nel secondo argomento di Map.addLayer():

Editor di codice (JavaScript)

Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');

Il risultato è un'immagine simile a quella della Figura 3.

Copertura arborea degli Stati Uniti
Figura 3. Immagine in scala di grigi della copertura arborea negli Stati Uniti nel 2000.

Ecco un'immagine che utilizza tre bande, le bande 5, 4 e 3 di Landsat per il 2015. Questa combinazione di bande mostra la vegetazione sana in verde e il suolo in malva::

Editor di codice (JavaScript)

Map.addLayer(
    gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');

Il risultato dovrebbe essere simile alla Figura 4.

Falso colore USA
Figura 4. Landsat 7, composizione a falsi colori degli Stati Uniti, anno 2015.

Una visualizzazione interessante del set di dati sul cambiamento globale delle foreste mostra l'estensione delle foreste nel 2000 in verde, la perdita di foreste in rosso e l'aumento delle foreste in blu. Nello specifico, imposta loss come prima banda (rosso), treecover2000 come seconda banda (verde) e gain come terza banda (blu):

Editor di codice (JavaScript)

Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');

I valori della banda di perdita e guadagno sono binari, quindi saranno appena visibili nell'immagine, che dovrebbe assomigliare alla Figura 5.

Copertura forestale degli Stati Uniti
Figura 5. Copertura arborea negli Stati Uniti nel 2000 (verde).

Vorremmo che la perdita di foreste venga visualizzata in rosso vivo e l'aumento di foreste in blu vivo. Per risolvere il problema, possiamo utilizzare il parametro di visualizzazione max per impostare l'intervallo a cui vengono estesi i dati dell'immagine. Tieni presente che il parametro di visualizzazione max accetta un elenco di valori, corrispondenti ai massimi per ogni banda:

Editor di codice (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['loss', 'treecover2000', 'gain'],
  max: [1, 255, 1]
}, 'forest cover, loss, gain');

Il risultato dovrebbe essere simile alla Figura 6.

US forest change
Figura 6. Perdita di foreste negli Stati Uniti (rosso), copertura forestale nell'anno 2000 (verde) e aumento (blu).

Il risultato è un'immagine verde dove c'è foresta, rossa dove c'è perdita di foresta, blu dove c'è aumento di foresta e magenta dove c'è sia aumento che perdita. Un'ispezione più attenta, tuttavia, rivela che non è del tutto corretto. Invece di essere contrassegnata in rosso, la perdita è arancione. Questo perché i pixel rosso vivo si mescolano con i pixel verdi sottostanti, producendo pixel arancioni. Allo stesso modo, i pixel in cui sono presenti foreste, perdite e guadagni sono rosa, una combinazione di verde, rosso vivo e blu brillante. Per un'illustrazione, vedi la Figura 7.

Pac NW forest change
Figura 7. Perdita di foreste (rosso), copertura dell'anno 2000 (verde) e aumento (blu) nella regione nord-occidentale del Pacifico degli Stati Uniti.

Per ottenere l'immagine promessa all'inizio del tutorial, puoi creare immagini separate per foresta, perdita, guadagno e per perdita e guadagno. Aggiungi ciascuna di queste immagini alla mappa nell'ordine migliore per la visualizzazione.

Tavolozze

Per visualizzare ogni immagine con un colore diverso, puoi utilizzare il parametro palette di Map.addLayer() per le immagini a banda singola. Le tavolozze ti consentono di impostare la combinazione di colori con cui viene visualizzata l'immagine (scopri di più sulle tavolozze). Ricorda dal tutorial sull'API Earth Engine che i colori di una tavolozza vengono estesi linearmente a min e max.

Ad esempio, per utilizzare una tavolozza verde per visualizzare l'immagine dell'estensione della foresta, puoi utilizzare:

Editor di codice (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00']
}, 'forest cover palette');

Il risultato dovrebbe essere simile alla Figura 8.

estensione forestale NA
Figura 8. Copertura forestale nel 2000 in Nord America.

Lo zoom consente di valutare meglio la risoluzione delle immagini. La Figura 9 mostra un'area intorno a Mariscal Estigarribia in Paraguay.

estensione forestale Paraguay
Figura 9. Copertura arborea del 2000 intorno a Mariscal Estigarribia in Paraguay.

L'immagine mostrata nella Figura 3 è un po' scura. Il problema è che la banda treecover2000 ha un tipo di dati byte ([0, 255]), mentre in realtà i valori sono percentuali ([0, 100]). Per schiarire l'immagine, puoi impostare i parametri min e/o max di conseguenza. La tavolozza viene quindi allungata tra questi estremi.

Editor di codice (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover percent');

Il risultato dovrebbe essere simile alla Figura 9. Tieni presente che in questo esempio è impostato solo il max. Il valore predefinito di min è zero.

Paraguay allungato
Figura 9. Copertura forestale dell'anno 2000 intorno a Mariscal Estigarribia in Paraguay, estesa a [0, 100].

Mascheramento

Tutte le immagini mostrate finora presentano grandi aree nere in cui i dati sono pari a zero. Ad esempio, nell'oceano non ci sono alberi. Per rendere trasparenti queste aree, puoi mascherare i relativi valori. Ogni pixel in Earth Engine ha sia un valore sia una maschera. L'immagine viene visualizzata con la trasparenza impostata dalla maschera, dove zero è completamente trasparente e uno è completamente opaco.

Puoi mascherare un'immagine con se stessa. Ad esempio, se mascheri la banda treecover2000 con se stessa, tutte le aree in cui la copertura forestale è pari a zero saranno trasparenti:

Editor di codice (JavaScript)

Map.addLayer(gfc2014.mask(gfc2014), {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover masked');

Il risultato dovrebbe essere simile alla Figura 10.

Copertura arborea delle Americhe
Figura 10. Copertura arborea dell'anno 2000, estesa e mascherata.

Esempio

È quasi possibile creare una visualizzazione dei dati di Hansen simile a quella all'inizio del tutorial. In questo esempio, mettiamo insieme tutto con una piccola differenza. Anziché specificare il parametro bands nella chiamata Map.addLayer, stiamo creando nuove immagini utilizzando select():

Editor di codice (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');

Il risultato dovrebbe essere simile alla Figura 11.

Americhe
Figura 11. Perdita di foreste (rosso), copertura dell'anno 2000 (verde) e aumento (blu).

Nota che ci sono tre chiamate addLayer(). Ogni chiamata addLayer() aggiunge un livello alla mappa. Se passi il mouse sopra il pulsante Livelli in alto a destra della mappa, vengono visualizzati questi livelli. Ogni livello può essere attivato o disattivato utilizzando la casella di controllo accanto e l'opacità del livello può essere modificata tramite il cursore accanto al nome del livello.

Siamo quasi pronti per creare l'immagine mostrata all'inizio del tutorial. Tuttavia, manca il livello che mostra i pixel con perdita e guadagno. Manca perché dobbiamo sapere come eseguire alcuni calcoli sulle bande dell'immagine prima di poter calcolare quali pixel mostrano sia perdita che guadagno. Questo è l'argomento della sezione successiva.