ee.Image.reduceRegion

החלת פונקציית צמצום על כל הפיקסלים באזור ספציפי.

מספר הקלטים של הפונקציה לצמצום חייב להיות זהה למספר הפסים בתמונת הקלט, או שהפונקציה צריכה לקבל קלט יחיד והיא תחזור על עצמה לכל פס.

הפונקציה מחזירה מילון של הפלטים של פונקציית ה-reducer.

שימושהחזרות
Image.reduceRegion(reducer, geometry, scale, crs, crsTransform, bestEffort, maxPixels, tileScale)מילון
ארגומנטסוגפרטים
זה: imageתמונההתמונה להקטנה.
reducerמצמצםהפונקציה לצמצום שרוצים להחיל.
geometryגיאומטריה, ברירת מחדל: nullהאזור שבו רוצים לצמצם את הנתונים. ברירת המחדל היא טביעת הרגל של הפס הראשון בתמונה.
scaleמספר ממשי (float), ברירת מחדל: nullקנה מידה נומינלי במטרים של ההטלה שבה רוצים לעבוד.
crsתחזית, ברירת מחדל: nullההטלה שבה רוצים להשתמש. אם לא מציינים הקרנה, המערכת משתמשת בהקרנה של הפס הראשון של התמונה. אם מציינים את המאפיין הזה בנוסף למאפיין 'קנה מידה', המערכת תשנה את קנה המידה לערך שצוין.
crsTransformרשימה, ברירת מחדל: nullרשימת ערכי ההמרה של מערכת קואורדינטות. זהו סדר שורות של מטריצת הטרנספורמציה 3x2. האפשרות הזו לא יכולה לפעול יחד עם האפשרות scale, והיא מחליפה כל טרנספורמציה שכבר הוגדרה בהקרנה.
bestEffortערך בוליאני, ברירת מחדל: falseאם הפוליגון יכיל יותר מדי פיקסלים בקנה מידה נתון, צריך לחשב ולהשתמש בקנה מידה גדול יותר שיאפשר להשלים את הפעולה.
maxPixels‫Long, ברירת מחדל: 10000000מספר הפיקסלים המקסימלי להפחתה.
tileScaleמספר ממשי (float), ברירת מחדל: 1גורם לקביעת קנה מידה בין 0.1 ל-16 שמשמש להתאמת הגודל של משבצות הצבירה. הגדרה של tileScale גדול יותר (למשל 2 או 4) משתמשת במשבצות קטנות יותר, ועשויה לאפשר חישובים שנגמר להם הזיכרון עם ברירת המחדל.

דוגמאות

Code Editor (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)