ee.Image.reduceRegion

Appliquez un réducteur à tous les pixels d'une région spécifique.

Soit le réducteur doit avoir le même nombre d'entrées que le nombre de bandes de l'image d'entrée, soit il doit avoir une seule entrée et sera répété pour chaque bande.

Renvoie un dictionnaire des sorties du réducteur.

UtilisationRenvoie
Image.reduceRegion(reducer, geometry, scale, crs, crsTransform, bestEffort, maxPixels, tileScale)Dictionnaire
ArgumentTypeDétails
ceci : imageImageImage à réduire.
reducerRéducteurRéducteur à appliquer.
geometryGéométrie, valeur par défaut : nullRégion pour laquelle réduire les données. La valeur par défaut correspond à l'empreinte de la première bande de l'image.
scaleFloat, valeur par défaut : nullÉchelle nominale en mètres de la projection dans laquelle travailler.
crsProjection, valeur par défaut : nullProjection à utiliser. Si aucune projection n'est spécifiée, celle de la première bande de l'image est utilisée. Si elle est spécifiée en plus de la mise à l'échelle, elle est remise à l'échelle spécifiée.
crsTransformListe, valeur par défaut : nullListe des valeurs de transformation du CRS. Il s'agit d'un ordre de ligne principale de la matrice de transformation 3x2. Cette option est incompatible avec "scale" et remplace toute transformation déjà définie sur la projection.
bestEffortBooléen, valeur par défaut : falseSi le polygone contient trop de pixels à l'échelle donnée, calculez et utilisez une échelle plus grande pour que l'opération réussisse.
maxPixelsLong, valeur par défaut : 10000000Nombre maximal de pixels à réduire.
tileScaleFloat, valeur par défaut : 1Facteur de scaling compris entre 0,1 et 16 utilisé pour ajuster la taille des tuiles d'agrégation. Si vous définissez une valeur tileScale plus élevée (par exemple, 2 ou 4) utilise des tuiles plus petites et peut permettre d'effectuer des calculs qui manquent de mémoire avec la valeur par défaut.

Exemples

Éditeur de code (JavaScript)

// A Landsat 8 surface reflectance 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 ecoregion geometry.
var geom = ee.FeatureCollection('EPA/Ecoregions/2013/L4')
               .filter('us_l4name == "Santa Cruz Mountains"').geometry();

// Display layers on the map.
Map.setCenter(-122.08, 37.22, 9);
Map.addLayer(img, {min: 10000, max: 20000}, 'Landsat image');
Map.addLayer(geom, {color: 'white'}, 'Santa Cruz Mountains ecoregion');

// Calculate median band values within Santa Cruz Mountains ecoregion. 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.reduceRegion({
  reducer: ee.Reducer.median(),
  geometry: geom,
  scale: 30,  // meters
  crs: 'EPSG:3310',  // California Albers projection
});

// A dictionary is returned; keys are band names, values are the statistic.
print('Median band values, Santa Cruz Mountains ecoregion', stats);

// You can combine reducers to calculate e.g. mean and standard deviation
// simultaneously. The output dictionary keys 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.reduceRegion({
  reducer: reducer,
  geometry: geom,
  scale: 30,
  crs: 'EPSG:3310',
});
print('Mean & SD band values, Santa Cruz Mountains ecoregion', multiStats);

Configuration de Python

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

import ee
import geemap.core as geemap

Colab (Python)

# A Landsat 8 surface reflectance 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 ecoregion geometry.
geom = (
    ee.FeatureCollection('EPA/Ecoregions/2013/L4')
    .filter('us_l4name == "Santa Cruz Mountains"')
    .geometry()
)

# 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(geom, {'color': 'white'}, 'Santa Cruz Mountains ecoregion')
display(m)

# Calculate median band values within Santa Cruz Mountains ecoregion. 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.reduceRegion(
    reducer=ee.Reducer.median(),
    geometry=geom,
    scale=30,  # meters
    crs='EPSG:3310',  # California Albers projection
)

# A dictionary is returned keys are band names, values are the statistic.
display('Median band values, Santa Cruz Mountains ecoregion', stats)

# You can combine reducers to calculate e.g. mean and standard deviation
# simultaneously. The output dictionary keys 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.reduceRegion(
    reducer=reducer,
    geometry=geom,
    scale=30,
    crs='EPSG:3310',
)
display('Mean & SD band values, Santa Cruz Mountains ecoregion', multi_stats)