מבוא לנתוני שינוי היערות הגלובליים של Hansen et al.

Hansen et al. (2013) Global Forest Change dataset ב-Earth Engine מייצג שינויים ביערות ברזולוציה של 30 מטרים, ברחבי העולם, בין השנים 2000 ל-2014. נתחיל בהוספת הנתונים של Hansen et al. למפה. אפשר לייבא את נתוני השינוי הגלובליים של היערות (מידע נוסף על חיפוש וייבוא של מערכי נתונים) על ידי חיפוש של 'Hansen forest' ומתן שם לייבוא gfc2014, או להעתיק את הקוד הבא אל כלי עריכת הקוד:

עורך הקוד (JavaScript)

var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015');
Map.addLayer(gfc2014);

לוחצים על הלחצן הפעלה בחלק העליון של עורך הקוד, ואז אמור להופיע משהו כמו איור 1.

שינוי ברירת המחדל של יער
איור 1. ההצגה החזותית שמוגדרת כברירת מחדל של נתוני השינוי ביערות של Hansen et al. (2013).

אל דאגה, בקרוב תדעו איך לשפר את המראה. (מידע נוסף על הדמיה של תמונות שמוגדרות כברירת מחדל ב-Earth Engine) בסוף הקטע הזה, תקבלו תמונה שנראית כמו איור 2, שבה הצבע הירוק מייצג את האזורים שבהם המחקר זיהה יער בשנת 2000, הצבע האדום מייצג את אובדן היער המשוער במהלך תקופת המחקר, הצבע הכחול מייצג את התרחבות היער במהלך התקופה הזו, הצבע מג'נטה מייצג אזורים שבהם היער הצטמצם והתרחב, ואזורים שאינם יערות מוסתרים.

forest change custom
איור 2. תצוגה חזותית בהתאמה אישית של נתוני שינוי היער של Hansen et al. (2013).

כדאי לזכור שכאשר מוסיפים מפה עם תמונה מרובת פסים, שלושת הפסים הראשונים של התמונה נבחרים כפסים אדום, ירוק וכחול בהתאמה, והם נמתחים בהתאם לסוג הנתונים של כל פס. הסיבה לכך שהתמונה נראית אדומה היא ששלושת הפסים הראשונים הם treecover2000, loss ו-gain. הפס treecover2000 מוצג כאחוז, והערכים שלו גבוהים בהרבה מהערכים של loss (ירוק) ושל gain (כחול), שהם בינאריים (‎{0, 1}‎). לכן התמונה מוצגת בעיקר באדום.

הפסים בנתוני השינוי ביערות בעולם הם:

שם הלהקהתיאורטווח
treecover2000אחוז כיסוי העצים בפיקסל.‫0 - 100
ירידה ‫1 אם אירע אובדן כלשהו במהלך תקופת המחקר. 0 או 1
עלייה‫1 אם מתרחש רווח כלשהו במהלך תקופת המחקר. 0 או 1
lossyearהשנה שבה אירע אובדן, באינדקס שמתחיל מ-1 משנת 2001, או אפס אם לא אירע אובדן.0 - 12
first_b30הפס האדום של Landsat 7 שנבנה מהפיקסלים התקינים הראשונים בשנת 2000 (או מפיקסלים ישנים יותר אם לא היו פיקסלים תקינים בשנת 2000). 0 - 255
first_b40הפס של Landsat 7 בתחום האינפרא-אדום הקרוב שנבנה מהפיקסלים התקינים הראשונים בשנת 2000.0 - 255
first_b50הפס הראשון של גלי אינפרא-אדום קצרים של Landsat 7 שנבנה מהפיקסלים התקינים הראשונים בשנת 2000.0 - 255
first_b70הפס השני של Landsat 7 בתחום האינפרא-אדום של גלים קצרים, שנבנה מהפיקסלים התקינים הראשונים בשנת 2000.0 - 255
last_b30הפס האדום של Landsat 7 שנבנה מהפיקסלים התקינים האחרונים בשנת 2012. 0 - 255
last_b40הפס הקרוב לאינפרא אדום של Landsat 7 נוצר מהפיקסלים התקינים האחרונים בשנת 2012.0 - 255
last_b50הפס הראשון של Landsat 7 בתחום האינפרא-אדום של גלים קצרים שנבנה מהפיקסלים התקינים האחרונים משנת 2012.0 - 255
last_b70הפס השני של גלי אינפרא-אדום קצרים של Landsat 7 נוצר מהפיקסלים התקינים האחרונים משנת 2012.0 - 255
datamaskאין נתונים (0), מיפוי של פני השטח (1) ומקווי מים קבועים (2).0, 1, 2

כדי להציג את כיסוי היערות בשנת 2000 כתמונה בגווני אפור, אפשר להשתמש בtreecover2000 band, שצוין בארגומנט השני ל-Map.addLayer():

עורך הקוד (JavaScript)

Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');

התוצאה היא תמונה שצריכה להיראות בערך כמו איור 3.

כיסוי עצים בארה"ב
איור 3. תמונה בגווני אפור של כיסוי העצים בארה"ב בשנת 2000.

זו תמונה שבה נעשה שימוש ב-3 פסים, פסים 5, 4 ו-3 של Landsat לשנת 2015. שילוב הפסים הזה מציג צמחייה בריאה בירוק וקרקע בסגול::

עורך הקוד (JavaScript)

Map.addLayer(
    gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');

התוצאה אמורה להיראות כמו באיור 4.

צבע מדומה בארה"ב
איור 4. ‫Landsat 7, שנת 2015, שילוב צבעים מדומה של ארה"ב.

אחת מההמחשות היפות של מערך הנתונים 'שינויים ביערות בעולם' מציגה את היקף היערות בשנת 2000 בירוק, את אובדן היערות באדום ואת התרחבות היערות בכחול. בפרט, צריך להגדיר את loss כפס הראשון (אדום), את treecover2000 כפס השני (ירוק) ואת gain כפס השלישי (כחול):

עורך הקוד (JavaScript)

Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');

הערכים של טווח ההפסד והרווח הם בינאריים, ולכן הם כמעט לא נראים בתמונה, שצריכה להיראות כמו איור 5.

כיסוי יערות בארה"ב
איור 5. תכסית העצים בארה"ב בשנת 2000 (ירוק).

אנחנו רוצים שאובדן היערות יוצג באדום בוהק ושהתחדשות היערות תוצג בכחול בוהק. כדי לפתור את הבעיה, אפשר להשתמש בפרמטר ההצגה החזותית max כדי להגדיר את הטווח שאליו נמתחים נתוני התמונה. שימו לב שפרמטר הוויזואליזציה max מקבל רשימה של ערכים, שמתאימים לערכים המקסימליים של כל פס:

עורך הקוד (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['loss', 'treecover2000', 'gain'],
  max: [1, 255, 1]
}, 'forest cover, loss, gain');

התוצאה אמורה להיראות כמו באיור 6.

שינוי ביערות בארה"ב
איור 6. אובדן יערות בארה"ב (אדום), כיסוי יערות בשנת 2000 (ירוק) ועלייה (כחול).

התוצאה היא תמונה שבה אזורים עם יערות צבועים בירוק, אזורים שבהם יש כריתת יערות צבועים באדום, אזורים שבהם יש צמיחת יערות צבועים בכחול ואזורים שבהם יש גם כריתת יערות וגם צמיחת יערות צבועים במג'נטה. אבל אם בוחנים את התמונה מקרוב, רואים שהיא לא מדויקת. במקום אדום, ההפסד מסומן בכתום. הסיבה לכך היא שהפיקסלים האדומים הבהירים מתערבבים עם הפיקסלים הירוקים שמתחת, ויוצרים פיקסלים כתומים. באופן דומה, הפיקסלים שבהם יש יער, אובדן ורווח הם ורודים – שילוב של ירוק, אדום בהיר וכחול בהיר. להמחשה הוספנו את איור 7 בהמשך.

שינוי ביערות בצפון מערב האוקיינוס השקט
איור 7. אובדן יערות (אדום) באזור הפסיפיק נורת' ווסט בארה"ב, כיסוי (ירוק) בשנת 2000 וגידול (כחול).

כדי לקבל את התמונה שהובטחה בתחילת ההדרכה, אפשר ליצור תמונות נפרדות של יער, הפסד, רווח וגם של הפסד וגם של רווח. מוסיפים כל אחת מהתמונות למפה בסדר שהכי מתאים להצגה.

פלטות

כדי להציג כל תמונה בצבע אחר, אפשר להשתמש בפרמטר palette של Map.addLayer() לתמונות עם פס אחד. לוחות צבעים מאפשרים להגדיר את ערכת הצבעים שבה התמונה מוצגת (מידע נוסף על לוחות צבעים). במדריך בנושא Earth Engine API, למדנו שהצבעים בפלטה נמתחים באופן לינארי ל-min ול-max.

לדוגמה, כדי להשתמש בפלטת צבעים ירוקה להצגת תמונה של שטח היער, אפשר להשתמש בפקודה הבאה:

עורך הקוד (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00']
}, 'forest cover palette');

התוצאה אמורה להיראות כמו באיור 8.

שטח היערות באמריקה הצפונית
איור 8. כיסוי היערות בצפון אמריקה בשנת 2000.

התקרבות לתמונה מאפשרת להבין טוב יותר את הרזולוציה שלה. איור 9 מציג אזור מסביב למריסקל אסטיגריביה בפרגוואי.

שטח היערות בפרגוואי
איור 9. כיסוי העצים בשנת 2000 סביב מריסקל אסטיגריביה בפרגוואי.

התמונה שמוצגת באיור 3 קצת כהה. הבעיה היא שלרצועה treecover2000 יש טיפוס נתונים מסוג byte ‏ ([0, 255]), אבל בפועל הערכים הם אחוזים ‏ ([0, 100]). כדי להבהיר את התמונה, אפשר להגדיר את הפרמטרים min או max בהתאם. הפלטה נמתחת בין הערכים הקיצוניים האלה.

עורך הקוד (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover percent');

התוצאה אמורה להיראות כמו באיור 9. שימו לב שבדוגמה הזו, מוגדר רק הערך של max. ערך ברירת המחדל של min הוא אפס.

stretched Paraguay
איור 9. כיסוי היערות בשנת 2000 סביב מאריסקל אסטיגאריביה בפרגוואי, הורחב לטווח [0, 100].

מסקינג

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

אפשר להשתמש בתמונה כמסכה של עצמה. לדוגמה, אם מסתירים את הפס treecover2000 בעזרת עצמו, כל האזורים שבהם כיסוי היער הוא אפס יהיו שקופים:

עורך הקוד (JavaScript)

Map.addLayer(gfc2014.mask(gfc2014), {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover masked');

התוצאה אמורה להיראות כמו באיור 10.

כיסוי העצים באמריקה
איור 10. כיסוי צל העצים בשנת 2000, עם מתיחה ומסכה.

דוגמה

אפשר כמעט ליצור תרשים של נתוני Hansen כמו זה שמופיע בתחילת המדריך. בדוגמה הזו, אנחנו משלבים הכול עם הבדל קטן אחד. במקום לציין את הפרמטר bands בקריאה Map.addLayer, אנחנו יוצרים תמונות חדשות באמצעות select():

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

התוצאה אמורה להיראות כמו באיור 11.

הרווח או ההפסד של יבשת אמריקה
איור 11. אובדן יערות (אדום), כיסוי בשנת 2000 (ירוק) ועלייה (כחול).

שימו לב שיש שלוש שיחות addLayer(). כל שיחה עם addLayer() מוסיפה שכבה למפה. כדי לראות את השכבות האלה, מעבירים את העכבר מעל הלחצן שכבות בפינה השמאלית העליונה של המפה. אפשר להפעיל או להשבית כל שכבה באמצעות תיבת הסימון שלצדה, ואפשר לשנות את רמת השקיפות של השכבה באמצעות פס ההזזה שלצד שם השכבה.

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