公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.Image.reduceRegions
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
对给定集合中每个地图项的区域应用缩减器。
Reducer 的输入数量必须与输入图片的波段数量相同。
返回输入特征,每个特征都经过了相应 reducer 输出的增强。
用法 | 返回 |
---|
Image.reduceRegions(collection, reducer, scale, crs, crsTransform, tileScale, maxPixelsPerRegion) | FeatureCollection |
参数 | 类型 | 详细信息 |
---|
this:image | 图片 | 要缩减的图片。 |
collection | FeatureCollection | 要缩减的功能。 |
reducer | 缩减器 | 要应用的 reducer。 |
scale | 浮点数,默认值为 null | 要使用的投影的标称比例(以米为单位)。 |
crs | 投影,默认值:null | 要使用的投影。如果未指定,则使用图像第一个波段的投影。如果除了比例之外还指定了此值,则会按指定的比例重新缩放。 |
crsTransform | 列表,默认值为 null | CRS 转换值列表。这是 3x2 转换矩阵的行主序排序。此选项与“scale”选项互斥,并会替换投影上已设置的任何转换。 |
tileScale | 浮点数,默认:1 | 用于缩减汇总功能块大小的缩放比例;使用较大的 tileScale(例如2 或 4)可能会启用默认情况下会耗尽内存的计算。 |
maxPixelsPerRegion | Long,默认值:null | 每个区域可减少的像素数上限。 |
示例
Code Editor (JavaScript)
// A Landsat 8 SR 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 ecoregions feature collection.
var regionCol = ee.FeatureCollection('EPA/Ecoregions/2013/L4')
.filter('us_l4name == "Santa Cruz Mountains" || ' +
'us_l4name == "San Mateo Coastal Hills" || ' +
'us_l4name == "Leeward Hills"');
// Display layers on the map.
Map.setCenter(-122.08, 37.22, 9);
Map.addLayer(img, {min: 10000, max: 20000}, 'Landsat image');
Map.addLayer(regionCol, {color: 'white'}, 'Santa Cruz Mountains ecoregions');
// Calculate median band values within Santa Cruz Mountains ecoregions. 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.reduceRegions({
collection: regionCol,
reducer: ee.Reducer.median(),
scale: 30, // meters
crs: 'EPSG:3310', // California Albers projection
});
// The input feature collection is returned with new properties appended.
// The new properties are the outcome of the region reduction per image band,
// for each feature in the collection. Region reduction property names
// are the same as the input image band names.
print('Median band values, Santa Cruz Mountains ecoregions', stats);
// You can combine reducers to calculate e.g. mean and standard deviation
// simultaneously. The resulting property names 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.reduceRegions({
collection: regionCol,
reducer: reducer,
scale: 30,
crs: 'EPSG:3310',
});
print('Mean & SD band values, Santa Cruz Mountains ecoregions', multiStats);
Python 设置
如需了解 Python API 以及如何使用 geemap
进行交互式开发,请参阅
Python 环境页面。
import ee
import geemap.core as geemap
Colab (Python)
# A Landsat 8 SR 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 ecoregions feature collection.
region_col = ee.FeatureCollection('EPA/Ecoregions/2013/L4').filter(
'us_l4name == "Santa Cruz Mountains" || '
+ 'us_l4name == "San Mateo Coastal Hills" || '
+ 'us_l4name == "Leeward Hills"'
)
# 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(
region_col, {'color': 'white'}, 'Santa Cruz Mountains ecoregions'
)
display(m)
# Calculate median band values within Santa Cruz Mountains ecoregions. 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.reduceRegions(
collection=region_col,
reducer=ee.Reducer.median(),
scale=30, # meters
crs='EPSG:3310', # California Albers projection
)
# The input feature collection is returned with new properties appended.
# The new properties are the outcome of the region reduction per image band,
# for each feature in the collection. Region reduction property names
# are the same as the input image band names.
display('Median band values, Santa Cruz Mountains ecoregions', stats)
# You can combine reducers to calculate e.g. mean and standard deviation
# simultaneously. The resulting property names 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.reduceRegions(
collection=region_col,
reducer=reducer,
scale=30,
crs='EPSG:3310',
)
display('Mean & SD band values, Santa Cruz Mountains ecoregions', multi_stats)
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003e\u003ccode\u003eImage.reduceRegions\u003c/code\u003e applies a reducer function to an image within the boundaries of each feature in a feature collection.\u003c/p\u003e\n"],["\u003cp\u003eThe reducer output is added as new properties to the input features, with property names corresponding to the image band names.\u003c/p\u003e\n"],["\u003cp\u003eUsers can specify the scale, projection (CRS), and tile scaling for the reduction operation to ensure accurate and efficient processing.\u003c/p\u003e\n"],["\u003cp\u003eMultiple reducers can be combined to calculate different statistics simultaneously, resulting in property names that reflect both the band and the statistic.\u003c/p\u003e\n"]]],[],null,["# ee.Image.reduceRegions\n\nApply a reducer over the area of each feature in the given collection.\n\n\u003cbr /\u003e\n\nThe reducer must have the same number of inputs as the input image has bands.\n\nReturns the input features, each augmented with the corresponding reducer outputs.\n\n| Usage | Returns |\n|-----------------------------------------------------------------------------------------------------------------------------|-------------------|\n| Image.reduceRegions`(collection, reducer, `*scale* `, `*crs* `, `*crsTransform* `, `*tileScale* `, `*maxPixelsPerRegion*`)` | FeatureCollection |\n\n| Argument | Type | Details |\n|----------------------|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `image` | Image | The image to reduce. |\n| `collection` | FeatureCollection | The features to reduce over. |\n| `reducer` | Reducer | The reducer to apply. |\n| `scale` | Float, default: null | A nominal scale in meters of the projection to work in. |\n| `crs` | Projection, default: null | The projection to work in. If unspecified, the projection of the image's first band is used. If specified in addition to scale, rescaled to the specified scale. |\n| `crsTransform` | List, default: null | The list of CRS transform values. This is a row-major ordering of the 3x2 transform matrix. This option is mutually exclusive with 'scale', and will replace any transform already set on the projection. |\n| `tileScale` | Float, default: 1 | A scaling factor used to reduce aggregation tile size; using a larger tileScale (e.g., 2 or 4) may enable computations that run out of memory with the default. |\n| `maxPixelsPerRegion` | Long, default: null | The maximum number of pixels to reduce per region. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A Landsat 8 SR image with SWIR1, NIR, and green bands.\nvar img = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508')\n .select(['SR_B6', 'SR_B5', 'SR_B3']);\n\n// Santa Cruz Mountains ecoregions feature collection.\nvar regionCol = ee.FeatureCollection('EPA/Ecoregions/2013/L4')\n .filter('us_l4name == \"Santa Cruz Mountains\" || ' +\n 'us_l4name == \"San Mateo Coastal Hills\" || ' +\n 'us_l4name == \"Leeward Hills\"');\n\n// Display layers on the map.\nMap.setCenter(-122.08, 37.22, 9);\nMap.addLayer(img, {min: 10000, max: 20000}, 'Landsat image');\nMap.addLayer(regionCol, {color: 'white'}, 'Santa Cruz Mountains ecoregions');\n\n// Calculate median band values within Santa Cruz Mountains ecoregions. It is\n// good practice to explicitly define \"scale\" (or \"crsTransform\") and \"crs\"\n// parameters of the analysis to avoid unexpected results from undesired\n// defaults when e.g. reducing a composite image.\nvar stats = img.reduceRegions({\n collection: regionCol,\n reducer: ee.Reducer.median(),\n scale: 30, // meters\n crs: 'EPSG:3310', // California Albers projection\n});\n\n// The input feature collection is returned with new properties appended.\n// The new properties are the outcome of the region reduction per image band,\n// for each feature in the collection. Region reduction property names\n// are the same as the input image band names.\nprint('Median band values, Santa Cruz Mountains ecoregions', stats);\n\n// You can combine reducers to calculate e.g. mean and standard deviation\n// simultaneously. The resulting property names are the concatenation of the\n// band names and statistic names, separated by an underscore.\nvar reducer = ee.Reducer.mean().combine({\n reducer2: ee.Reducer.stdDev(),\n sharedInputs: true\n});\nvar multiStats = img.reduceRegions({\n collection: regionCol,\n reducer: reducer,\n scale: 30,\n crs: 'EPSG:3310',\n});\nprint('Mean & SD band values, Santa Cruz Mountains ecoregions', multiStats);\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# A Landsat 8 SR image with SWIR1, NIR, and green bands.\nimg = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508').select(\n ['SR_B6', 'SR_B5', 'SR_B3']\n)\n\n# Santa Cruz Mountains ecoregions feature collection.\nregion_col = ee.FeatureCollection('EPA/Ecoregions/2013/L4').filter(\n 'us_l4name == \"Santa Cruz Mountains\" || '\n + 'us_l4name == \"San Mateo Coastal Hills\" || '\n + 'us_l4name == \"Leeward Hills\"'\n)\n\n# Display layers on the map.\nm = geemap.Map()\nm.set_center(-122.08, 37.22, 9)\nm.add_layer(img, {'min': 10000, 'max': 20000}, 'Landsat image')\nm.add_layer(\n region_col, {'color': 'white'}, 'Santa Cruz Mountains ecoregions'\n)\ndisplay(m)\n\n# Calculate median band values within Santa Cruz Mountains ecoregions. It is\n# good practice to explicitly define \"scale\" (or \"crsTransform\") and \"crs\"\n# parameters of the analysis to avoid unexpected results from undesired\n# defaults when e.g. reducing a composite image.\nstats = img.reduceRegions(\n collection=region_col,\n reducer=ee.Reducer.median(),\n scale=30, # meters\n crs='EPSG:3310', # California Albers projection\n)\n\n# The input feature collection is returned with new properties appended.\n# The new properties are the outcome of the region reduction per image band,\n# for each feature in the collection. Region reduction property names\n# are the same as the input image band names.\ndisplay('Median band values, Santa Cruz Mountains ecoregions', stats)\n\n# You can combine reducers to calculate e.g. mean and standard deviation\n# simultaneously. The resulting property names are the concatenation of the\n# band names and statistic names, separated by an underscore.\nreducer = ee.Reducer.mean().combine(\n reducer2=ee.Reducer.stdDev(), sharedInputs=True\n)\nmulti_stats = img.reduceRegions(\n collection=region_col,\n reducer=reducer,\n scale=30,\n crs='EPSG:3310',\n)\ndisplay('Mean & SD band values, Santa Cruz Mountains ecoregions', multi_stats)\n```"]]