تشير مجموعة الصور إلى مجموعة من صور Earth Engine. على سبيل المثال، مجموعة
كل صور Landsat 8 هي ee.ImageCollection. مثل صورة SRTM التي كنت تعمل عليها، تحتوي مجموعات الصور أيضًا على معرّف. كما هو الحال مع الصور الفردية، يمكنك العثور على معرّف مجموعة صور من خلال البحث في كتالوج بيانات Earth Engine من "أداة تعديل الرموز" والاطّلاع على صفحة تفاصيل مجموعة البيانات. على سبيل المثال، ابحث عن "landsat 8 toa" وانقر على النتيجة الأولى التي من المفترض أن تتوافق مع مجموعة بيانات
USGS Landsat 8 Collection 1 Tier 1 TOA Reflectance.
يمكنك استيراد مجموعة البيانات هذه باستخدام الزر استيراد وإعادة تسميتها إلى l8، أو نسخ المعرّف إلى
أداة إنشاء مجموعة الصور:
أداة تعديل الرموز (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA');
فلترة مجموعات الصور
تجدر الإشارة إلى أنّ هذه المجموعة تمثّل كل مَشاهد Landsat 8 التي تم جمعها من جميع أنحاء الأرض. غالبًا ما يكون من المفيد استخراج صورة واحدة أو مجموعة فرعية من الصور
لاختبار الخوارزميات عليها. يمكنك حصر المجموعة حسب الوقت أو المساحة من خلال
فلترتها. على سبيل المثال، لفلترة المجموعة حسب الصور التي تغطي موقعًا جغرافيًا معيّنًا، حدِّد أولاً منطقة الاهتمام باستخدام نقطة (أو خط أو مضلّع) من خلال أدوات رسم الأشكال الهندسية. انتقِل إلى المنطقة التي تهمّك، ثم مرِّر مؤشر الماوس فوق عمليات استيراد الأشكال الهندسية (إذا سبق لك تحديد شكل هندسي واحد أو أكثر) وانقر على +طبقة جديدة (إذا لم تكن لديك أي عمليات استيراد، انتقِل إلى الخطوة التالية). احصل على أداة رسم النقاط
(
) وأنشئ نقطة في المنطقة
التي تهمّك. أدخِل الاسم point لعملية الاستيراد. والآن، يمكنك فلترة مجموعة l8
للحصول على الصور التي تتقاطع مع النقطة فقط، ثم إضافة فلتر ثانٍ
لقصر المجموعة على الصور التي تم الحصول عليها في عام 2015 فقط:
أداة تعديل الرموز (JavaScript)
var spatialFiltered = l8.filterBounds(point); print('spatialFiltered', spatialFiltered); var temporalFiltered = spatialFiltered.filterDate('2015-01-01', '2015-12-31'); print('temporalFiltered', temporalFiltered);
في هذه الحالة، filterBounds() وfilterDate() هما طريقتان مختصرتان
للطريقة الأكثر عمومية filter() في مجموعات الصور، والتي تأخذ
ee.Filter() كوسيطة لها. يمكنك استكشاف علامة التبويب المستندات في "أداة تعديل الرموز" لمزيد من المعلومات حول هذه الطرق. الوسيطة في filterBounds()
هي النقطة التي رقمنتها والوسيطتان في filterDate() هما تاريخان،
يتم التعبير عنهما كسلاسل.
يُرجى العِلم أنّه يمكنك print() المجموعات التي تمت فلترتها. لا يمكنك طباعة أكثر من 5,000 عنصر في المرة الواحدة، لذا لا يمكنك مثلاً طباعة مجموعة l8 بالكامل. بعد تنفيذ طريقة print()، يمكنك فحص المجموعات المطبوعة في وحدة التحكّم. يُرجى العِلم أنّه عند توسيع ImageCollection باستخدام زرّ التوسيع ()، ثم توسيع قائمة
features، ستظهر لك قائمة بالصور التي يمكن توسيع كلّ منها وفحصها. هذه إحدى الطرق للعثور على معرّف صورة فردية. هناك طريقة أخرى أكثر برمجية للحصول على صور فردية للتحليل، وهي ترتيب المجموعة للحصول على أحدث صورة أو أقدمها أو الصورة المثلى بالنسبة إلى بعض سمات البيانات الوصفية. على سبيل المثال، من خلال فحص عناصر الصور في مجموعات الصور المطبوعة،
قد تكون لاحظت سمة بيانات وصفية باسم CLOUD_COVER. يمكنك استخدام
هذه السمة للحصول على الصورة الأقل غيومًا في عام 2015 في المنطقة التي تهمّك:
أداة تعديل الرموز (JavaScript)
// This will sort from least to most cloudy. var sorted = temporalFiltered.sort('CLOUD_COVER'); // Get the first (least cloudy) image. var scene = sorted.first();
أنت الآن جاهز لعرض الصورة.
استطراد: عرض صور RGB
عند إضافة صورة متعددة النطاقات إلى خريطة، يختار محرّك Earth Engine أول ثلاثة نطاقات من الصورة ويعرضها باللون الأحمر والأخضر والأزرق تلقائيًا، ويوسّعها وفقًا لنوع البيانات، كما هو موضّح سابقًا. عادةً ما تكون هذه الطريقة غير كافية. على سبيل المثال، إذا أضفت صورة Landsat
(scene في المثال السابق) إلى الخريطة، ستكون النتيجة غير مرضية:
أداة تعديل الرموز (JavaScript)
Map.centerObject(scene, 9); Map.addLayer(scene, {}, 'default RGB');
يُرجى ملاحظة أنّه يتم أولاً توسيط الخريطة على الصورة بمقياس التكبير 9. بعد ذلك، يتم عرض الصورة مع عنصر فارغ ({}) للمَعلمة visParams (يمكنك الاطّلاع على مستندات Map.addLayer() للحصول على التفاصيل). نتيجةً لذلك، يتم عرض الصورة باستخدام التصور التلقائي: يتم ربط أول ثلاثة نطاقات بـ R وG وB على التوالي، ويتم تمديدها إلى [0, 1] لأنّ النطاقات من نوع البيانات float. وهذا يعني أنّ
النطاق الساحلي للهباء الجوي ('B1') يتم عرضه باللون الأحمر، والنطاق الأزرق ('B2') يتم عرضه
باللون الأخضر، والنطاق الأخضر ('B3') يتم عرضه باللون الأزرق. لعرض الصورة كمركّب ألوان حقيقية، عليك إعلام Earth Engine باستخدام نطاقات Landsat 8 'B4' و'B3' و 'B2' للألوان الأحمر والأخضر والأزرق على التوالي. حدِّد الفرق الموسيقية التي تريد استخدامها مع السمة bands للعنصر visParams. يمكنك الاطّلاع على مزيد من المعلومات حول نطاقات Landsat في هذا المرجع.
يجب أيضًا تقديم قيم min وmax مناسبة لعرض الانعكاس من أهداف سطح الأرض النموذجية. على الرغم من إمكانية استخدام القوائم لتحديد قيم مختلفة لكل نطاق، يكفي هنا تحديد 0.3 على أنّها max واستخدام القيمة التلقائية صفر لمَعلمة min. دمج مَعلمات التصور في عنصر واحد
وعرضها:
أداة تعديل الرموز (JavaScript)
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; Map.addLayer(scene, visParams, 'true-color composite');
يُفترض أن تظهر النتيجة على النحو التالي في الشكل 5. يُرجى العِلم أنّ هذا الرمز يخصّص عنصر معلَمات العرض لمتغيّر من أجل استخدامه في المستقبل. كما ستكتشف قريبًا، سيكون هذا العنصر مفيدًا عند عرض مجموعات الصور.
جرِّب عرض نطاقات مختلفة. هناك تركيبة أخرى مفضّلة هي "B5" و"B4" و"B3"، وتُعرف باسم تركيبة الألوان الزائفة. يمكنك الاطّلاع هنا على بعض الصور المركّبة الأخرى المثيرة للاهتمام ذات الألوان الزائفة.
بما أنّ Earth Engine مصمَّم لإجراء تحليلات واسعة النطاق، لا يقتصر عملك على مشهد واحد فقط. حان الوقت الآن لعرض مجموعة كاملة كصورة مركّبة بنموذج RGB.
عرض مجموعات الصور
تشبه إضافة مجموعة صور إلى خريطة إضافة صورة إلى خريطة. على سبيل المثال، باستخدام صور من العام 2016 في المجموعة l8 والعنصر visParams المحدّدَين سابقًا،
أداة تعديل الرموز (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); var landsat2016 = l8.filterDate('2016-01-01', '2016-12-31'); Map.addLayer(landsat2016, visParams, 'l8 collection');
لاحظ أنه يمكنك الآن التصغير ورؤية فسيفساء مستمرة حيث يتم جمع صور Landsat (أي فوق الأرض). يُرجى العِلم أيضًا أنّه عند استخدام علامة التبويب Inspector والنقر على الصورة، ستظهر قائمة بقيم وحدات البكسل (أو رسم بياني) في قسم Pixels وقائمة بعناصر الصورة في قسم Objects من أداة الفحص.
إذا صغّرت الصورة بما يكفي، من المحتمل أن تلاحظ بعض السحب في الفسيفساء. عند إضافة ImageCollection إلى الخريطة، يتم عرضه كمركّب للقيمة الحديثة، ما يعني أنّه يتم عرض أحدث وحدات البكسل فقط (مثل استدعاء mosaic() في المجموعة). لهذا السبب، قد تلاحظ انقطاعات بين المسارات التي تم الحصول عليها في أوقات مختلفة. وهذا هو السبب أيضًا في ظهور العديد من المناطق غائمة. في الصفحة التالية، تعرَّف على كيفية تغيير طريقة تركيب الصور للتخلّص من السحب المزعجة.