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.

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

כדאי לזכור שכאשר מוסיפים מפה עם תמונה מרובת פסים, שלושת הפסים הראשונים של התמונה נבחרים כפסים אדום, ירוק וכחול בהתאמה, והם נמתחים בהתאם לסוג הנתונים של כל פס. הסיבה לכך שהתמונה נראית אדומה היא ששלושת הפסים הראשונים הם 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 פסים, פסים 5, 4 ו-3 של Landsat לשנת 2015. שילוב הפסים הזה מציג צמחייה בריאה בירוק וקרקע בסגול::
עורך הקוד (JavaScript)
Map.addLayer( gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');
התוצאה אמורה להיראות כמו באיור 4.

אחת מההמחשות היפות של מערך הנתונים 'שינויים ביערות בעולם' מציגה את היקף היערות בשנת 2000 בירוק, את אובדן היערות באדום ואת התרחבות היערות בכחול. בפרט, צריך להגדיר את loss
כפס הראשון (אדום), את treecover2000
כפס השני (ירוק) ואת gain
כפס השלישי (כחול):
עורך הקוד (JavaScript)
Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');
הערכים של טווח ההפסד והרווח הם בינאריים, ולכן הם כמעט לא נראים בתמונה, שצריכה להיראות כמו איור 5.

אנחנו רוצים שאובדן היערות יוצג באדום בוהק ושהתחדשות היערות תוצג בכחול בוהק. כדי לפתור את הבעיה, אפשר להשתמש בפרמטר ההצגה החזותית max
כדי להגדיר את הטווח שאליו נמתחים נתוני התמונה. שימו לב שפרמטר הוויזואליזציה max
מקבל רשימה של ערכים, שמתאימים לערכים המקסימליים של כל פס:
עורך הקוד (JavaScript)
Map.addLayer(gfc2014, { bands: ['loss', 'treecover2000', 'gain'], max: [1, 255, 1] }, 'forest cover, loss, gain');
התוצאה אמורה להיראות כמו באיור 6.

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

כדי לקבל את התמונה שהובטחה בתחילת ההדרכה, אפשר ליצור תמונות נפרדות של יער, הפסד, רווח וגם של הפסד וגם של רווח. מוסיפים כל אחת מהתמונות למפה בסדר שהכי מתאים להצגה.
פלטות
כדי להציג כל תמונה בצבע אחר, אפשר להשתמש בפרמטר palette
של Map.addLayer()
לתמונות עם פס אחד. לוחות צבעים מאפשרים להגדיר את ערכת הצבעים שבה התמונה מוצגת (מידע נוסף על לוחות צבעים). במדריך בנושא Earth Engine API, למדנו שהצבעים בפלטה נמתחים באופן לינארי ל-min
ול-max
.
לדוגמה, כדי להשתמש בפלטת צבעים ירוקה להצגת תמונה של שטח היער, אפשר להשתמש בפקודה הבאה:
עורך הקוד (JavaScript)
Map.addLayer(gfc2014, { bands: ['treecover2000'], palette: ['000000', '00FF00'] }, 'forest cover palette');
התוצאה אמורה להיראות כמו באיור 8.

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

התמונה שמוצגת באיור 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
הוא אפס.

מסקינג
בכל התמונות שהוצגו עד עכשיו יש אזורים שחורים גדולים שבהם הנתונים הם אפס. לדוגמה, אין עצים באוקיינוס. כדי להסתיר את האזורים האלה, אפשר להסוות את הערכים שלהם. לכל פיקסל ב-Earth Engine יש גם ערך וגם מסכה. התמונה מוצגת עם שקיפות שמוגדרת על ידי המסכה, כאשר 0 מייצג שקיפות מלאה ו-1 מייצג אטימות מלאה.
אפשר להשתמש בתמונה כמסכה של עצמה. לדוגמה, אם מסתירים את הפס treecover2000
בעזרת עצמו, כל האזורים שבהם כיסוי היער הוא אפס יהיו שקופים:
עורך הקוד (JavaScript)
Map.addLayer(gfc2014.mask(gfc2014), { bands: ['treecover2000'], palette: ['000000', '00FF00'], max: 100 }, 'forest cover masked');
התוצאה אמורה להיראות כמו באיור 10.

דוגמה
אפשר כמעט ליצור תרשים של נתוני 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.

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