Annuncio: tutti i progetti non commerciali registrati per l'utilizzo di Earth Engine prima del
15 aprile 2025 devono
verificare l'idoneità non commerciale per mantenere l'accesso a Earth Engine.
Ridurre una raccolta di immagini
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Per comporre immagini in un ImageCollection
, utilizza
imageCollection.reduce()
. In questo modo, tutte le immagini della raccolta verranno composite in un'unica immagine che rappresenta, ad esempio, la deviazione minima, massima, media o standard delle immagini.
(consulta la sezione Riduttori per ulteriori informazioni sui riduttori). Ad esempio, per creare un'immagine del valore mediano da una
raccolta:
Editor di codice (JavaScript)
// Load a Landsat 8 collection for a single path-row.
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filter(ee.Filter.eq('WRS_PATH', 44))
.filter(ee.Filter.eq('WRS_ROW', 34))
.filterDate('2014-01-01', '2015-01-01');
// Compute a median image and display.
var median = collection.median();
Map.setCenter(-122.3578, 37.7726, 12);
Map.addLayer(median, {bands: ['B4', 'B3', 'B2'], max: 0.3}, 'Median');
Configurazione di Python
Per informazioni sull'API Python e sull'utilizzo di geemap
per lo sviluppo interattivo, consulta la pagina
Ambiente Python.
import ee
import geemap.core as geemap
Colab (Python)
# Load a Landsat 8 collection for a single path-row.
collection = (
ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filter(ee.Filter.eq('WRS_PATH', 44))
.filter(ee.Filter.eq('WRS_ROW', 34))
.filterDate('2014-01-01', '2015-01-01')
)
# Compute a median image and display.
median = collection.median()
m = geemap.Map()
m.set_center(-122.3578, 37.7726, 12)
m.add_layer(median, {'bands': ['B4', 'B3', 'B2'], 'max': 0.3}, 'Median')
m
In ogni posizione dell'immagine di output, in ogni banda, il valore del pixel è la mediana di tutti
i pixel non mascherati nelle immagini di input (le immagini della raccolta). Nell'esempio precedente, median()
è un metodo di utilità per la seguente chiamata:
Editor di codice (JavaScript)
// Reduce the collection with a median reducer.
var median = collection.reduce(ee.Reducer.median());
// Display the median image.
Map.addLayer(median,
{bands: ['B4_median', 'B3_median', 'B2_median'], max: 0.3},
'Also median');
Configurazione di Python
Per informazioni sull'API Python e sull'utilizzo di geemap
per lo sviluppo interattivo, consulta la pagina
Ambiente Python.
import ee
import geemap.core as geemap
Colab (Python)
# Reduce the collection with a median reducer.
median = collection.reduce(ee.Reducer.median())
# Display the median image.
m.add_layer(
median,
{'bands': ['B4_median', 'B3_median', 'B2_median'], 'max': 0.3},
'Also median',
)
m
Tieni presente che i nomi dei gruppi sono diversi a causa dell'utilizzo di reduce()
anziché del
metodo di comodità. Nello specifico, i nomi dei riduttori sono stati aggiunti ai nomi delle bande.
È possibile anche applicare riduzioni più complesse utilizzando reduce()
. Ad esempio, per calcolare la tendenza lineare a lungo termine in una raccolta, utilizza uno dei riduttori di regressione lineare. Il codice seguente calcola la tendenza lineare dell'Indice di vegetazione migliorato (EVI) di MODIS:
Editor di codice (JavaScript)
// This function adds a band representing the image timestamp.
var addTime = function(image) {
return image.addBands(image.metadata('system:time_start')
// Convert milliseconds from epoch to years to aid in
// interpretation of the following trend calculation.
.divide(1000 * 60 * 60 * 24 * 365));
};
// Load a MODIS collection, filter to several years of 16 day mosaics,
// and map the time band function over it.
var collection = ee.ImageCollection('MODIS/006/MYD13A1')
.filterDate('2004-01-01', '2010-10-31')
.map(addTime);
// Select the bands to model with the independent variable first.
var trend = collection.select(['system:time_start', 'EVI'])
// Compute the linear trend over time.
.reduce(ee.Reducer.linearFit());
// Display the trend with increasing slopes in green, decreasing in red.
Map.setCenter(-96.943, 39.436, 5);
Map.addLayer(
trend,
{min: 0, max: [-100, 100, 10000], bands: ['scale', 'scale', 'offset']},
'EVI trend');
Configurazione di Python
Per informazioni sull'API Python e sull'utilizzo di geemap
per lo sviluppo interattivo, consulta la pagina
Ambiente Python.
import ee
import geemap.core as geemap
Colab (Python)
# This function adds a band representing the image timestamp.
def add_time(image):
return image.addBands(
image.metadata('system:time_start')
# Convert milliseconds from epoch to years to aid in
# interpretation of the following trend calculation.
.divide(1000 * 60 * 60 * 24 * 365)
)
# Load a MODIS collection, filter to several years of 16 day mosaics,
# and map the time band function over it.
collection = (
ee.ImageCollection('MODIS/006/MYD13A1')
.filterDate('2004-01-01', '2010-10-31')
.map(add_time)
)
# Select the bands to model with the independent variable first.
trend = collection.select(['system:time_start', 'EVI']).reduce(
# Compute the linear trend over time.
ee.Reducer.linearFit()
)
# Display the trend with increasing slopes in green, decreasing in red.
m.set_center(-96.943, 39.436, 5)
m = geemap.Map()
m.add_layer(
trend,
{
'min': 0,
'max': [-100, 100, 10000],
'bands': ['scale', 'scale', 'offset'],
},
'EVI trend',
)
m
Tieni presente che l'output della riduzione in questo esempio è un'immagine a due bande con una banda per la pendenza di una regressione lineare (scale
) e una banda per l'intercetta (offset
). Consulta la documentazione dell'API per visualizzare un elenco dei riduttori disponibili per ridurre un ImageCollection
a un singolo Image
.
I compositi non hanno proiezione
Le immagini composite create riducendo una raccolta di immagini sono in grado di produrre pixel
in qualsiasi proiezione richiesta e pertanto non hanno una proiezione di output fissa.
I compositi, invece, hanno
la proiezione predefinita WGS-84 con pixel di risoluzione di 1 grado. I compositi con la proiezione predefinita verranno calcolati in qualsiasi proiezione di output richiesta. Una richiesta avviene visualizzando il composito nell'editor di codice (scopri come l'editor di codice imposta la scala e la proiezione) o specificando esplicitamente una proiezione/scala come in un'aggregazione come ReduceRegion
o Export
.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-25 UTC.
[null,null,["Ultimo aggiornamento 2025-07-25 UTC."],[[["\u003cp\u003eUse \u003ccode\u003eimageCollection.reduce()\u003c/code\u003e to composite images in an \u003ccode\u003eImageCollection\u003c/code\u003e into a single image representing a statistical summary (e.g., median, mean) of the collection.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ereduce()\u003c/code\u003e function utilizes reducers like \u003ccode\u003eee.Reducer.median()\u003c/code\u003e to calculate the desired composite, with band names reflecting the reducer used.\u003c/p\u003e\n"],["\u003cp\u003eMore complex reductions, such as calculating linear trends, are possible using specific reducers like \u003ccode\u003eee.Reducer.linearFit()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eComposite images generated from reducing an image collection do not have a fixed projection and will be computed based on the requested output projection.\u003c/p\u003e\n"]]],[],null,["# Reducing an ImageCollection\n\nTo composite images in an `ImageCollection`, use\n`imageCollection.reduce()`. This will composite all the images in the\ncollection to a single image representing, for example, the min, max, mean or standard\ndeviation of the images.\n(See the [Reducers section](/earth-engine/guides/reducers_image_collection)\nfor more information about reducers). For example, to create a median value image from a\ncollection:\n\n### Code Editor (JavaScript)\n\n```javascript\n// Load a Landsat 8 collection for a single path-row.\nvar collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filter(ee.Filter.eq('WRS_PATH', 44))\n .filter(ee.Filter.eq('WRS_ROW', 34))\n .filterDate('2014-01-01', '2015-01-01');\n\n// Compute a median image and display.\nvar median = collection.median();\nMap.setCenter(-122.3578, 37.7726, 12);\nMap.addLayer(median, {bands: ['B4', 'B3', 'B2'], max: 0.3}, 'Median');\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# Load a Landsat 8 collection for a single path-row.\ncollection = (\n ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filter(ee.Filter.eq('WRS_PATH', 44))\n .filter(ee.Filter.eq('WRS_ROW', 34))\n .filterDate('2014-01-01', '2015-01-01')\n)\n\n# Compute a median image and display.\nmedian = collection.median()\nm = geemap.Map()\nm.set_center(-122.3578, 37.7726, 12)\nm.add_layer(median, {'bands': ['B4', 'B3', 'B2'], 'max': 0.3}, 'Median')\nm\n```\n\nAt each location in the output image, in each band, the pixel value is the median of all\nunmasked pixels in the input imagery (the images in the collection). In the previous\nexample, `median()` is a convenience method for the following call:\n\n### Code Editor (JavaScript)\n\n```javascript\n// Reduce the collection with a median reducer.\nvar median = collection.reduce(ee.Reducer.median());\n\n// Display the median image.\nMap.addLayer(median,\n {bands: ['B4_median', 'B3_median', 'B2_median'], max: 0.3},\n 'Also median');\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# Reduce the collection with a median reducer.\nmedian = collection.reduce(ee.Reducer.median())\n\n# Display the median image.\nm.add_layer(\n median,\n {'bands': ['B4_median', 'B3_median', 'B2_median'], 'max': 0.3},\n 'Also median',\n)\nm\n```\n\nNote that the band names differ as a result of using `reduce()` instead of the\nconvenience method. Specifically, the names of the reducer have been appended to the\nband names.\n\nMore complex reductions are also possible using `reduce()`. For\nexample, to compute the long term linear trend over a collection, use one of the linear\nregression reducers. The following code computes the linear trend of MODIS Enhanced\nVegetation Index (EVI):\n\n### Code Editor (JavaScript)\n\n```javascript\n// This function adds a band representing the image timestamp.\nvar addTime = function(image) {\n return image.addBands(image.metadata('system:time_start')\n // Convert milliseconds from epoch to years to aid in\n // interpretation of the following trend calculation.\n .divide(1000 * 60 * 60 * 24 * 365));\n};\n\n// Load a MODIS collection, filter to several years of 16 day mosaics,\n// and map the time band function over it.\nvar collection = ee.ImageCollection('MODIS/006/MYD13A1')\n .filterDate('2004-01-01', '2010-10-31')\n .map(addTime);\n\n// Select the bands to model with the independent variable first.\nvar trend = collection.select(['system:time_start', 'EVI'])\n // Compute the linear trend over time.\n .reduce(ee.Reducer.linearFit());\n\n// Display the trend with increasing slopes in green, decreasing in red.\nMap.setCenter(-96.943, 39.436, 5);\nMap.addLayer(\n trend,\n {min: 0, max: [-100, 100, 10000], bands: ['scale', 'scale', 'offset']},\n 'EVI trend');\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# This function adds a band representing the image timestamp.\ndef add_time(image):\n return image.addBands(\n image.metadata('system:time_start')\n # Convert milliseconds from epoch to years to aid in\n # interpretation of the following trend calculation.\n .divide(1000 * 60 * 60 * 24 * 365)\n )\n\n\n# Load a MODIS collection, filter to several years of 16 day mosaics,\n# and map the time band function over it.\ncollection = (\n ee.ImageCollection('MODIS/006/MYD13A1')\n .filterDate('2004-01-01', '2010-10-31')\n .map(add_time)\n)\n\n# Select the bands to model with the independent variable first.\ntrend = collection.select(['system:time_start', 'EVI']).reduce(\n # Compute the linear trend over time.\n ee.Reducer.linearFit()\n)\n\n# Display the trend with increasing slopes in green, decreasing in red.\nm.set_center(-96.943, 39.436, 5)\nm = geemap.Map()\nm.add_layer(\n trend,\n {\n 'min': 0,\n 'max': [-100, 100, 10000],\n 'bands': ['scale', 'scale', 'offset'],\n },\n 'EVI trend',\n)\nm\n```\n\nNote that the output of the reduction in this example is a two banded image\nwith one band for the slope of a linear regression (`scale`) and one band\nfor the intercept (`offset`). Explore the API documentation to see a list of\nthe reducers that are available to reduce an `ImageCollection` to a single\n`Image`.\n\nComposites have no projection\n-----------------------------\n\nComposite images created by reducing an image collection are able to produce pixels\nin any requested projection and therefore *have no fixed output projection* .\nInstead, composites have\n[the default\nprojection](/earth-engine/guides/projections#the-default-projection) of WGS-84 with 1-degree resolution pixels. Composites with the default\nprojection will be computed in whatever output projection is requested. A request\noccurs by displaying the composite in the Code Editor (learn about how the Code editor\nsets [scale](/earth-engine/guides/scale#scale-of-analysis) and\n[projection](/earth-engine/guides/projections)), or by explicitly specifying a\nprojection/scale as in an aggregation such as\n`ReduceRegion` or `Export`."]]