מספר הקלטים של הפונקציה reducer צריך להיות זהה למספר הפסים בתמונת הקלט, או שהפונקציה צריכה לקבל קלט יחיד והיא תחזור על עצמה עבור כל פס.
מחזירה מילון של הפלטים של פונקציית ה-reducer.
שימוש | החזרות |
---|---|
Image.reduceRegion(reducer, geometry, scale, crs, crsTransform, bestEffort, maxPixels, tileScale) | מילון |
ארגומנט | סוג | פרטים |
---|---|---|
זה: image | תמונה | התמונה להקטנה. |
reducer | הפחתה | הפונקציה לצמצום שרוצים להחיל. |
geometry | גיאומטריה, ברירת מחדל: null | האזור שבו רוצים לצמצם את הנתונים. ברירת המחדל היא טביעת הרגל של הפס הראשון של התמונה. |
scale | מספר ממשי (float), ברירת מחדל: null | קנה מידה נומינלי במטרים של ההטלה שרוצים לעבוד איתה. |
crs | תחזית, ברירת מחדל: null | ההטלה שבה רוצים להשתמש. אם לא מציינים, נעשה שימוש בהטלה של הפס הראשון של התמונה. אם מציינים את הארגומנט הזה בנוסף לארגומנט scale, הערך ישונה בהתאם לערך של scale. |
crsTransform | רשימה, ברירת מחדל: null | רשימת ערכי הטרנספורמציה של מערכת ייחוס קואורדינטות. זהו סדר שורות של מטריצת הטרנספורמציה 3x2. האפשרות הזו לא יכולה לפעול יחד עם האפשרות scale, והיא מחליפה כל טרנספורמציה שכבר הוגדרה בהקרנה. |
bestEffort | בוליאני, ברירת מחדל: false | אם הפוליגון יכיל יותר מדי פיקסלים בקנה מידה נתון, צריך לחשב ולהשתמש בקנה מידה גדול יותר שיאפשר את הפעולה. |
maxPixels | מספר ארוך, ברירת מחדל: 10000000 | מספר הפיקסלים המקסימלי להפחתה. |
tileScale | מספר ממשי (float), ברירת מחדל: 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);
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)