مقدمه‌ای بر داده‌های تغییر جنگل جهانی Hansen et al.

مجموعه‌داده تغییرات جنگل‌های جهانی Hansen et al. (2013) در Earth Engine نشان‌دهنده تغییرات جنگل‌ها در سطح جهانی با وضوح ۳۰ متر بین سال‌های ۲۰۰۰ و ۲۰۱۴ است. بیایید با افزودن داده‌های Hansen et al. به نقشه شروع کنیم. یا داده‌های تغییر جنگل جهانی را با جستجوی «Hansen forest» و نام‌گذاری واردات gfc2014 وارد کنید (درباره جستجو و وارد کردن مجموعه داده‌ها بیشتر بدانید)، یا کد زیر را در «ویرایشگر کد» کپی کنید:

ویرایشگر کد (جاوا اسکریپت)

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

روی دکمه اجرا در بالای «ویرایشگر کد» کلیک کنید و باید چیزی شبیه به شکل ۱ ببینید.

پیش‌فرض تغییر جنگل
شکل ۱. تجسم پیش‌فرض داده‌های تغییر جنگل هانسن و همکاران (۲۰۱۳).

نگران نباشید، به‌زودی آن را بهتر خواهید کرد. (درباره تصویرسازی‌های پیش‌فرض تصویر در Earth Engine بیشتر بدانید). در پایان این بخش، تصویری خواهید داشت که شبیه شکل ۲ است، جایی که رنگ سبز نشان‌دهنده جایی است که مطالعه جنگل را در سال ۲۰۰۰ شناسایی کرده است، رنگ قرمز تخمین ازدست رفتن جنگل درطول دوره مطالعه است، رنگ آبی افزایش جنگل درطول آن دوره است، رنگ سرخابی مناطقی است که جنگل هم ازدست رفته و هم افزایش یافته است، و مناطق غیرجنگلی ماسک شده‌اند.

forest change custom
شکل ۲. تجسم سفارشی داده‌های تغییر جنگل هانسن و همکاران (۲۰۱۳).

به‌یاد داشته باشید که وقتی تصویری چندباندی به نقشه اضافه می‌شود، سه باند اول تصویر به‌ترتیب به‌عنوان قرمز، سبز، و آبی انتخاب می‌شوند و براساس نوع داده هر باند کشیده می‌شوند. دلیل اینکه تصویر قرمز به‌نظر می‌رسد این است که سه باند اول treecover2000، loss، و gain هستند. باند treecover2000 به‌صورت درصد بیان می‌شود و مقادیر آن بسیار بالاتر از loss (سبز) و gain (آبی) است که دودویی ({0, 1}) هستند. بنابراین، تصویر به‌صورت قرمز غالب نمایش داده می‌شود.

باندهای موجود در داده‌های «تغییرات جهانی جنگل» عبارت‌اند از:

نام گروه موسیقیشرحبُرد
treecover2000درصد تاج‌پوش در پیکسل.‫۰ تا ۱۰۰
باخت ۱ اگر درطول دوره مطالعه ضرری اتفاق بیفتد. 0 یا 1
تقویت۱ اگر درطول دوره مطالعه، افزایش اتفاق افتاده باشد. 0 یا 1
سال زیانسال وقوع ازدست رفتن، با نمایه یک از سال ۲۰۰۱، یا صفر اگر ازدست رفتنی رخ نداده باشد.۰ تا ۱۲
first_b30باند قرمز Landsat 7 ساخته‌شده از اولین پیکسل‌های معتبر در سال ۲۰۰۰ (یا قدیمی‌تر اگر پیکسل معتبری در سال ۲۰۰۰ وجود نداشته باشد). ۰ تا ۲۵۵
first_b40باند فروسرخ نزدیک Landsat 7 که از اولین پیکسل‌های معتبر در سال ۲۰۰۰ ساخته شده است.۰ تا ۲۵۵
first_b50اولین باند فروسرخ موج کوتاه Landsat 7 که از اولین پیکسل‌های معتبر در سال ۲۰۰۰ ساخته شده است.۰ تا ۲۵۵
first_b70دومین باند فروسرخ موج کوتاه Landsat 7 که از اولین پیکسل‌های معتبر در سال ۲۰۰۰ ساخته شده است.۰ تا ۲۵۵
last_b30باند قرمز Landsat 7 که از جدیدترین پیکسل‌های معتبر در سال ۲۰۱۲ ساخته شده است. ۰ تا ۲۵۵
last_b40باند مادون قرمز نزدیک Landsat 7 که از جدیدترین پیکسل‌های معتبر در سال ۲۰۱۲ ساخته شده است.۰ تا ۲۵۵
last_b50اولین باند فروسرخ موج کوتاه Landsat 7 ساخته‌شده از جدیدترین پیکسل‌های معتبر ۲۰۱۲.۰ تا ۲۵۵
last_b70دومین باند فروسرخ موج کوتاه Landsat 7 ساخته‌شده از جدیدترین پیکسل‌های معتبر ۲۰۱۲.۰ تا ۲۵۵
datamaskبدون داده (۰)، سطح زمین نقشه‌برداری‌شده (۱)، و پهنه‌های آبی دائمی (۲).۰، ۱، ۲

برای نمایش پوشش جنگلی در سال ۲۰۰۰ به‌عنوان تصویر خاکستری، می‌توانید از باند treecover2000 استفاده کنید که در آرگومان دوم Map.addLayer() مشخص شده است:

ویرایشگر کد (جاوا اسکریپت)

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

نتیجه تصویری است که باید چیزی شبیه به شکل ۳ باشد.

تاج‌پوش ایالات متحده
شکل ۳. تصویر سیاه‌وسفید از تاج‌پوش درختان در سال ۲۰۰۰ در ایالات متحده.

این تصویری است که از ۳ باند، باندهای ۵، ۴، و ۳ لندست برای سال ۲۰۱۵ استفاده می‌کند. این ترکیب باندی پوشش گیاهی سالم را به‌رنگ سبز و خاک را به‌رنگ ارغوانی نشان می‌دهد::

ویرایشگر کد (جاوا اسکریپت)

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

نتیجه باید چیزی شبیه به شکل ۴ باشد.

رنگ کاذب ایالات متحده
شکل ۴. Landsat 7، سال ۲۰۱۵، ترکیب رنگ کاذب ایالات متحده.

یک تجسم جالب از مجموعه داده «تغییرات جهانی جنگل» وسعت جنگل را در سال ۲۰۰۰ به‌رنگ سبز، کاهش جنگل را به‌رنگ قرمز، و افزایش جنگل را به‌رنگ آبی نشان می‌دهد. به‌طور مشخص، loss را نوار اول (قرمز)، treecover2000 را نوار دوم (سبز)، و gain را نوار سوم (آبی) قرار دهید:

ویرایشگر کد (جاوا اسکریپت)

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

مقادیر باند ازدست‌رفته و به‌دست‌آمده دودویی هستند، بنابراین به‌سختی در تصویر قابل‌مشاهده خواهند بود، که باید چیزی شبیه شکل ۵ باشد.

پوشش جنگلی ایالات متحده
شکل ۵. تاج‌پوش سال ۲۰۰۰ در ایالات متحده (سبز).

می‌خواهیم ازبین رفتن جنگل‌ها به‌رنگ قرمز روشن و افزایش جنگل‌ها به‌رنگ آبی روشن نشان داده شود. برای رفع این مشکل، می‌توانیم از پارامتر دیداری‌سازی max برای تنظیم محدوده‌ای که داده‌های تصویر در آن گسترده می‌شوند استفاده کنیم. توجه داشته باشید که پارامتر تجسم max فهرستی از مقادیر را می‌گیرد که با حداکثر مقدار برای هر باند مطابقت دارد:

ویرایشگر کد (جاوا اسکریپت)

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

نتیجه باید چیزی شبیه شکل ۶ باشد.

تغییر جنگل‌های ایالات متحده
شکل ۶. ازدست رفتن جنگل در ایالات متحده (قرمز)، پوشش جنگلی در سال ۲۰۰۰ (سبز)، و افزایش جنگل (آبی).

نتیجه تصویری است که در آن جنگل‌ها به رنگ سبز، جنگل‌زدایی به رنگ قرمز، جنگل‌زایی به رنگ آبی، و جنگل‌زایی و جنگل‌زدایی توأمان به رنگ ارغوانی نشان داده می‌شود. اما بررسی دقیق‌تر نشان می‌دهد که این‌طور نیست. به‌جای علامت‌گذاری ضرر با رنگ قرمز، با رنگ نارنجی علامت‌گذاری می‌شود. دلیل آن این است که پیکسل‌های قرمز روشن با پیکسل‌های سبز زیرین ترکیب می‌شوند و پیکسل‌های نارنجی تولید می‌کنند. به‌طور مشابه، پیکسل‌هایی که در آن‌ها جنگل، کاهش، و افزایش وجود دارد صورتی هستند - ترکیبی از سبز، قرمز روشن، و آبی روشن. برای دیدن تصویرسازی، به شکل ۷ مراجعه کنید.

تغییر جنگل Pac NW
شکل ۷. ازدست رفتن جنگل‌های شمال غربی اقیانوس آرام در ایالات متحده (قرمز)، پوشش سال ۲۰۰۰ (سبز) و افزایش (آبی).

برای دریافت تصویری که در ابتدای آموزش وعده داده شده بود، می‌توانید تصاویر جداگانه‌ای برای جنگل، ازدست‌رفتن، به‌دست آمدن، و هم ازدست‌رفتن و هم به‌دست آمدن ایجاد کنید. هریک از این تصاویر را به ترتیبی که برای نمایش بهتر است به نقشه اضافه کنید.

پالت‌ها

برای نمایش هر تصویر با رنگی متفاوت، می‌توانید از پارامتر palette Map.addLayer() برای تصاویر تک‌باندی استفاده کنید. پالت‌ها به شما امکان می‌دهند آرایش رنگ‌هایی را که تصویر با آن نمایش داده می‌شود تنظیم کنید (درباره پالت‌ها بیشتر بدانید). از آموزش Earth Engine API به‌یاد بیاورید که رنگ‌های موجود در پالت به‌صورت خطی تا min و max کشیده می‌شوند.

برای مثال، برای استفاده از پالت سبز برای نمایش تصویر گستره جنگل، می‌توانید از این کد استفاده کنید:

ویرایشگر کد (جاوا اسکریپت)

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

نتیجه باید چیزی شبیه به شکل ۸ باشد.

وسعت جنگل نامشخص
شکل ۸. پوشش جنگلی امریکای شمالی در سال ۲۰۰۰.

بزرگ‌نمایی حس بهتری از وضوح تصاویر ارائه می‌دهد. شکل ۹ منطقه‌ای را در اطراف ماریسکال استیگاریبیا در پاراگوئه نشان می‌دهد.

گستره جنگل پاراگوئه
شکل ۹. پوشش درختی سال ۲۰۰۰ در اطراف ماریسکال استیگاریبیا در پاراگوئه.

تصویر نشان‌داده‌شده در شکل ۳ کمی تاریک است. مشکل این است که باند treecover2000 نوع داده بایتی دارد ([0, 255])، درحالی‌که درواقع مقادیر درصد هستند ([0, 100]). برای روشن‌تر کردن تصویر، می‌توانید پارامترهای min و/یا max را به‌طور مناسب تنظیم کنید. سپس پالت بین این نقاط اکسترمم گسترده می‌شود.

ویرایشگر کد (جاوا اسکریپت)

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

نتیجه باید چیزی شبیه شکل ۹ باشد. توجه داشته باشید که در این مثال، فقط max تنظیم شده است. min به‌طور پیش‌فرض صفر است.

پاراگوئه کشیده
شکل ۹. پوشش جنگلی سال ۲۰۰۰ در اطراف ماریسکال استیگاریبیا در پاراگوئه، تا [۰، ۱۰۰] کشیده شده است.

پوشاندن

همه تصاویری که تاکنون نشان داده شده‌اند، دارای مناطق سیاه بزرگی بوده‌اند که داده‌ها در آن‌ها صفر است. برای مثال، در اقیانوس درختی وجود ندارد. برای شفاف کردن این نواحی، می‌توانید مقادیر آن‌ها را پنهان کنید. هر پیکسل در Earth Engine هم مقدار دارد و هم ماسک. تصویر با شفافیت تنظیم‌شده توسط ماسک ارائه می‌شود، که صفر کاملاً شفاف و یک کاملاً مات است.

می‌توانید تصویر را با خودش ماسک کنید. برای مثال، اگر باند treecover2000 را با خودش ماسک کنید، همه مناطقی که پوشش جنگلی آن‌ها صفر است شفاف خواهند شد:

ویرایشگر کد (جاوا اسکریپت)

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

نتیجه باید چیزی شبیه به شکل ۱۰ باشد.

تاج‌پوش قاره امریکا
شکل ۱۰. پوشش درختی سال ۲۰۰۰، کشیده و ماسک‌شده.

مثال

تقریباً امکان‌پذیر است که دیداری‌سازی داده‌های Hansen را مانند آنچه در ابتدای آموزش آمده است انجام دهید. در این مثال، همه چیز را با یک تفاوت کوچک کنار هم قرار می‌دهیم. به‌جای مشخص کردن پارامتر bands در فراخوانی Map.addLayer، تصاویر جدیدی بااستفاده از select() ایجاد می‌کنیم:

ویرایشگر کد (جاوا اسکریپت)

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');

نتیجه باید چیزی شبیه به شکل ۱۱ باشد.

Americas loss gain
شکل ۱۱. ازدست رفتن جنگل (قرمز)، پوشش سال ۲۰۰۰ (سبز)، و افزایش (آبی).

مشاهده می‌کنید که سه تماس addLayer() وجود دارد. هر فراخوانی addLayer() لایه‌ای به نقشه اضافه می‌کند. با نگه داشتن موشواره روی دکمه لایه‌ها در بالا سمت چپ نقشه، این لایه‌ها نمایان می‌شوند. هر لایه را می‌توان بااستفاده از چارگوش انتخاب کنار آن خاموش یا روشن کرد، و کدری لایه را می‌توان با لغزنده کنار نام لایه تغییر داد.

تقریباً می‌توانیم تصویری را که در ابتدای آموزش نشان داده شده است بسازیم. بااین‌حال، لایه‌ای که پیکسل‌های دارای کاهش و افزایش را نشان می‌دهد وجود ندارد. این اطلاعات وجود ندارد چون باید بدانیم چگونه برخی محاسبات را روی باندهای تصویر انجام دهیم تا بتوانیم محاسبه کنیم کدام پیکسل‌ها هم کاهش و هم افزایش را نشان می‌دهند. این موضوع بخش بعدی است.