Yıllık Orman Kaybını Hesaplama
Önceki bölümde, reduceRegion
yöntemini kullanarak belirli bir ilgi alanında kaybedilen toplam orman alanını hesaplamayı öğrendiniz. Toplam kaybı hesaplamak yerine, her yılki kaybı hesaplamak daha faydalı olacaktır. Earth Engine'de bunu yapmanın yolu Grouped Reducer 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 resme lossYear
bandını ekliyoruz. lossYear
bandındaki her piksel, kaybın meydana geldiği yılı gösteren 0 ile 14 arasındaki değerleri içerir. Ayrıca, gruplandırma bandının (1) bant dizinini belirterek küçültücüyü gruplandırılmış bir küçültücüye dönüştürüyoruz. Böylece, piksel alanları lossYear
bandındaki değere göre toplanıp gruplandırılıyor.
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ıktan sonra, yıllık orman kaybı alanının groups
adlı iç içe geçmiş bir listede yazdırıldığını görürsünüz. Çıktıyı biraz biçimlendirerek sonucu, anahtar olarak yılın, değer olarak da kayıp alanının bulunduğu bir sözlük haline getirebiliriz. Yıl değerlerini 0-14'ten 2000-2014'e dönüştürmek için format()
yöntemini kullandığımızı unutmayın.
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ımız olduğuna göre artık bir grafik hazırlayabiliriz. 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.

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.