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

L'ensemble de données sur l'évolution des forêts dans le monde d'Hansen et al. (2013) dans Earth Engine représente l'évolution des forêts, à une résolution de 30 mètres, à l'échelle mondiale, 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 Run (Exécuter) en haut de l'éditeur de code. Vous devriez voir quelque chose de semblable à 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 allez bientôt l'améliorer. (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 où l'étude a détecté une forêt en 2000, le rouge correspond à la perte de forêt estimée sur la période d'étude, le bleu correspond au gain de forêt au cours de cette période, le magenta correspond aux zones où la forêt a été à la fois perdue et gagnée, et les zones non forestières sont masquées.

évolution de la forêt personnalisée
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 respectivement comme rouge, vert et bleu, et étirées en fonction du type de données de chaque bande. L'image est rouge, car les trois premières bandes sont treecover2000, loss et gain. La bande treecover2000 est exprimée en pourcentage et ses valeurs sont bien supérieures à celles de loss (vert) et gain (bleu), qui sont binaires ({0, 1}). L'image s'affiche donc principalement en rouge.

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

Nom du groupeDescriptionPlage
treecover2000Pourcentage de couvert végétal dans le pixel.0 – 100
perte 1 si une perte se produit pendant la période d'étude. 0 ou 1
gain1 si un gain se produit pendant 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 créée à 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 proche infrarouge Landsat 7 créée à partir des premiers pixels valides en 2000.0 - 255
first_b50Première bande infrarouge à ondes courtes Landsat 7 créée à partir des premiers pixels valides en 2000.0 - 255
first_b70Deuxième bande infrarouge à ondes courtes Landsat 7 créée à 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 proche infrarouge Landsat 7 créée à partir des derniers pixels valides en 2012.0 - 255
last_b50La première bande infrarouge à ondes courtes Landsat 7 créée à partir des derniers pixels valides de 2012.0 - 255
last_b70Deuxième bande infrarouge à ondes courtes 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 nuances 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 doit ressembler à la figure 3.

Couverture arborée aux États-Unis
Figure 3. Image en nuances de gris du couvert végétal aux États-Unis en 2000.

Voici une image qui utilise trois bandes Landsat (5, 4 et 3) pour l'année 2015. Cette combinaison de bandes affiche la 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. Landsat 7, composite en fausses couleurs des États-Unis en 2015.

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

Éditeur de code (JavaScript)

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

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

Couvert forestier des États-Unis
Figure 5. Couvert végétal aux États-Unis en 2000 (en vert).

Nous souhaitons que la perte de forêt s'affiche en rouge vif et que le gain de forêt s'affiche en bleu vif. Pour résoudre ce problème, nous pouvons utiliser le paramètre de visualisation max pour définir la plage sur laquelle les données d'image sont étirées. Notez que le paramètre de visualisation max accepte une liste de valeurs correspondant aux valeurs maximales de 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êts aux États-Unis (rouge), couverture forestière en 2000 (vert) et gain (bleu).

On obtient ainsi une image qui est verte là où il y a de la forêt, 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. Cependant, un examen plus approfondi révèle que ce n'est pas tout à fait le cas. Au lieu d'être marquée en rouge, la perte est orange. En effet, les pixels rouge vif se mélangent aux pixels verts sous-jacents, ce qui produit des pixels orange. De même, les pixels où il y a une forêt, une perte et un gain sont roses (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 dans le nord-ouest du Pacifique aux États-Unis (rouge), couverture en l'an 2000 (vert) et gain (bleu).

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, et 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 à bande unique. 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 que, comme indiqué dans le 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 de la forêt : N/A
Figure 8. Couvert forestier en Amérique du Nord en 2000.

En zoomant, vous pouvez mieux apprécier la résolution des images. La figure 9 montre une zone autour de Mariscal Estigarribia au Paraguay.

étendue de la forêt Paraguay
Figure 9. Couverture arborée en l'an 2000 autour de Mariscal Estigarribia au Paraguay.

L'image de la figure 3 est un peu sombre. Le problème est que la bande treecover2000 a un type de données d'octet ([0, 255]), alors qu'en réalité, les valeurs sont 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 étirée 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.

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

Masquage

Toutes les images présentées jusqu'à présent comportaient de grandes zones noires où les données étaient 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 dans Earth Engine possède à la fois une valeur et un masque. L'image est affichée avec la transparence définie par le masque, zéro étant complètement transparent et un étant complètement opaque.

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.

Couvert végétal des Amériques
Figure 10. Couvert végétal en l'an 2000, étiré et masqué.

Exemple

Il est presque possible de créer une visualisation des données Hansen comme celle présentée au début du tutoriel. Dans cet exemple, nous allons tout regrouper, à une petite différence près. 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.

Amériques : pertes et gains
Figure 11. Perte de forêt (rouge), couverture en 2000 (vert) et gain (bleu).

Notez qu'il y a trois appels addLayer(). Chaque appel addLayer() ajoute un calque à la carte. Passez la souris 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 présentée au début du tutoriel. Cependant, la couche montrant les pixels avec à la fois une perte et un gain est manquante. Il est manquant, car nous devons savoir comment effectuer certains calculs sur les bandes d'images avant de pouvoir calculer quels pixels affichent à la fois une perte et un gain. C'est le sujet de la section suivante.