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);
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)