כדי לקבל נתונים סטטיסטיים של תמונות במספר אזורים שמאוחסנים ב-FeatureCollection, אפשר להשתמש ב-image.reduceRegions() כדי לצמצם מספר אזורים בבת אחת.
הקלט ל-reduceRegions() הוא Image ו-FeatureCollection. הפלט הוא FeatureCollection נוסף, שבו הפלט של reduceRegions() מוגדר כנכסים בכל Feature.
בדוגמה הזו, הממוצע של הפסים המשולבים השנתיים של Landsat 7 בכל גיאומטריה של תכונה יתווסף כמאפיינים לתכונות הקלט:
Code Editor (JavaScript)
// Load input imagery: Landsat 7 5-year composite. var image = ee.Image('LANDSAT/LE7_TOA_5YEAR/2008_2012'); // Load a FeatureCollection of counties in Maine. var maineCounties = ee.FeatureCollection('TIGER/2016/Counties') .filter(ee.Filter.eq('STATEFP', '23')); // Add reducer output to the Features in the collection. var maineMeansFeatures = image.reduceRegions({ collection: maineCounties, reducer: ee.Reducer.mean(), scale: 30, }); // Print the first feature, to illustrate the result. print(ee.Feature(maineMeansFeatures.first()).select(image.bandNames()));
import ee import geemap.core as geemap
Colab (Python)
# Load input imagery: Landsat 7 5-year composite. image = ee.Image('LANDSAT/LE7_TOA_5YEAR/2008_2012') # Load a FeatureCollection of counties in Maine. maine_counties = ee.FeatureCollection('TIGER/2016/Counties').filter( ee.Filter.eq('STATEFP', '23') ) # Add reducer output to the Features in the collection. maine_means_features = image.reduceRegions( collection=maine_counties, reducer=ee.Reducer.mean(), scale=30 ) # Print the first feature, to illustrate the result. display(ee.Feature(maine_means_features.first()).select(image.bandNames()))
שימו לב שנוספו מאפיינים חדשים, לפי מפתח של שם הלהקה, ל-FeatureCollection כדי לאחסן את הממוצע של הרכיב המשולב בכל גיאומטריה של Feature. כתוצאה מכך, הפלט של הודעת ה-print אמור להיראות בערך כך:
Feature (Polygon, 7 properties)
type: Feature
geometry: Polygon, 7864 vertices
properties: Object (7 properties)
B1: 24.034822192925134
B2: 19.40202233717122
B3: 13.568454303016292
B4: 63.00423784301736
B5: 29.142707062821305
B6_VCID_2: 186.18172376827042
B7: 12.064469664746415