إنّ فهم كيفية تعامل Earth Engine مع النطاق أمر بالغ الأهمية لتفسير العلمي النتائج التي يتم الحصول عليها من Earth Engine. ويشير مقياس الصورة هنا إلى درجة دقتها بوحدة البكسل. على عكس منصّات GIS ومعالجة الصور الأخرى، يتم تحديد مقياس التحليل من خلال الإخراج، وليس من خلال الإدخال. على وجه التحديد، عند طلب نتائج أو صورة لعرضها أو إحصاءات، على سبيل المثال، يمكنك تحديد المقياس الذي يتم إدخال البيانات فيه إلى التحليل. يوضّح الشكل 1 هذا المفهوم.
أهرامات الصور
تتوفّر مواد عرض الصور في Earth Engine على مستويات متعدّدة، في أهرامات الصور. تحدّد سياسة التجميع (الممثّلة بالخطوط المنقطة في الشكل 1) كيفية احتساب كل بكسل في مستوى معيّن من الهرم من خلال تجميع مجموعة من 2×2 بكسل في المستوى الأدنى التالي. بالنسبة إلى الصور ذات القيم المستمرة، تكون قيم وحدات البكسل للمستويات العليا من الهرم هي متوسط وحدات البكسل في المستوى الأدنى التالي. بالنسبة إلى الصور ذات القيم المنفصلة، تكون قيم وحدات البكسل في المستويات العليا من الهرم عيّنة (عادةً وحدات البكسل في أعلى يمين الصورة) من وحدات البكسل في المستوى الأدنى التالي.
يمثّل أدنى مستوى من هرم الصور بيانات الصورة بدقة أصلية، عند نقلها إلى Earth Engine. أثناء نقل البيانات، يتم تجميعها (وفقًا لسياسة التجميع) لإنشاء مستويات أعلى من الهرم. يتم تجميع البيانات إلى أن تلائم الصورة بأكملها مربّعًا بحجم 256 x 256 بكسل. عند استخدام صورة في الرمز البرمجي، يختار Earth Engine مستوى من الهرم باستخدام أقرب مقياس أقل من أو يساوي المقياس المحدّد من خلال التحليل، ويعيد تحليل العينة (باستخدام أقرب جار تلقائيًا) حسب الحاجة.
نطاق التحليل
يتم تحديد نطاق التحليل في Earth Engine استنادًا إلى "السحب". يتم تحديد المقياس الذي يتم عنده
طلب مدخلات لإجراء عملية حسابية من خلال الإخراج. على سبيل المثال، إذا
أضفت صورة إلى "محرر الرموز" أو عنصر خريطة geemap، يحدّد مستوى تكبير الخريطة
المقياس الذي يتمّ طلب الإدخالات من هرم الصور وفقًا له. بالنسبة إلى العمليات الحسابية الأخرى، يمكنك
تحديد scale
كوسيطة. على سبيل المثال، باستخدام نطاق الأشعة تحت الحمراء القريبة من صورة Landsat
التي تبلغ دقتها الأصلية 30 مترًا:
محرِّر الرموز البرمجية (JavaScript)
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318').select('B4'); var printAtScale = function(scale) { print('Pixel value at '+scale+' meters scale', image.reduceRegion({ reducer: ee.Reducer.first(), geometry: image.geometry().centroid(), // The scale determines the pyramid level from which to pull the input scale: scale }).get('B4')); }; printAtScale(10); // 0.10394100844860077 printAtScale(30); // 0.10394100844860077 printAtScale(50); // 0.09130698442459106 printAtScale(70); // 0.1150854229927063 printAtScale(200); // 0.102478988468647 printAtScale(500); // 0.09072770178318024
import ee import geemap.core as geemap
Colab (Python)
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318').select('B4') def print_at_scale(scale): display( f'Pixel value at {scale} meters scale', image.reduceRegion( reducer=ee.Reducer.first(), geometry=image.geometry().centroid(), # The scale determines the pyramid level from which to pull the input scale=scale, ).get('B4'), ) print_at_scale(10) # 0.10394100844860077 print_at_scale(30) # 0.10394100844860077 print_at_scale(50) # 0.09130698442459106 print_at_scale(70) # 0.1150854229927063 print_at_scale(200) # 0.102478988468647 print_at_scale(500) # 0.09072770178318024
في هذا المثال، يُرجى العِلم أنّ قيمة البكسل في موقع ثابت (مركز الصورة) تختلف حسب المقياس. ويرجع ذلك إلى أنّه يتم اختيار مستويات مختلفة من الهرم لقياسات مختلفة. بالنسبة إلى المقاييس المتشابهة، تؤدي إعادة أخذ عيّنات أقرب العناصر إلى عرض قيمة بكسل مماثلة. النقطة المهمة هي أنّه من خلال تغيير المقياس، يتم طلب إدخالات صور مختلفة.
عند عرض صورة من خلال إضافتها إلى الخريطة، تحدِّد Earth Engine المقياس من مستوى التكبير/التصغير. راجِع المثال البسيط التالي الذي يعرض صورة Landsat:
محرِّر الرموز البرمجية (JavaScript)
var image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318'); Map.centerObject(image, 17); Map.addLayer(image, {bands: ['B4', 'B3', 'B2'], max: 0.35}, 'image');
import ee import geemap.core as geemap
Colab (Python)
image = ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318') m = geemap.Map() m.center_object(image, 17) m.add_layer(image, {'bands': ['B4', 'B3', 'B2'], 'max': 0.35}, 'image') m
تبدأ الخريطة مكبَّرة إلى أقصى حدّ، بحيث تظهر وحدات البكسل ذات الدقة الأصلية بوضوح. لن يؤدي التصغير إلى مسافة كافية إلى عرض وحدات البكسل نفسها، بل سيؤدي بدلاً من ذلك إلى عرض مستويات أعلى من هرم الصورة. تجدر الإشارة أيضًا إلى أنّ "محرر الرموز" وخرائط geemap يستخدمان إسقاط maps mercator (EPSG:3857) ، لذا يجب أيضًا إعادة إسقاط المستوى المناسب من هرم الصور قبل عرضه. اطّلِع على مزيد من المعلومات حول كيفية تعامل Earth Engine مع التوقّعات من مستند التوقّعات.