تصوُّر الصور ونطاقات الصور

بعد أن أصبحت مستعدًا لبدء كتابة رمز JavaScript في Earth Engine، ابدأ بنسخ الرمز التالي إلى "أداة تعديل الرموز":

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

// Instantiate an image with the Image constructor.
var image = ee.Image('CGIAR/SRTM90_V4');

// Zoom to a location.
Map.setCenter(-112.8598, 36.2841, 9); // Center on the Grand Canyon.

// Display the image on the map.
Map.addLayer(image);

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

Image Constructor

أول شيء جديد في هذا المثال هو مُنشئ الصور ee.Image(). الوسيطة المقدَّمة إلى الدالة الإنشائية هي معرّف السلسلة لصورة في كتالوج بيانات Earth Engine. (يمكنك الاطّلاع على علامة التبويب المستندات على يمين "أداة تعديل الرموز" للحصول على قائمة كاملة بالوسيطات المحتملة لدالة إنشاء الصور. تمثّل علامة التبويب المستندات أحدث المعلومات حول ما يمكن أن يفعله محرّك Earth Engine.

للعثور على معرّف صورة، ابحث في كتالوج بيانات Earth Engine باستخدام أداة البحث في أعلى "أداة تعديل الرموز". على سبيل المثال، اكتب "ارتفاع" في حقل البحث وستظهر لك قائمة بالصور النقطية. انقر على الإدخال "SRTM Digital Elevation Data Version 4" (الإصدار 4 من بيانات الارتفاع الرقمي لبعثة SRTM) للاطّلاع على مزيد من المعلومات حول مجموعة البيانات هذه. على الجانب الأيسر من وصف مجموعة البيانات، يظهر حقل رقم تعريف الصورة. يُرجى ملاحظة أنّه تم نسخ معرّف الصورة في المثال من معرّف الصورة المعروض في وصف مجموعة البيانات.

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

إعداد الخريطة

الجزء الجديد الثاني من هذا المثال هو استدعاء Map.setCenter(). هذه الطريقة في عنصر Map، الذي يمثّل عرض الخريطة في "أداة تعديل الرموز"، تضع الخريطة في المنتصف عند خط الطول وخط العرض المحدّدَين (بالدرجات العشرية) ومستوى التكبير حيث يتم تصغير الخريطة بمقدار 1 لتعرض سطح الأرض بالكامل. وكلما زاد الرقم، زاد مستوى التكبير. يمكنك الاطّلاع على جميع الطرق المتاحة في الكائن Map من خلال مراجعة قسم "الخريطة" في علامة التبويب "المستندات" على يمين "أداة تعديل الرموز".

إضافة طبقة إلى الخريطة

يشير السطر الأخير في المثال إلى: استخدام طريقة addLayer() الخاصة بالكائن Map لإضافة صورة إلى عرض الخريطة في "أداة تعديل الرموز".

تهانينا! لقد أنشأت أول نص برمجي في Earth Engine. في القسم التالي، ستتعرّف على كيفية تحسين مظهر هذه الصورة.

استطراد: الصور في Earth Engine

تتكوّن الصور في Earth Engine (يُرجى الاطّلاع على هذه الصفحة لمزيد من التفاصيل) من نطاق واحد أو أكثر. ويكون لكل نطاق في الصورة اسم وقيم بكسل ودقة بكسل وإسقاط خاص به. As you'll soon discover, the SRTM image has one band: 'elevation'.

عند إضافة صورة إلى خريطة باستخدام Map.addLayer()، يحتاج محرّك Earth Engine إلى تحديد كيفية ربط القيم في نطاقات الصور بالألوان على الشاشة. إذا تمت إضافة صورة ذات نطاق واحد إلى خريطة، يعرض محرّك Earth Engine النطاق تلقائيًا بتدرج الرمادي، حيث يتم تعيين الحد الأدنى للقيمة إلى اللون الأسود، ويتم تعيين الحد الأقصى للقيمة إلى اللون الأبيض. إذا لم تحدّد الحدّين الأدنى والأقصى، سيستخدم محرّك Earth Engine القيم التلقائية. على سبيل المثال، يتم عرض الصورة التي أضفتها للتو إلى الخريطة كصورة بتدرج الرمادي ممتدة إلى النطاق الكامل للبيانات، أو عدد صحيح موقَّع من 16 بت [-32768, 32767]. (يتم تمديد نطاقات float إلى [0, 1] ونطاقات byte إلى [0, 255] تلقائيًا).

يمكنك اكتشاف نوع بيانات الصورة من خلال طباعتها وفحص عنصر الصورة في علامة التبويب وحدة التحكّم. على سبيل المثال، ألصِق ما يلي بعد الرمز السابق:

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

print('SRTM image', image);

عند النقر على "تشغيل"، سيظهر عنصر في وحدة التحكّم. للتحقيق في خصائص الكائن، يمكنك توسيعه بالنقر على زر التوسيع () على يمين الكائن أو الخاصية. وسِّع عنصر الصورة وسمة "النطاقات" ونطاق "الارتفاع" في الفهرس "0" وسمة "data_type" لنطاق "الارتفاع" لمعرفة أنّه نوع بيانات signed int16.

تخصيص عرض الطبقات

لتغيير طريقة تمديد البيانات، يمكنك تقديم مَعلمة أخرى إلى طلب Map.addLayer(). على وجه التحديد، تتيح لك المَعلمة الثانية، visParams، تحديد الحدّين الأدنى والأقصى للقيم التي يتم عرضها. لمعرفة القيم التي يجب استخدامها، فعِّل علامة التبويب Inspector وانقر على الخريطة للحصول على فكرة عن نطاق قيم وحدات البكسل. بدلاً من ذلك، يمكنك استخدام مدير الطبقات لتوسيع البيانات بشكل تفاعلي، ثم ملاحظة الحد الأدنى والحد الأقصى المقابلَين للنسب المئوية أو توسيعات الانحراف المعياري. لنفترض أنك حددت من خلال هذه التجربة أن البيانات يجب أن تمتد إلى [0, 3000]. لعرض الصورة باستخدام هذا النطاق، استخدِم:

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

Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');

يُرجى العِلم أنّ المَعلمة visParams هي عنصر يتضمّن سمات تحدّد min وmax. (يمكنك الاطّلاع على مزيد من المعلومات حول كائنات JavaScript من خلال دليل JavaScript التعليمي أو هذا المرجع الخارجي). يُرجى العِلم أنّ المَعلمة الثالثة لـ Map.addLayer() هي اسم الطبقة التي يتم عرضها في مدير الطبقات. يُفترض أن تظهر النتيجة على النحو التالي في الشكل 1. مرِّر مؤشر الماوس فوق مربّع الطبقات على يسار الصفحة للاطّلاع على تأثير إعادة تسمية تلك الطبقة.

Tutorial_api_01_elevation.png
الشكل 1: صورة الارتفاع بتدرج الرمادي، ممتدة إلى [0, 3000].

لعرض نطاق واحد باستخدام تشكيلة ألوان، أضِف سمة palette إلى عنصر visParams:

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

Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']},
    'custom palette');

من المفترض أن تظهر النتيجة على النحو الموضّح في الشكل 2.

Tutorial_api_02_palette.png
الشكل 2: صورة الارتفاع كمنحدر لوني من الأزرق إلى الأحمر، ممتدة إلى [0, 3000].

استطراد: لوحات الألوان

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

يتم تحديد الألوان باستخدام نظام قيم ألوان CSS المتوافق مع معايير الويب (يمكنك الاطّلاع على هذا المرجع الخارجي لمزيد من المعلومات). يمكن تحديد الألوان حسب الاسم أو كسلاسل سداسية عشرية تشير إلى مزيج من الأحمر والأخضر والأزرق. أدنى قيمة في أي من المواضع الثلاثة هي 00 (تمثل الرقم العشري 0)، بينما أعلى قيمة هي FF (تمثل الرقم العشري 255). تمثّل السلسلة "000000" اللون الأسود، و"FFFFFF" اللون الأبيض، و"FF0000" اللون الأحمر، و"00FF00" اللون الأخضر، و"0000FF" اللون الأزرق. لمزيد من التفاصيل، يُرجى الاطّلاع على قسم "لوحات الألوان". يمكن إجراء عمليات تمديد أخرى باستخدام واصفات الطبقات ذات الأنماط، كما هو موضّح في هذا القسم.

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