تمثّل مجموعة بيانات التغيّر في الغابات حول العالم من Hansen وآخرين (2013)
Global
Forest Change dataset في Earth Engine التغيّر في الغابات بدقة 30 مترًا على مستوى العالم بين عامَي 2000 و2014. لنبدأ بإضافة بيانات Hansen et al. إلى الخريطة. يمكنك استيراد بيانات التغيّر العالمي في الغابات
(مزيد من المعلومات حول البحث عن مجموعات البيانات واستيرادها)
من خلال البحث عن "غابات هانسن" وتسمية عملية الاستيراد 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 | تمثّل هذه السمة السنة التي حدثت فيها الخسارة، ويتم احتسابها بدءًا من السنة 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
المحدّد في الوسيطة الثانية للدالة 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
له نوع بيانات بايت ([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.

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