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

Il set di dati Global Forest Change 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ù sulla ricerca e sull'importazione di 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. 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 predefinite delle immagini in Earth Engine). Al termine di questa sezione, avrai un'immagine simile alla Figura 2, in cui il verde rappresenta le aree in cui lo studio ha rilevato la presenza di foreste nell'anno 2000, il rosso rappresenta la perdita stimata di foreste nel periodo di studio, il blu rappresenta l'aumento delle foreste durante quel periodo, il magenta rappresenta le aree in cui le foreste sono state perse e recuperate 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 allungate in base al tipo di dati di ciascuna banda. L'immagine appare rossa perché le prime tre bande sono treecover2000, loss e gain. La banda treecover2000 è espressa in percentuale e ha valori molto più elevati di loss (verde) e gain (blu), che sono binari ({0, 1}). L'immagine viene quindi visualizzata con una predominanza di rosso.

Le bande nei dati Global Forest Change 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
guadagno1 se l'aumento si verifica durante il periodo di studio. 0 o 1
lossyearL'anno in cui si è verificata la perdita, indicizzato a partire dal 2001, o zero se non si è verificata alcuna perdita.0 - 12
first_b30La banda rossa di Landsat 7 creata dai primi pixel validi nel 2000 (o precedenti se non erano presenti pixel validi nel 2000). 0 - 255
first_b40La banda nel vicino infrarosso di Landsat 7 creata dai primi pixel validi nel 2000.0 - 255
first_b50La prima banda a infrarossi a onde corte di Landsat 7 creata dai primi pixel validi nel 2000.0 - 255
first_b70La seconda banda a infrarossi a onde corte di Landsat 7 creata dai primi pixel validi nel 2000.0 - 255
last_b30La banda rossa di Landsat 7 creata dagli ultimi pixel validi nel 2012. 0 - 255
last_b40La banda nel vicino infrarosso di Landsat 7 creata dagli ultimi pixel validi nel 2012.0 - 255
last_b50La prima banda a infrarossi a onde corte di Landsat 7 creata dagli ultimi pixel validi del 2012.0 - 255
last_b70La seconda banda a infrarossi a onde corte di Landsat 7 creata dagli ultimi pixel validi 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');

In questo modo, l'immagine dovrebbe avere un aspetto simile a quello 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 3 bande, le bande Landsat 5, 4 e 3 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.

Colori falsati USA
Figura 4. Landsat 7, composito in falsi colori degli Stati Uniti nel 2015.

Una bella visualizzazione del set di dati Global Forest Change mostra l'estensione della foresta nel 2000 in verde, la perdita di foresta in rosso e l'aumento di foresta in blu. In particolare, 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 delle bande di perdita e guadagno sono binari, quindi saranno appena visibili sull'immagine, che dovrebbe assomigliare alla Figura 5.

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

Vogliamo che la perdita di foreste venga visualizzata in rosso acceso e l'aumento di foreste in blu acceso. Per risolvere il problema, possiamo utilizzare il parametro di visualizzazione max per impostare l'intervallo di estensione dei 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.

Variazione delle foreste negli Stati Uniti
Figura 6. Perdita di foreste negli Stati Uniti (rosso), copertura forestale nel 2000 (verde) e aumento (blu).

In questo modo si ottiene un'immagine verde dove c'è una foresta, rossa dove c'è una perdita di foresta, blu dove c'è un aumento di foresta e magenta dove c'è sia un aumento che una perdita. Tuttavia, un'ispezione più attenta 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 foresta, perdita e aumento sono rosa, una combinazione di verde, rosso brillante e blu brillante. Per un'illustrazione, vedi la Figura 7.

Cambiamento delle foreste del Pacifico nord-occidentale
Figura 7. Perdita di foreste nel nord-ovest del Pacifico degli Stati Uniti (rosso), copertura nel 2000 (verde) e guadagno (blu).

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 in modo lineare 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 della foresta NA
Figura 8. Copertura forestale nel 2000 in Nord America.

Aumentando lo zoom, puoi farti un'idea più precisa della risoluzione delle immagini. La Figura 9 mostra un'area intorno a Mariscal Estigarribia in Paraguay.

estensione della foresta in Paraguay
Figura 9. Copertura arborea nell'anno 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]), quando in realtà i valori sono percentuali ([0, 100]). Per rendere l'immagine più luminosa, puoi impostare i parametri min e/o max di conseguenza. La tavolozza viene quindi estesa 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 max. Il valore predefinito di min è zero.

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

Mascheramento

Tutte le immagini mostrate finora presentavano grandi aree nere in cui i dati erano pari a zero. Ad esempio, non ci sono alberi nell'oceano. Per rendere trasparenti queste aree, puoi mascherare i relativi valori. Ogni pixel in Earth Engine ha un valore e 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 nell'anno 2000, allungata e mascherata.

Esempio

È quasi possibile creare una visualizzazione dei dati di Hansen come quella all'inizio del tutorial. In questo esempio, mettiamo insieme tutti gli elementi con una piccola differenza. Anziché specificare il parametro bands nella chiamata Map.addLayer, creiamo 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 - Perdite e guadagni
Figura 11. Perdita di foreste (rosso), copertura nel 2000 (verde) e aumento (blu).

Osserva che sono presenti tre chiamate addLayer(). Ogni annuncio di chiamata addLayer() aggiunge un livello alla mappa. Passando il mouse sopra il pulsante Livelli in alto a destra nella mappa, vengono visualizzati questi livelli. Ogni livello può essere attivato o disattivato utilizzando la casella di controllo accanto e l'opcursore accanto al nome del livello può influire sull'opacità del livello.

Siamo quasi in grado di 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 delle immagini prima di poter calcolare quali pixel mostrano sia la perdita sia l'aumento. Questo è l'argomento della sezione successiva.