Das Global Forest Change-Dataset von Hansen et al. (2013) in Earth Engine stellt die Waldveränderungen zwischen 2000 und 2014 weltweit mit einer Auflösung von 30 Metern dar. Fügen Sie zuerst die Daten von Hansen et al. zur Karte hinzu. Importieren Sie entweder die Daten zu globalen Waldveränderungen (weitere Informationen zum Suchen und Importieren von Datasets), indem Sie nach „Hansen forest“ suchen und den Import gfc2014 nennen, oder kopieren Sie den folgenden Code in den Code-Editor:
Code-Editor (JavaScript)
var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015'); Map.addLayer(gfc2014);
Klicken Sie oben im Code-Editor auf den Button Ausführen. Es sollte etwas wie in Abbildung 1 angezeigt werden.
Keine Sorge, du wirst es bald besser aussehen lassen. (Weitere Informationen zu Standard-Bildvisualisierungen in Earth Engine) Am Ende dieses Abschnitts haben Sie ein Bild, das in etwa Abbildung 2 entspricht. Grün steht für die Bereiche, in denen im Jahr 2000 Wald erkannt wurde, Rot für den geschätzten Waldverlust im Untersuchungszeitraum, Blau für den Waldzuwachs in diesem Zeitraum, Magenta für Bereiche, in denen Wald sowohl verloren gegangen als auch hinzugekommen ist, und nicht bewaldete Bereiche sind maskiert.
Wenn ein Bild mit mehreren Bändern einer Karte hinzugefügt wird, werden die ersten drei Bänder des Bildes als Rot, Grün und Blau ausgewählt und entsprechend dem Datentyp jedes Bands gestreckt. Das Bild sieht rot aus, weil die ersten drei Bänder treecover2000, loss und gain sind. Das Band treecover2000 wird als Prozentsatz ausgedrückt und hat Werte, die viel höher sind als loss (grün) und gain (blau), die binär sind ({0, 1}). Das Bild wird daher überwiegend rot dargestellt.
Die Bänder in den Global Forest Change-Daten sind:
| Bandname | Beschreibung | Bereich |
|---|---|---|
| treecover2000 | Prozentsatz des Baumbestands im Pixel. | 0–100 |
| Verlust | 1, wenn während des Untersuchungszeitraums ein Verlust auftritt. | 0 oder 1 |
| Zunahme | 1, wenn während des Untersuchungszeitraums ein Gewinn erzielt wird. | 0 oder 1 |
| lossyear | Das Jahr, in dem der Verlust aufgetreten ist, beginnend mit dem Jahr 2001, oder 0, wenn kein Verlust aufgetreten ist. | 0–12 |
| first_b30 | Das rote Band von Landsat 7, das aus den ersten gültigen Pixeln im Jahr 2000 erstellt wurde (oder älter, wenn es im Jahr 2000 keine gültigen Pixel gab). | 0–255 |
| first_b40 | Das Nahinfrarotband von Landsat 7, das aus den ersten gültigen Pixeln im Jahr 2000 erstellt wurde. | 0–255 |
| first_b50 | Das erste kurzwellige Infrarotband von Landsat 7, das aus den ersten gültigen Pixeln im Jahr 2000 erstellt wurde. | 0–255 |
| first_b70 | Das zweite Landsat 7-Kurzwellen-Infrarotband, das aus den ersten gültigen Pixeln im Jahr 2000 erstellt wurde. | 0–255 |
| last_b30 | Das rote Band von Landsat 7, das aus den neuesten gültigen Pixeln im Jahr 2012 erstellt wurde. | 0–255 |
| last_b40 | Das Landsat 7-Nahinfrarotband, das aus den neuesten gültigen Pixeln im Jahr 2012 erstellt wurde. | 0–255 |
| last_b50 | Das erste Landsat 7-Kurzwellen-Infrarotband, das aus den neuesten gültigen Pixeln von 2012 erstellt wurde. | 0–255 |
| last_b70 | Das zweite Landsat 7-Kurzwellen-Infrarotband, das aus den neuesten gültigen Pixeln von 2012 erstellt wurde. | 0–255 |
| datamask | Keine Daten (0), kartierte Landoberfläche (1) und permanente Gewässer (2). | 0, 1, 2 |
Wenn Sie die Waldbedeckung im Jahr 2000 als Graustufenbild darstellen möchten, können Sie das Band treecover2000 verwenden, das im zweiten Argument für Map.addLayer() angegeben ist:
Code-Editor (JavaScript)
Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');
Das Ergebnis sollte in etwa wie in Abbildung 3 aussehen.
Hier ist ein Bild, das drei Bänder verwendet, die Landsat-Bänder 5, 4 und 3 für 2015. In dieser Bandkombination wird gesunde Vegetation grün und Boden lila dargestellt:
Code-Editor (JavaScript)
Map.addLayer( gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');
Das Ergebnis sollte ungefähr so aussehen wie in Abbildung 4.
Eine schöne Visualisierung des Datasets „Global Forest Change“ zeigt die Waldbedeckung im Jahr 2000 in Grün, den Waldverlust in Rot und den Waldzuwachs in Blau. Legen Sie loss als erstes Band (rot), treecover2000 als zweites Band (grün) und gain als drittes Band (blau) fest:
Code-Editor (JavaScript)
Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');
Die Werte für die Verlust- und Gewinnbänder sind binär und daher auf dem Bild kaum sichtbar. Es sollte in etwa wie Abbildung 5 aussehen.
Wir möchten, dass der Waldverlust in leuchtendem Rot und der Waldzuwachs in leuchtendem Blau angezeigt wird. Um dieses Problem zu beheben, können wir mit dem Visualisierungsparameter max den Bereich festlegen, auf den die Bilddaten gestreckt werden. Beachten Sie, dass der Visualisierungsparameter max eine Liste von Werten akzeptiert, die den Maximalwerten für jedes Band entsprechen:
Code-Editor (JavaScript)
Map.addLayer(gfc2014, { bands: ['loss', 'treecover2000', 'gain'], max: [1, 255, 1] }, 'forest cover, loss, gain');
Das Ergebnis sollte ungefähr so aussehen wie in Abbildung 6.
Das Ergebnis ist ein Bild, das grün ist, wo es Wald gibt, rot, wo es Waldverlust gibt, blau, wo es Waldzuwachs gibt, und magenta, wo es sowohl Zuwachs als auch Verlust gibt. Bei genauerem Hinsehen fällt jedoch auf, dass etwas nicht stimmt. Anstatt rot wird der Verlust orange dargestellt. Das liegt daran, dass sich die hellen roten Pixel mit den darunter liegenden grünen Pixeln vermischen und orangefarbene Pixel erzeugen. Die Pixel, die Wald, Verlust und Gewinn zeigen, sind rosa – eine Kombination aus Grün, hellem Rot und hellem Blau. Eine Abbildung finden Sie in Abbildung 7.
Um das am Anfang der Anleitung versprochene Bild zu erhalten, können Sie separate Bilder für Wald, Verlust, Gewinn sowie für Verlust und Gewinn erstellen. Fügen Sie jedes dieser Bilder in der Reihenfolge, die für die Anzeige am besten geeignet ist, der Karte hinzu.
Paletten
Wenn Sie jedes Bild in einer anderen Farbe anzeigen möchten, können Sie den Parameter palette von Map.addLayer() für Bilder mit einem einzelnen Band verwenden. Mit Paletten können Sie das Farbschema festlegen, mit dem das Bild angezeigt wird (weitere Informationen zu Paletten). Im Earth Engine API-Tutorial haben Sie gelernt, dass die Farben in einer Palette linear auf min und max gestreckt werden.
Wenn Sie beispielsweise eine grüne Palette verwenden möchten, um das Bild der Waldausdehnung darzustellen, können Sie Folgendes verwenden:
Code-Editor (JavaScript)
Map.addLayer(gfc2014, { bands: ['treecover2000'], palette: ['000000', '00FF00'] }, 'forest cover palette');
Das Ergebnis sollte ungefähr wie in Abbildung 8 aussehen.
Wenn Sie heranzoomen, erhalten Sie einen besseren Eindruck von der Auflösung der Bilder. Abbildung 9 zeigt ein Gebiet um Mariscal Estigarribia in Paraguay.
Das Bild in Abbildung 3 ist etwas dunkel. Das Problem ist, dass das Band treecover2000 den Datentyp „Byte“ ([0, 255]) hat, obwohl die Werte eigentlich Prozentsätze ([0, 100]) sind. Wenn Sie das Bild aufhellen möchten, können Sie die Parameter min und/oder max entsprechend festlegen. Die Palette wird dann zwischen diesen Extremen gestreckt.
Code-Editor (JavaScript)
Map.addLayer(gfc2014, { bands: ['treecover2000'], palette: ['000000', '00FF00'], max: 100 }, 'forest cover percent');
Das Ergebnis sollte ungefähr so aussehen wie in Abbildung 9. In diesem Beispiel ist nur max festgelegt. Der min ist standardmäßig null.
Maskieren
Alle bisher gezeigten Bilder hatten große schwarze Bereiche, in denen die Daten null sind. Im Meer gibt es beispielsweise keine Bäume. Wenn Sie diese Bereiche transparent machen möchten, können Sie ihre Werte maskieren. Jedes Pixel in Earth Engine hat sowohl einen Wert als auch eine Maske. Das Bild wird mit der durch die Maske festgelegten Transparenz gerendert, wobei null vollständig transparent und eins vollständig deckend ist.
Sie können ein Bild mit sich selbst maskieren. Wenn Sie beispielsweise das Band treecover2000 mit sich selbst maskieren, werden alle Bereiche, in denen die Waldbedeckung null ist, transparent:
Code-Editor (JavaScript)
Map.addLayer(gfc2014.mask(gfc2014), { bands: ['treecover2000'], palette: ['000000', '00FF00'], max: 100 }, 'forest cover masked');
Das Ergebnis sollte ungefähr so aussehen wie in Abbildung 10.
Beispiel
Es ist fast möglich, eine Visualisierung der Hansen-Daten wie am Anfang der Anleitung zu erstellen. In diesem Beispiel fassen wir alles zusammen, mit einem kleinen Unterschied. Anstatt den Parameter bands im Aufruf Map.addLayer anzugeben, erstellen wir neue Images mit select():
Code-Editor (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');
Das Ergebnis sollte ungefähr so aussehen wie in Abbildung 11.
Es gibt drei addLayer()-Aufrufe. Mit jedem addLayer()-Aufruf wird der Karte eine Ebene hinzugefügt. Wenn Sie den Mauszeiger auf die Schaltfläche Ebenen oben rechts auf der Karte bewegen, werden diese Ebenen angezeigt. Jede Ebene kann über das Kästchen daneben aktiviert oder deaktiviert werden. Die Deckkraft der Ebene kann mit dem Schieberegler neben dem Ebenennamen angepasst werden.
Wir können jetzt fast das Bild erstellen, das am Anfang der Anleitung gezeigt wurde. Die Ebene, die die Pixel mit Verlust und Gewinn zeigt, fehlt jedoch. Sie fehlt, weil wir wissen müssen, wie wir einige Berechnungen für Bildbänder durchführen, bevor wir berechnen können, welche Pixel sowohl Verlust als auch Gewinn zeigen. Dies ist das Thema des nächsten Abschnitts.