Présentation des données Hansen et al. sur l'évolution des forêts dans le monde

L'ensemble de données Hansen et al. (2013) sur l'évolution des forêts dans le monde dans Earth Engine représente l'évolution des forêts, avec une résolution de 30 mètres, dans le monde entier, entre 2000 et 2014. Commençons par ajouter les données de Hansen et al. à la carte. Importez les données sur l'évolution des forêts dans le monde (en savoir plus sur la recherche et l'importation d'ensembles de données) en recherchant "Hansen forest" et en nommant l'importation gfc2014, ou copiez le code suivant dans l'éditeur de code :

Éditeur de code (JavaScript)

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

Cliquez sur le bouton Exécuter en haut de l'éditeur de code. Vous devriez voir quelque chose comme sur la figure 1.

forest change default
Figure 1. Visualisation par défaut des données sur l'évolution des forêts de Hansen et al. (2013).

Ne vous inquiétez pas, vous l'améliorerez bientôt. (En savoir plus sur les visualisations d'images par défaut dans Earth Engine) À la fin de cette section, vous obtiendrez une image semblable à la figure 2, où le vert représente les zones forestières détectées par l'étude en 2000, le rouge représente la perte de forêt estimée au cours de la période étudiée, le bleu représente le gain de forêt au cours de cette période, le magenta représente les zones où la forêt a été à la fois perdue et gagnée, et les zones non forestières sont masquées.

forest change custom
Figure 2. Visualisation personnalisée des données sur l'évolution des forêts de Hansen et al. (2013).

Rappelez-vous que lorsqu'une image multibande est ajoutée à une carte, les trois premières bandes de l'image sont choisies comme bandes rouge, verte et bleue, respectivement, et étirées en fonction du type de données de chaque bande. L'image apparaît en rouge, car les trois premières bandes sont treecover2000, loss et gain. La bande treecover2000 est exprimée en pourcentage et présente des valeurs beaucoup plus élevées que loss (vert) et gain (bleu), qui sont binaires ({0, 1}). L'image s'affiche donc en grande partie en rouge.

Les bandes de données sur l'évolution des forêts dans le monde sont les suivantes :

Nom du groupeDescriptionPlage
treecover2000Pourcentage de couverture arborée dans le pixel.0 – 100
perte 1 si une perte se produit au cours de la période d'étude. 0 ou 1
gain1 si un gain se produit au cours de la période d'étude. 0 ou 1
lossyearAnnée de la perte (indexée à partir de l'année 2001) ou zéro si aucune perte ne s'est produite.0 - 12
first_b30Bande rouge Landsat 7 construite à partir des premiers pixels valides en 2000 (ou plus anciens s'il n'y avait pas de pixels valides en 2000). 0 - 255
first_b40Bande infrarouge proche de Landsat 7 construite à partir des premiers pixels valides en 2000.0 - 255
first_b50Première bande infrarouge à ondes courtes Landsat 7 construite à partir des premiers pixels valides en 2000.0 - 255
first_b70Deuxième bande infrarouge à ondes courtes de Landsat 7 construite à partir des premiers pixels valides en 2000.0 - 255
last_b30Bande rouge Landsat 7 créée à partir des derniers pixels valides en 2012. 0 - 255
last_b40Bande infrarouge proche Landsat 7 construite à partir des derniers pixels valides en 2012.0 - 255
last_b50Première bande infrarouge à ondes courtes de Landsat 7 construite à partir des derniers pixels valides de 2012.0 - 255
last_b70La deuxième bande infrarouge à ondes courtes de Landsat 7, créée à partir des derniers pixels valides de 2012.0 - 255
datamaskAucune donnée (0), surface terrestre cartographiée (1) et plans d'eau permanents (2).0, 1, 2

Pour afficher la couverture forestière en l'an 2000 sous forme d'image en niveaux de gris, vous pouvez utiliser la bande treecover2000, spécifiée dans le deuxième argument de Map.addLayer() :

Éditeur de code (JavaScript)

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

L'image obtenue devrait ressembler à la figure 3.

Couverture arborée aux États-Unis
Figure 3. Image en nuances de gris de la couverture arborée aux États-Unis en l'an 2000.

Voici une image qui utilise trois bandes, les bandes Landsat 5, 4 et 3 pour 2015. Cette combinaison de bandes montre une végétation saine en vert et le sol en mauve :

Éditeur de code (JavaScript)

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

Le résultat doit ressembler à la figure 4.

Fausse couleur (États-Unis)
Figure 4. Composition fausse couleur de Landsat 7 pour l'année 2015 aux États-Unis.

Une visualisation intéressante de l'ensemble de données "Global Forest Change" montre l'étendue des forêts en 2000 en vert, la perte de forêts en rouge et le gain de forêts en bleu. Plus précisément, définissez loss comme la première bande (rouge), treecover2000 comme la deuxième bande (verte) et gain comme la troisième bande (bleue) :

Éditeur de code (JavaScript)

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

Les valeurs des bandes de perte et de gain sont binaires. Elles seront donc à peine visibles sur l'image, qui devrait ressembler à la figure 5.

Couvert forestier aux États-Unis
Figure 5. Couvert forestier aux États-Unis en 2000 (en vert).

Nous souhaitons que la perte de forêt soit affichée en rouge vif et le gain de forêt en bleu vif. Pour résoudre ce problème, nous pouvons utiliser le paramètre de visualisation max afin de définir la plage à laquelle les données d'image sont étirées. Notez que le paramètre de visualisation max prend une liste de valeurs, correspondant aux maxima pour chaque bande :

Éditeur de code (JavaScript)

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

Le résultat doit ressembler à la figure 6.

Évolution des forêts aux États-Unis
Figure 6. Perte de forêt aux États-Unis (rouge), couverture forestière en l'an 2000 (vert) et gain (bleu).

L'image obtenue est verte là où il y a des forêts, rouge là où il y a une perte de forêt, bleue là où il y a un gain de forêt et magenta là où il y a à la fois un gain et une perte. Toutefois, en l'examinant de plus près, on se rend compte qu'il n'est pas tout à fait correct. Au lieu d'être en rouge, la perte est en orange. En effet, les pixels rouge vif se mélangent aux pixels verts sous-jacents pour produire des pixels orange. De même, les pixels où il y a une forêt, une perte et un gain sont roses, une combinaison de vert, de rouge vif et de bleu vif. Voir la figure 7 pour une illustration.

Évolution des forêts du nord-ouest du Pacifique
Figure 7. Perte de forêt (rouge), couverture forestière (vert) et gain de forêt (bleu) dans le nord-ouest du Pacifique aux États-Unis en 2000.

Pour obtenir l'image promise au début du tutoriel, vous pouvez créer des images distinctes pour la forêt, la perte, le gain, ainsi que pour la perte et le gain. Ajoutez chacune de ces images à la carte dans l'ordre le plus adapté à l'affichage.

Palettes

Pour afficher chaque image dans une couleur différente, vous pouvez utiliser le paramètre palette de Map.addLayer() pour les images à une seule bande. Les palettes vous permettent de définir le jeu de couleurs avec lequel l'image est affichée (en savoir plus sur les palettes). Rappelez-vous du tutoriel sur l'API Earth Engine : les couleurs d'une palette sont étirées de manière linéaire jusqu'à min et max.

Par exemple, pour utiliser une palette verte pour afficher l'image de l'étendue de la forêt, vous pouvez utiliser :

Éditeur de code (JavaScript)

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

Le résultat doit ressembler à la figure 8.

étendue forestière NA
Figure 8. Couverture forestière en Amérique du Nord en l'an 2000.

Faites un zoom avant pour mieux appréhender la résolution des images. La figure 9 montre une zone autour de Mariscal Estigarribia au Paraguay.

étendue forestière au Paraguay
Figure 9. Couverture forestière en l'an 2000 autour de Mariscal Estigarribia au Paraguay.

L'image présentée à la figure 3 est un peu sombre. Le problème est que la bande treecover2000 a un type de données byte ([0, 255]), alors que les valeurs sont en fait des pourcentages ([0, 100]). Pour éclaircir l'image, vous pouvez définir les paramètres min et/ou max en conséquence. La palette est ensuite étendue entre ces extrêmes.

Éditeur de code (JavaScript)

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

Le résultat doit ressembler à la figure 9. Notez que dans cet exemple, seul max est défini. La valeur par défaut de min est zéro.

Paraguay étiré
Figure 9. Couverture forestière de l'année 2000 autour de Mariscal Estigarribia au Paraguay, étirée à [0, 100].

Masquage

Toutes les images affichées jusqu'à présent comportaient de grandes zones noires là où les données sont nulles. Par exemple, il n'y a pas d'arbres dans l'océan. Pour rendre ces zones transparentes, vous pouvez masquer leurs valeurs. Chaque pixel d'Earth Engine possède une valeur et un masque. L'image est rendue avec la transparence définie par le masque, où zéro correspond à une transparence totale et un à une opacité totale.

Vous pouvez masquer une image avec elle-même. Par exemple, si vous masquez la bande treecover2000 avec elle-même, toutes les zones où la couverture forestière est nulle seront transparentes :

Éditeur de code (JavaScript)

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

Le résultat doit ressembler à la figure 10.

Couverture arborée des Amériques
Figure 10. Couvert forestier en 2000, étiré et masqué.

Exemple

Il est presque possible de créer une visualisation des données Hansen comme celle au début du tutoriel. Dans cet exemple, nous rassemblons tout, avec une petite différence. Au lieu de spécifier le paramètre bands dans l'appel Map.addLayer, nous créons des images à l'aide de select() :

Éditeur de code (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');

Le résultat doit ressembler à la figure 11.

Gain/Perte pour les Amériques
Figure 11. Perte de forêt (rouge), couverture en l'an 2000 (vert) et gain (bleu).

Notez qu'il y a trois appels addLayer(). Chaque appel addLayer() ajoute un calque à la carte. Pointez sur le bouton Calques en haut à droite de la carte pour afficher ces calques. Chaque calque peut être activé ou désactivé à l'aide de la case à cocher située à côté, et l'opacité du calque peut être modifiée à l'aide du curseur situé à côté du nom du calque.

Nous sommes presque en mesure de créer l'image affichée au début du tutoriel. Toutefois, la couche affichant les pixels avec perte et gain est manquante. Il manque des informations, car nous devons savoir comment effectuer certains calculs sur les bandes d'image avant de pouvoir calculer les pixels qui présentent à la fois une perte et un gain. Ce point est abordé dans la section suivante.