ee.Image.reduceRegion

تطبيق مخفّض على جميع وحدات البكسل في منطقة معيّنة

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

لعرض قاموس بمخرجات المخفّض

الاستخدامالمرتجعات
Image.reduceRegion(reducer, geometry, scale, crs, crsTransform, bestEffort, maxPixels, tileScale)القاموس
الوسيطةالنوعالتفاصيل
this: imageصورةالصورة التي سيتم تقليلها
reducerمخفّضالمخفّض الذي سيتم تطبيقه
geometryشكل هندسي، القيمة التلقائية: nullالمنطقة التي سيتم تقليل البيانات فيها تكون القيمة التلقائية هي مساحة النطاق الأول من الصورة.
scaleعدد عائم، القيمة التلقائية: nullمقياس اسمي بالأمتار للإسقاط الذي سيتم العمل فيه
crsإسقاط، القيمة التلقائية: nullالإسقاط الذي سيتم العمل فيه في حال عدم تحديدها، يتم استخدام إسقاط النطاق الأول من الصورة. في حال تحديدها بالإضافة إلى المقياس، يتم تغيير المقياس إلى المقياس المحدّد.
crsTransformقائمة، القيمة التلقائية: nullقائمة بقيم تحويل نظام الإحداثيات المرجعي هذا هو الترتيب الرئيسي للصف لمصفوفة التحويل 3×2. هذا الخيار يستبعد "المقياس" ويحلّ محلّ أي تحويل تم ضبطه مسبقًا على الإسقاط.
bestEffortقيمة منطقية، القيمة التلقائية: falseإذا كان المضلّع سيحتوي على عدد كبير جدًا من وحدات البكسل بالمقياس المحدّد، يتم احتساب واستخدام مقياس أكبر يسمح بإنجاح العملية.
maxPixelsعدد صحيح طويل، القيمة التلقائية: 10000000الحد الأقصى لعدد وحدات البكسل التي سيتم تقليلها
tileScaleعدد عائم، القيمة التلقائية: 1عامل تحجيم بين 0.1 و16 يُستخدم لضبط حجم مربّع التجميع. يؤدي ضبط tileScale أكبر (مثل 2 أو 4) إلى استخدام مربّعات أصغر وقد يتيح إجراء عمليات لا يمكن إجراؤها بسبب نفاد الذاكرة مع القيمة التلقائية.

أمثلة

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

// A Landsat 8 surface reflectance image with SWIR1, NIR, and green bands.
var img = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508')
              .select(['SR_B6', 'SR_B5', 'SR_B3']);

// Santa Cruz Mountains ecoregion geometry.
var geom = ee.FeatureCollection('EPA/Ecoregions/2013/L4')
               .filter('us_l4name == "Santa Cruz Mountains"').geometry();

// Display layers on the map.
Map.setCenter(-122.08, 37.22, 9);
Map.addLayer(img, {min: 10000, max: 20000}, 'Landsat image');
Map.addLayer(geom, {color: 'white'}, 'Santa Cruz Mountains ecoregion');

// Calculate median band values within Santa Cruz Mountains ecoregion. It is
// good practice to explicitly define "scale" (or "crsTransform") and "crs"
// parameters of the analysis to avoid unexpected results from undesired
// defaults when e.g. reducing a composite image.
var stats = img.reduceRegion({
  reducer: ee.Reducer.median(),
  geometry: geom,
  scale: 30,  // meters
  crs: 'EPSG:3310',  // California Albers projection
});

// A dictionary is returned; keys are band names, values are the statistic.
print('Median band values, Santa Cruz Mountains ecoregion', stats);

// You can combine reducers to calculate e.g. mean and standard deviation
// simultaneously. The output dictionary keys are the concatenation of the band
// names and statistic names, separated by an underscore.
var reducer = ee.Reducer.mean().combine({
  reducer2: ee.Reducer.stdDev(),
  sharedInputs: true
});
var multiStats = img.reduceRegion({
  reducer: reducer,
  geometry: geom,
  scale: 30,
  crs: 'EPSG:3310',
});
print('Mean & SD band values, Santa Cruz Mountains ecoregion', multiStats);

إعداد Python

راجِع صفحة بيئة Python للحصول على معلومات حول Python API واستخدام geemap للتطوير التفاعلي.

import ee
import geemap.core as geemap

Colab (Python)

# A Landsat 8 surface reflectance image with SWIR1, NIR, and green bands.
img = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508').select(
    ['SR_B6', 'SR_B5', 'SR_B3']
)

# Santa Cruz Mountains ecoregion geometry.
geom = (
    ee.FeatureCollection('EPA/Ecoregions/2013/L4')
    .filter('us_l4name == "Santa Cruz Mountains"')
    .geometry()
)

# Display layers on the map.
m = geemap.Map()
m.set_center(-122.08, 37.22, 9)
m.add_layer(img, {'min': 10000, 'max': 20000}, 'Landsat image')
m.add_layer(geom, {'color': 'white'}, 'Santa Cruz Mountains ecoregion')
display(m)

# Calculate median band values within Santa Cruz Mountains ecoregion. It is
# good practice to explicitly define "scale" (or "crsTransform") and "crs"
# parameters of the analysis to avoid unexpected results from undesired
# defaults when e.g. reducing a composite image.
stats = img.reduceRegion(
    reducer=ee.Reducer.median(),
    geometry=geom,
    scale=30,  # meters
    crs='EPSG:3310',  # California Albers projection
)

# A dictionary is returned keys are band names, values are the statistic.
display('Median band values, Santa Cruz Mountains ecoregion', stats)

# You can combine reducers to calculate e.g. mean and standard deviation
# simultaneously. The output dictionary keys are the concatenation of the band
# names and statistic names, separated by an underscore.
reducer = ee.Reducer.mean().combine(
    reducer2=ee.Reducer.stdDev(), sharedInputs=True
)
multi_stats = img.reduceRegion(
    reducer=reducer,
    geometry=geom,
    scale=30,
    crs='EPSG:3310',
)
display('Mean & SD band values, Santa Cruz Mountains ecoregion', multi_stats)