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.

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.

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 groupe | Description | Plage |
---|---|---|
treecover2000 | Pourcentage 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 |
gain | 1 si un gain se produit au cours de la période d'étude. | 0 ou 1 |
lossyear | Anné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_b30 | Bande 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_b40 | Bande infrarouge proche de Landsat 7 construite à partir des premiers pixels valides en 2000. | 0 - 255 |
first_b50 | Première bande infrarouge à ondes courtes Landsat 7 construite à partir des premiers pixels valides en 2000. | 0 - 255 |
first_b70 | Deuxième bande infrarouge à ondes courtes de Landsat 7 construite à partir des premiers pixels valides en 2000. | 0 - 255 |
last_b30 | Bande rouge Landsat 7 créée à partir des derniers pixels valides en 2012. | 0 - 255 |
last_b40 | Bande infrarouge proche Landsat 7 construite à partir des derniers pixels valides en 2012. | 0 - 255 |
last_b50 | Première bande infrarouge à ondes courtes de Landsat 7 construite à partir des derniers pixels valides de 2012. | 0 - 255 |
last_b70 | La deuxième bande infrarouge à ondes courtes de Landsat 7, créée à partir des derniers pixels valides de 2012. | 0 - 255 |
datamask | Aucune 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.