公告:凡是在
2025 年 4 月 15 日前註冊使用 Earth Engine 的非商業專案,都必須
驗證非商業用途資格,才能繼續存取 Earth Engine。
ee.Image.reduceRegions
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
在指定集合中,針對每個地圖項目的區域套用縮減器。
Reducer 的輸入數量必須與輸入圖片的頻帶數量相同。
傳回輸入特徵,每個特徵都會附加對應的縮減器輸出內容。
用量 | 傳回 |
---|
Image.reduceRegions(collection, reducer, scale, crs, crsTransform, tileScale, maxPixelsPerRegion) | FeatureCollection |
引數 | 類型 | 詳細資料 |
---|
this:image | 圖片 | 要縮小的圖片。 |
collection | FeatureCollection | 要縮減的功能。 |
reducer | 縮減函式 | 要套用的縮減函式。 |
scale | 浮點值,預設值:空值 | 要使用的投影方式的標稱公尺比例。 |
crs | 投影,預設值:null | 要使用的投影方式。如果未指定,系統會使用圖像第一個頻帶的投影。如果除了比例外,還指定了其他值,則會將圖片重新調整為指定的比例。 |
crsTransform | 清單,預設值:null | CRS 轉換值清單。這是 3x2 轉換矩陣的列優先排序。這個選項與「scale」互斥,且會取代投影設定的任何轉換。 |
tileScale | 浮點值,預設值:1 | 用於縮減匯總圖塊大小的縮放比例;使用較大的 tileScale (例如 2 或 4) 可能會讓計算機在預設情況下耗盡記憶體。 |
maxPixelsPerRegion | Long,預設值:null | 每個區域可減少的像素數量上限。 |
範例
程式碼編輯器 (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 環境」頁面,瞭解 Python API 和如何使用 geemap
進行互動式開發。
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)
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-25 (世界標準時間)。
[null,null,["上次更新時間: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```"]]