AI-generated Key Takeaways
-
You can use
image.reduceRegions()
to get image statistics for multiple regions stored in aFeatureCollection
. -
The input to
reduceRegions()
is anImage
and aFeatureCollection
, and the output is anotherFeatureCollection
with thereduceRegions()
output set as properties on eachFeature
. -
The example demonstrates calculating the means of Landsat 7 annual composite bands within the geometries of a FeatureCollection of Maine counties.
-
The result adds new properties to the
FeatureCollection
features, keyed by band name, storing the calculated mean value for each band within that feature's geometry.
To get image statistics in multiple regions stored in a FeatureCollection
,
you can use image.reduceRegions()
to reduce multiple regions at once.
The input to reduceRegions()
is an Image
and a
FeatureCollection
. The output is another FeatureCollection
with the reduceRegions()
output set as properties on each Feature
.
In this example, means of the Landsat 7 annual composite bands in each feature geometry
will be added as properties to the input features:
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()))
Observe that new properties, keyed by band name, have been added to the
FeatureCollection
to store the mean of the composite in each
Feature
geometry. As a result, the output of the print statement should
look something like:
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