Yıllık Orman Kaybını Grafiğe Dökme

Yıllık Orman Kaybı Hesaplanıyor

Önceki bölümde, reduceRegion yöntemini kullanarak belirli bir bölgede kaybedilen toplam orman alanını hesaplamayı öğrendiniz. Toplam kaybı hesaplamak yerine her yılın kaybını hesaplamak faydalı olacaktır. Earth Engine'de bunu yapmanın yolu Gruplandırılmış Redüktör kullanmaktır.

reduceRegion() çıkışını gruplandırmak için grupları tam sayı piksel değerlerine göre tanımlayan bir gruplandırma bandı belirtebilirsiniz. Aşağıdaki örnekte, önceki kodu biraz değiştirip orijinal görüntüye lossYear bandını ekliyoruz. lossYear bandındaki her piksel, kaybın meydana geldiği yılı gösteren 0 ile 14 arasında değerler içerir. Ayrıca, gruplandırma bandının (1) bant dizinini belirterek azaltıcıyı gruplandırılmış bir azaltıcı olarak değiştiririz. Böylece piksel alanları, lossYear bandındaki değere göre toplanır ve gruplandırılır.

Kod Düzenleyici (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);

Yukarıdaki kodu çalıştırdığınızda, yıllık orman kaybı alanının groups adlı iç içe yerleştirilmiş bir listede yazdırıldığını görürsünüz. Sonucu, anahtar olarak yıl ve değer olarak kayıp alanı içeren bir sözlük haline getirmek için çıktıyı biraz biçimlendirebiliriz. Yıl değerlerini 0-14'ten 2000-2014'e dönüştürmek için format() yöntemini kullandığımıza dikkat edin.

Kod Düzenleyici (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);

Grafik oluşturma

Yıllık kayıp rakamlarını elde ettiğimize göre artık grafik hazırlamaya hazırız. ui.Chart.array.values() yöntemini kullanacağız. Bu yöntem, giriş değerlerinden oluşan bir dizi (veya liste) ve X ekseni için etiketlerden oluşan bir dizi (veya liste) alır.

Kod Düzenleyici (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);

Sonuç, aşağıdaki grafiğe benzer olmalıdır.

Tutorial_Hansen_17_chart.png
Şekil 1. Yıla Göre Orman Kaybı Grafiği

Sonraki bölümde, başka bir ormansızlaşma izleme veri kümesi olan FORMA hakkında bilgi edinecek ve bu veri kümesini Hansen ve diğerlerinin verileriyle karşılaştıracaksınız.