تمثّل مجموعة بيانات التغيير العالمي في الغابات التي أعدّها "هانسن" وآخرون (2013) في 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);
انقر على الزر Run (تشغيل) في أعلى "أداة تعديل الرموز"، ومن المفترض أن يظهر لك ما يشبه الشكل 1.
لا تقلق، ستجعلها تبدو أفضل قريبًا. مزيد من المعلومات حول العروض التوضيحية التلقائية للصور في Earth Engine في نهاية هذا القسم، ستحصل على صورة تشبه الشكل 2، حيث يمثّل اللون الأخضر المناطق التي رصدت فيها الدراسة غابات في عام 2000، ويمثّل اللون الأحمر الخسارة المقدَّرة في الغابات خلال فترة الدراسة، ويمثّل اللون الأزرق الزيادة في الغابات خلال تلك الفترة، ويمثّل اللون الأرجواني المناطق التي شهدت خسارة وزيادة في الغابات، ويتم حجب المناطق غير الحرجية.
تذكَّر أنّه عند إضافة صورة متعددة النطاقات إلى خريطة، يتم اختيار النطاقات الثلاثة الأولى من الصورة على أنّها أحمر وأخضر وأزرق على التوالي، ويتم تمديدها وفقًا لنوع بيانات كل نطاق. السبب في ظهور الصورة باللون الأحمر هو أنّ النطاقات الثلاثة الأولى هي
treecover2000 وloss وgain. يتم التعبير عن النطاق treecover2000 كنسبة مئوية وله قيم أعلى بكثير من loss (الأخضر) وgain (الأزرق) وهما ثنائيان ({0, 1}). وبالتالي، تظهر الصورة باللون الأحمر بشكل كبير.
النطاقات في بيانات Global Forest Change هي:
| اسم الفرقة | الوصف | النطاق |
|---|---|---|
| treecover2000 | النسبة المئوية للغطاء الشجري في وحدة البكسل | 0 - 100 |
| خسارة | 1 إذا حدثت خسارة في أي وقت خلال فترة الدراسة | 0 أو 1 |
| زيادة الوزن | 1 إذا حدثت زيادة في الوزن خلال فترة الدراسة | 0 أو 1 |
| lossyear | السنة التي حدثت فيها الخسارة، تبدأ من العام 2001، أو صفر في حال عدم حدوث خسارة. | 0 إلى 12 |
| first_b30 | النطاق الأحمر في Landsat 7 الذي تم إنشاؤه من أول وحدات بكسل صالحة في عام 2000 (أو أقدم إذا لم تكن هناك وحدات بكسل صالحة في عام 2000). | من 0 إلى 255 |
| first_b40 | النطاق القريب من الأشعة تحت الحمراء في القمر الصناعي Landsat 7 تم إنشاؤه من أول وحدات بكسل صالحة في عام 2000. | من 0 إلى 255 |
| first_b50 | The first Landsat 7 short wave infrared band built from the first valid pixels in 2000. | من 0 إلى 255 |
| first_b70 | النطاق الثاني للأشعة تحت الحمراء القصيرة الموجة من القمر الصناعي Landsat 7، والذي تم إنشاؤه من أول وحدات بكسل صالحة في عام 2000 | من 0 إلى 255 |
| last_b30 | النطاق الأحمر للقمر الصناعي Landsat 7 الذي تم إنشاؤه من أحدث وحدات البكسل الصالحة في عام 2012. | من 0 إلى 255 |
| last_b40 | The Landsat 7 near infrared band built from the latest valid pixels in 2012. | من 0 إلى 255 |
| last_b50 | النطاق الأول للأشعة تحت الحمراء ذات الموجات القصيرة من Landsat 7، والذي تم إنشاؤه من أحدث وحدات البكسل الصالحة لعام 2012. | من 0 إلى 255 |
| last_b70 | The second Landsat 7 short wave infrared band built from the latest valid pixels 2012. | من 0 إلى 255 |
| datamask | لا تتوفّر بيانات (0)، سطح الأرض المعيّن (1)، والمسطحات المائية الدائمة (2). | 0, 1, 2 |
لعرض الغطاء الحرجي في عام 2000 كصورة بتدرج الرمادي، يمكنك استخدام النطاق treecover2000، المحدّد في الوسيطة الثانية لـ Map.addLayer():
أداة تعديل الرموز (JavaScript)
Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');
يؤدي هذا إلى صورة من المفترض أن تبدو مثل الشكل 3.
في ما يلي صورة تستخدم 3 نطاقات، وهي نطاقات Landsat 5 و4 و3 لعام 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 أنّ الألوان في لوحة الألوان يتم تمديدها خطيًا إلى min وmax.
على سبيل المثال، لاستخدام لوحة ألوان خضراء لعرض صورة مدى الغابة، يمكنك استخدام:
أداة تعديل الرموز (JavaScript)
Map.addLayer(gfc2014, { bands: ['treecover2000'], palette: ['000000', '00FF00'] }, 'forest cover palette');
يجب أن تبدو النتيجة مثل الشكل 8.
يمنحك التكبير فكرة أفضل عن دقة الصور. يعرض الشكل 9 منطقة حول ماريسكال إستيغاريبيا في باراغواي.
الصورة المعروضة في الشكل 3 مظلمة بعض الشيء. تكمن المشكلة في أنّ النطاق treecover2000 يتضمّن نوع بيانات بايت ([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 له قيمة وقناع. يتم عرض الصورة مع ضبط الشفافية من خلال القناع، حيث يكون الصفر شفافًا تمامًا والواحد معتمًا تمامًا.
يمكنك إخفاء صورة باستخدام الصورة نفسها. على سبيل المثال، إذا تم حجب النطاق 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');
يُفترض أن تظهر النتيجة على النحو التالي:
لاحظ أنّ هناك ثلاث مكالمات addLayer(). يضيف كل طلب addLayer() طبقة إلى الخريطة. يؤدي تمرير مؤشر الماوس فوق زر الطبقات في أعلى يسار الخريطة إلى الكشف عن هذه الطبقات. يمكن تفعيل كل طبقة أو إيقافها باستخدام مربّع الاختيار بجانبها، ويمكن تغيير
مستوى تعتيم الطبقة باستخدام شريط التمرير بجانب اسم الطبقة.
أصبحنا على وشك إنشاء الصورة المعروضة في بداية البرنامج التعليمي. ومع ذلك، فإن الطبقة التي تعرض وحدات البكسل التي بها خسارة ومكاسب مفقودة. وهي غير متوفّرة لأنّنا بحاجة إلى معرفة كيفية إجراء بعض العمليات الحسابية على نطاقات الصور قبل أن نتمكّن من حساب وحدات البكسل التي تُظهر كلاً من الخسارة والربح. هذا هو موضوع القسم التالي.