مقدمة حول بيانات "التغيّر في الغابات حول العالم" من Hansen et al.

تمثّل مجموعة بيانات التغيير العالمي في الغابات التي أعدّها "هانسن" وآخرون (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.

forest change default
الشكل 1: العرض المرئي التلقائي لبيانات تغيُّر الغابات وفقًا لهانسن وآخرين (2013)

لا تقلق، ستجعلها تبدو أفضل قريبًا. مزيد من المعلومات حول العروض التوضيحية التلقائية للصور في Earth Engine في نهاية هذا القسم، ستحصل على صورة تشبه الشكل 2، حيث يمثّل اللون الأخضر المناطق التي رصدت فيها الدراسة غابات في عام 2000، ويمثّل اللون الأحمر الخسارة المقدَّرة في الغابات خلال فترة الدراسة، ويمثّل اللون الأزرق الزيادة في الغابات خلال تلك الفترة، ويمثّل اللون الأرجواني المناطق التي شهدت خسارة وزيادة في الغابات، ويتم حجب المناطق غير الحرجية.

تغيير مخصّص للغابات
الشكل 2: تصوّر مخصّص لبيانات تغيّر الغابات من هانسن وآخرين (2013).

تذكَّر أنّه عند إضافة صورة متعددة النطاقات إلى خريطة، يتم اختيار النطاقات الثلاثة الأولى من الصورة على أنّها أحمر وأخضر وأزرق على التوالي، ويتم تمديدها وفقًا لنوع بيانات كل نطاق. السبب في ظهور الصورة باللون الأحمر هو أنّ النطاقات الثلاثة الأولى هي 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_b50The 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_b40The Landsat 7 near infrared band built from the latest valid pixels in 2012.من 0 إلى 255
last_b50النطاق الأول للأشعة تحت الحمراء ذات الموجات القصيرة من Landsat 7، والذي تم إنشاؤه من أحدث وحدات البكسل الصالحة لعام 2012.من 0 إلى 255
last_b70The 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: صورة بتدرج الرمادي للغطاء الشجري في الولايات المتحدة في عام 2000

في ما يلي صورة تستخدم 3 نطاقات، وهي نطاقات Landsat‏ 5 و4 و3 لعام 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 أنّ الألوان في لوحة الألوان يتم تمديدها خطيًا إلى min وmax.

على سبيل المثال، لاستخدام لوحة ألوان خضراء لعرض صورة مدى الغابة، يمكنك استخدام:

أداة تعديل الرموز (JavaScript)

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

يجب أن تبدو النتيجة مثل الشكل 8.

forest extent NA
الشكل 8: الغطاء الحرجي في أمريكا الشمالية لعام 2000

يمنحك التكبير فكرة أفضل عن دقة الصور. يعرض الشكل 9 منطقة حول ماريسكال إستيغاريبيا في باراغواي.

مساحة الغابات في باراغواي
الشكل 9: الغطاء الشجري في عام 2000 حول ماريسكال إستيغاريبيا في باراغواي

الصورة المعروضة في الشكل 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 صفرًا تلقائيًا.

باراغواي
الشكل 9: الغطاء الغابي في عام 2000 حول ماريسكال إستيغاريبيا في باراغواي، ممتد إلى [0, 100].

تحديد منطقة

جميع الصور التي تم عرضها حتى الآن تحتوي على مناطق سوداء كبيرة حيث تكون البيانات صفرًا. على سبيل المثال، لا توجد أشجار في المحيط. لجعل هذه المناطق شفافة، يمكنك إخفاء قيمها. كل بكسل في Earth Engine له قيمة وقناع. يتم عرض الصورة مع ضبط الشفافية من خلال القناع، حيث يكون الصفر شفافًا تمامًا والواحد معتمًا تمامًا.

يمكنك إخفاء صورة باستخدام الصورة نفسها. على سبيل المثال، إذا تم حجب النطاق 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: فقدان الغابات (باللون الأحمر)، والغطاء الحرجي في العام 2000 (باللون الأخضر)، وزيادة الغطاء الحرجي (باللون الأزرق).

لاحظ أنّ هناك ثلاث مكالمات addLayer(). يضيف كل طلب addLayer() طبقة إلى الخريطة. يؤدي تمرير مؤشر الماوس فوق زر الطبقات في أعلى يسار الخريطة إلى الكشف عن هذه الطبقات. يمكن تفعيل كل طبقة أو إيقافها باستخدام مربّع الاختيار بجانبها، ويمكن تغيير مستوى تعتيم الطبقة باستخدام شريط التمرير بجانب اسم الطبقة.

أصبحنا على وشك إنشاء الصورة المعروضة في بداية البرنامج التعليمي. ومع ذلك، فإن الطبقة التي تعرض وحدات البكسل التي بها خسارة ومكاسب مفقودة. وهي غير متوفّرة لأنّنا بحاجة إلى معرفة كيفية إجراء بعض العمليات الحسابية على نطاقات الصور قبل أن نتمكّن من حساب وحدات البكسل التي تُظهر كلاً من الخسارة والربح. هذا هو موضوع القسم التالي.