Jährlichen Waldverlust in Diagrammen darstellen

Jährlichen Waldverlust berechnen

Im vorherigen Abschnitt haben Sie gelernt, wie Sie mit der Methode reduceRegion die Gesamtfläche des verlorenen Waldes in der angegebenen Region von Interesse berechnen. Anstatt den Gesamtverlust zu berechnen, wäre es hilfreich, den Verlust für jedes Jahr zu berechnen. In Earth Engine erreichen Sie dies mit einem gruppierten Reduzierer.

Wenn Sie die Ausgabe von reduceRegion() gruppieren möchten, können Sie ein Gruppierungsband angeben, das Gruppen anhand von ganzzahligen Pixelwerten definiert. Im folgenden Beispiel wird der vorherige Code leicht geändert und dem Originalbild wird das Band lossYear hinzugefügt. Jedes Pixel im lossYear-Band enthält Werte zwischen 0 und 14, die das Jahr angeben, in dem der Verlust aufgetreten ist. Außerdem ändern wir den Reducer in einen gruppierten Reducer und geben den Bandindex des Gruppierungsbands (1) an, damit die Pixelbereiche summiert und nach dem Wert im lossYear-Band gruppiert werden.

Code-Editor (JavaScript)

// Load country boundaries from LSIB.
var countries = ee.FeatureCollection('USDOS/LSIB_SIMPLE/2017');
// Get a feature collection with just the Congo feature.
var congo = countries.filter(ee.Filter.eq('country_co', 'CF'));

// Get the loss image.
// This dataset is updated yearly, so we get the latest version.
var gfc2017 = ee.Image('UMD/hansen/global_forest_change_2017_v1_5');
var lossImage = gfc2017.select(['loss']);
var lossAreaImage = lossImage.multiply(ee.Image.pixelArea());

var lossYear = gfc2017.select(['lossyear']);
var lossByYear = lossAreaImage.addBands(lossYear).reduceRegion({
  reducer: ee.Reducer.sum().group({
    groupField: 1
    }),
  geometry: congo,
  scale: 30,
  maxPixels: 1e9
});
print(lossByYear);

Nachdem Sie den obigen Code ausgeführt haben, wird die jährliche Waldverlustfläche in einer verschachtelten Liste mit dem Namen groups ausgegeben. Wir können die Ausgabe etwas formatieren, damit das Ergebnis ein Dictionary mit dem Jahr als Schlüssel und dem Verlustbereich als Wert ist. Beachten Sie, dass wir die Methode format() verwenden, um die Jahreswerte von 0 bis 14 in 2000 bis 2014 zu konvertieren.

Code-Editor (JavaScript)

var statsFormatted = ee.List(lossByYear.get('groups'))
  .map(function(el) {
    var d = ee.Dictionary(el);
    return [ee.Number(d.get('group')).format("20%02d"), d.get('sum')];
  });
var statsDictionary = ee.Dictionary(statsFormatted.flatten());
print(statsDictionary);

Diagramm erstellen

Nachdem wir nun die jährlichen Verlustzahlen haben, können wir ein Diagramm erstellen. Wir verwenden die Methode ui.Chart.array.values(). Diese Methode verwendet ein Array (oder eine Liste) von Eingabewerten und ein Array (oder eine Liste) von Labels für die X-Achse.

Code-Editor (JavaScript)

var chart = ui.Chart.array.values({
  array: statsDictionary.values(),
  axis: 0,
  xLabels: statsDictionary.keys()
}).setChartType('ColumnChart')
  .setOptions({
    title: 'Yearly Forest Loss',
    hAxis: {title: 'Year', format: '####'},
    vAxis: {title: 'Area (square meters)'},
    legend: { position: "none" },
    lineWidth: 1,
    pointSize: 3
  });
print(chart);

Das Ergebnis sollte wie im Diagramm unten aussehen.

Tutorial_Hansen_17_chart.png
Abbildung 1. Diagramm zum Waldverlust nach Jahr

Im nächsten Abschnitt erfahren Sie mehr über einen weiteren Datensatz zur Überwachung der Entwaldung, FORMA, und vergleichen ihn mit den Daten von Hansen et al.