ee.Image.reduceRegions

Appliquez un réducteur à la zone de chaque élément de la collection donnée.

Le réducteur doit avoir le même nombre d'entrées que de bandes dans l'image d'entrée.

Renvoie les éléments géographiques d'entrée, chacun complété par les sorties du réducteur correspondant.

UtilisationRenvoie
Image.reduceRegions(collection, reducer, scale, crs, crsTransform, tileScale, maxPixelsPerRegion)FeatureCollection
ArgumentTypeDétails
ceci: imageImageImage à réduire.
collectionFeatureCollectionLes fonctionnalités à réduire
reducerRéducteurRéducteur à appliquer.
scaleFlottant, valeur par défaut : "null"Échelle nominale en mètres de la projection à utiliser.
crsProjection, valeur par défaut : "null"Projection à utiliser. Si aucune valeur n'est spécifiée, la projection de la première bande de l'image est utilisée. Si spécifié en plus de l'échelle, redimensionné à l'échelle spécifiée.
crsTransformListe, valeur par défaut : "null"Liste des valeurs de transformation de système de coordonnées. Il s'agit d'un ordre par ligne de la matrice de transformation 3 x 2. Cette option est incompatible avec "échelle" et remplace toute transformation déjà définie sur la projection.
tileScaleFloat, valeur par défaut: 1Facteur de scaling utilisé pour réduire la taille des cartes d'agrégation. L'utilisation d'un tileScale plus élevé (par exemple, 2 ou 4) peuvent activer des calculs qui manquent de mémoire avec la valeur par défaut.
maxPixelsPerRegionLong, valeur par défaut: nullNombre maximal de pixels à réduire par région.

Exemples

Éditeur de code (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);

Configuration de Python

Consultez la page Environnement Python pour en savoir plus sur l'API Python et l'utilisation de geemap pour le développement interactif.

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)