مجموعهداده تغییرات جنگلهای جهانی 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 بیشتر بدانید). در پایان این بخش، تصویری خواهید داشت که شبیه شکل ۲ است، جایی که رنگ سبز نشاندهنده جایی است که مطالعه جنگل را در سال ۲۰۰۰ شناسایی کرده است، رنگ قرمز تخمین ازدست رفتن جنگل درطول دوره مطالعه است، رنگ آبی افزایش جنگل درطول آن دوره است، رنگ سرخابی مناطقی است که جنگل هم ازدست رفته و هم افزایش یافته است، و مناطق غیرجنگلی ماسک شدهاند.
بهیاد داشته باشید که وقتی تصویری چندباندی به نقشه اضافه میشود، سه باند اول تصویر بهترتیب بهعنوان قرمز، سبز، و آبی انتخاب میشوند و براساس نوع داده هر باند کشیده میشوند. دلیل اینکه تصویر قرمز بهنظر میرسد این است که سه باند اول
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');
نتیجه باید چیزی شبیه به شکل ۴ باشد.
یک تجسم جالب از مجموعه داده «تغییرات جهانی جنگل» وسعت جنگل را در سال ۲۰۰۰ بهرنگ سبز، کاهش جنگل را بهرنگ قرمز، و افزایش جنگل را بهرنگ آبی نشان میدهد. بهطور مشخص،
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');
نتیجه باید چیزی شبیه شکل ۶ باشد.
نتیجه تصویری است که در آن جنگلها به رنگ سبز، جنگلزدایی به رنگ قرمز، جنگلزایی به رنگ آبی، و جنگلزایی و جنگلزدایی توأمان به رنگ ارغوانی نشان داده میشود. اما بررسی دقیقتر نشان میدهد که اینطور نیست. بهجای علامتگذاری ضرر با رنگ قرمز، با رنگ نارنجی علامتگذاری میشود. دلیل آن این است که پیکسلهای قرمز روشن با پیکسلهای سبز زیرین ترکیب میشوند و پیکسلهای نارنجی تولید میکنند. بهطور مشابه، پیکسلهایی که در آنها جنگل، کاهش، و افزایش وجود دارد صورتی هستند - ترکیبی از سبز، قرمز روشن، و آبی روشن. برای دیدن تصویرسازی، به شکل ۷ مراجعه کنید.
برای دریافت تصویری که در ابتدای آموزش وعده داده شده بود، میتوانید تصاویر جداگانهای برای جنگل، ازدسترفتن، بهدست آمدن، و هم ازدسترفتن و هم بهدست آمدن ایجاد کنید. هریک از این تصاویر را به ترتیبی که برای نمایش بهتر است به نقشه اضافه کنید.
پالتها
برای نمایش هر تصویر با رنگی متفاوت، میتوانید از پارامتر 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');
نتیجه باید چیزی شبیه به شکل ۱۱ باشد.
مشاهده میکنید که سه تماس addLayer() وجود دارد. هر
فراخوانی addLayer() لایهای به نقشه اضافه میکند. با نگه داشتن موشواره روی دکمه لایهها در بالا سمت چپ نقشه، این لایهها نمایان میشوند. هر لایه را میتوان بااستفاده از چارگوش انتخاب کنار آن خاموش یا روشن کرد، و
کدری لایه را میتوان با لغزنده کنار نام لایه تغییر داد.
تقریباً میتوانیم تصویری را که در ابتدای آموزش نشان داده شده است بسازیم. بااینحال، لایهای که پیکسلهای دارای کاهش و افزایش را نشان میدهد وجود ندارد. این اطلاعات وجود ندارد چون باید بدانیم چگونه برخی محاسبات را روی باندهای تصویر انجام دهیم تا بتوانیم محاسبه کنیم کدام پیکسلها هم کاهش و هم افزایش را نشان میدهند. این موضوع بخش بعدی است.