תרשים של אובדן היערות השנתי

חישוב אובדן היערות השנתי

בקטע הקודם למדתם איך לחשב את השטח הכולל של היערות שאבדו באזור העניין שצוין באמצעות השיטה reduceRegion. במקום לחשב את ההפסד הכולל, כדאי לחשב את ההפסד בכל שנה. כדי לעשות את זה ב-Earth Engine, צריך להשתמש בפונקציית צמצום מקובצת.

כדי לקבץ את הפלט של reduceRegion(), אפשר לציין פס קיבוץ שמגדיר קבוצות לפי ערכי פיקסלים של מספרים שלמים. בדוגמה הבאה, אנחנו משנים קצת את הקוד הקודם ומוסיפים את הפס lossYear לתמונה המקורית. כל פיקסל בפס lossYear מכיל ערכים מ-0 עד 14 – שמציינים את השנה שבה אירעה האובדן. בנוסף, אנחנו משנים את הפונקציה לצמצום ל-grouped reducer, ומציינים את אינדקס הפס של פס הקיבוץ (1) כדי ששטחי הפיקסלים יסוכמו ויקובצו בהתאם לערך בפס lossYear.

עורך הקוד (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);

אחרי שמריצים את הקוד שלמעלה, שטח היערות שאבדו מדי שנה מודפס ברשימה מקוננת בשם groups. אנחנו יכולים לעצב את הפלט קצת כדי שהתוצאה תהיה מילון, עם השנה כמפתח ואזור ההפסד כערך. שימו לב שאנחנו משתמשים בשיטה format() כדי להמיר את ערכי השנה מ-0-14 ל-2000-2014.

עורך הקוד (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);

יצירת תרשים

עכשיו, אחרי שיש לנו נתונים של הפסדים שנתיים, אנחנו יכולים להכין תרשים. נשתמש בשיטה ui.Chart.array.values(). השיטה הזו מקבלת מערך (או רשימה) של ערכי קלט ומערך (או רשימה) של תוויות לציר ה-X.

עורך הקוד (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);

התוצאה צריכה להיראות כמו התרשים שלמטה.

Tutorial_Hansen_17_chart.png
איור 1. תרשים של אובדן יערות לפי שנה

בקטע הבא נסביר על מערך נתונים נוסף למעקב אחר כריתת יערות, FORMA, ונשווה אותו לנתונים של Hansen et al.