Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain Earth Engine access.
Statistics of Image Regions
Stay organized with collections
Save and categorize content based on your preferences.
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()));
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
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
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-01-02 UTC.
[null,null,["Last updated 2025-01-02 UTC."],[[["\u003cp\u003e\u003ccode\u003eimage.reduceRegions()\u003c/code\u003e can be used to calculate statistics for an image within multiple regions defined by a \u003ccode\u003eFeatureCollection\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe output is a new \u003ccode\u003eFeatureCollection\u003c/code\u003e where each feature has new properties containing the calculated statistics.\u003c/p\u003e\n"],["\u003cp\u003eThis example demonstrates calculating the mean of Landsat 7 bands for each county in Maine.\u003c/p\u003e\n"],["\u003cp\u003eThe calculated statistics are added as properties to the original features, with band names as keys.\u003c/p\u003e\n"]]],["The core content explains how to use `image.reduceRegions()` to calculate image statistics across multiple regions. This method takes an `Image` and a `FeatureCollection` as input. It then outputs a new `FeatureCollection`, where each feature has the results of the reduction (e.g., mean) as properties. The example uses Landsat 7 data and Maine counties, calculating the mean of each band within each county's geometry and adding them as properties in the resulting feature.\n"],null,["# Statistics of Image Regions\n\nTo get image statistics in multiple regions stored in a `FeatureCollection`,\nyou can use `image.reduceRegions()` to reduce multiple regions at once.\nThe input to `reduceRegions()` is an `Image` and a\n`FeatureCollection`. The output is another `FeatureCollection`\nwith the `reduceRegions()` output set as properties on each `Feature`.\nIn this example, means of the Landsat 7 annual composite bands in each feature geometry\nwill be added as properties to the input features:\n\n### Code Editor (JavaScript)\n\n```javascript\n// Load input imagery: Landsat 7 5-year composite.\nvar image = ee.Image('LANDSAT/LE7_TOA_5YEAR/2008_2012');\n\n// Load a FeatureCollection of counties in Maine.\nvar maineCounties = ee.FeatureCollection('TIGER/2016/Counties')\n .filter(ee.Filter.eq('STATEFP', '23'));\n\n// Add reducer output to the Features in the collection.\nvar maineMeansFeatures = image.reduceRegions({\n collection: maineCounties,\n reducer: ee.Reducer.mean(),\n scale: 30,\n});\n\n// Print the first feature, to illustrate the result.\nprint(ee.Feature(maineMeansFeatures.first()).select(image.bandNames()));\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Load input imagery: Landsat 7 5-year composite.\nimage = ee.Image('LANDSAT/LE7_TOA_5YEAR/2008_2012')\n\n# Load a FeatureCollection of counties in Maine.\nmaine_counties = ee.FeatureCollection('TIGER/2016/Counties').filter(\n ee.Filter.eq('STATEFP', '23')\n)\n\n# Add reducer output to the Features in the collection.\nmaine_means_features = image.reduceRegions(\n collection=maine_counties, reducer=ee.Reducer.mean(), scale=30\n)\n\n# Print the first feature, to illustrate the result.\ndisplay(ee.Feature(maine_means_features.first()).select(image.bandNames()))\n```\n\nObserve that new properties, keyed by band name, have been added to the\n`FeatureCollection` to store the mean of the composite in each\n`Feature` geometry. As a result, the output of the print statement should\nlook something like: \n\n```\nFeature (Polygon, 7 properties)\n type: Feature\n geometry: Polygon, 7864 vertices\n properties: Object (7 properties)\n B1: 24.034822192925134\n B2: 19.40202233717122\n B3: 13.568454303016292\n B4: 63.00423784301736\n B5: 29.142707062821305\n B6_VCID_2: 186.18172376827042\n B7: 12.064469664746415\n \n```"]]