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.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Prendiamo ad esempio la necessità di calcolare la mediana su una serie temporale di immagini rappresentate da un ImageCollection. Per ridurre un ImageCollection,
utilizza imageCollection.reduce(). In questo modo, la raccolta di immagini viene ridotta a una singola immagine, come illustrato nella Figura 1. Nello specifico, l'output viene calcolato per pixel, in modo che ogni pixel dell'output sia composto dal valore mediano di tutte le immagini della raccolta in quella posizione. Per ottenere altre statistiche, come media, somma,
varianza, un percentile arbitrario e così via, è necessario selezionare e
applicare il riduttore appropriato. (consulta la scheda Documenti nell'editor di codice per un elenco di tutti i riduttori attualmente disponibili). Per statistiche di base come min, max, media e così via,
ImageCollection ha metodi di scorciatoia come min(),
max(), mean() e così via. Funzionano esattamente come
l'istruzione reduce(), tranne per il fatto che ai nomi delle bande risultanti non viene aggiunto il
nome del riduttore.
Figura 1. Illustrazione di un ee.Reducer applicato a una raccolta di immagini.
Per un esempio di riduzione di un ImageCollection, prendi in considerazione una raccolta di
immagini Landsat 5, filtrate per percorso e riga. Il seguente codice utilizza reduce()
per ridurre la raccolta a un Image (qui viene utilizzato un riduttore mediano solo
a scopo illustrativo):
Viene restituito un Image multibanda, ogni pixel del quale è la mediana di tutti
i pixel non mascherati nell'ImageCollection in quella posizione del pixel. Nello specifico,
il riduttore è stato ripetuto per ogni banda delle immagini di input, il che significa che la mediana
viene calcolata in modo indipendente in ogni banda. Tieni presente che ai nomi delle bande è stato aggiunto il nome del
riduttore: 'B1_median', 'B2_median' e così via.
L'output dovrebbe avere un aspetto simile a quello della Figura 2.
Per saperne di più sulla riduzione delle raccolte di immagini, consulta la sezione relativa alla riduzione della documentazione di ImageCollection. In
particolare, tieni presente che le immagini prodotte riducendo un ImageCollectionnon hanno proiezione. Ciò significa
che devi impostare esplicitamente la scala su tutti i calcoli che richiedono l'output di immagini calcolate
mediante una riduzione di ImageCollection.
Figura 2. Un'immagine composita a falsi colori della mediana delle scene di Landsat 5 nel 2008.
[null,null,["Ultimo aggiornamento 2025-07-25 UTC."],[[["\u003cp\u003eUse \u003ccode\u003eimageCollection.reduce()\u003c/code\u003e to reduce an \u003ccode\u003eImageCollection\u003c/code\u003e to a single image by applying a reducer function pixel-wise.\u003c/p\u003e\n"],["\u003cp\u003eEarth Engine provides built-in reducers for common statistics like median, mean, min, max, and more.\u003c/p\u003e\n"],["\u003cp\u003eThe output of \u003ccode\u003ereduce()\u003c/code\u003e is a multi-band image where each pixel represents the reduced value across the input images.\u003c/p\u003e\n"],["\u003cp\u003eBand names in the output image are appended with the reducer name (e.g., \u003ccode\u003eB1_median\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eReduced images have no projection, requiring explicit scale setting for further computations.\u003c/p\u003e\n"]]],[],null,["# ImageCollection Reductions\n\nConsider the example of needing to take the median over a time series of images\nrepresented by an `ImageCollection`. To reduce an `ImageCollection`,\nuse `imageCollection.reduce()`. This reduces the collection of images to an\nindividual image as illustrated in Figure 1. Specifically, the output is computed\npixel-wise, such that each pixel in the output is composed of the median value of all the\nimages in the collection at that location. To get other statistics, such as mean, sum,\nvariance, an arbitrary percentile, etc., the appropriate reducer should be selected and\napplied. (See the **Docs** tab in the\n[Code Editor](https://code.earthengine.google.com) for a list of all the reducers\ncurrently available). For basic statistics like min, max, mean, etc.,\n`ImageCollection` has shortcut methods like `min()`,\n`max()`, `mean()`, etc. They function in exactly the same way\nas calling `reduce()`, except the resultant band names will not have the\nname of the reducer appended.\nFigure 1. Illustration of an ee.Reducer applied to an ImageCollection.\n\nFor an example of reducing an `ImageCollection`, consider a collection of\nLandsat 5 images, filtered by path and row. The following code uses `reduce()`\nto reduce the collection to one `Image` (here a median reducer is used simply\nfor illustrative purposes):\n\n### Code Editor (JavaScript)\n\n```javascript\n// Load an image collection, filtered so it's not too much data.\nvar collection = ee.ImageCollection('LANDSAT/LT05/C02/T1')\n .filterDate('2008-01-01', '2008-12-31')\n .filter(ee.Filter.eq('WRS_PATH', 44))\n .filter(ee.Filter.eq('WRS_ROW', 34));\n\n// Compute the median in each band, each pixel.\n// Band names are B1_median, B2_median, etc.\nvar median = collection.reduce(ee.Reducer.median());\n\n// The output is an Image. Add it to the map.\nvar vis_param = {bands: ['B4_median', 'B3_median', 'B2_median'], gamma: 1.6};\nMap.setCenter(-122.3355, 37.7924, 9);\nMap.addLayer(median, vis_param);\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 an image collection, filtered so it's not too much data.\ncollection = (\n ee.ImageCollection('LANDSAT/LT05/C02/T1')\n .filterDate('2008-01-01', '2008-12-31')\n .filter(ee.Filter.eq('WRS_PATH', 44))\n .filter(ee.Filter.eq('WRS_ROW', 34))\n)\n\n# Compute the median in each band, each pixel.\n# Band names are B1_median, B2_median, etc.\nmedian = collection.reduce(ee.Reducer.median())\n\n# The output is an Image. Add it to the map.\nvis_param = {'bands': ['B4_median', 'B3_median', 'B2_median'], 'gamma': 1.6}\nm = geemap.Map()\nm.set_center(-122.3355, 37.7924, 9)\nm.add_layer(median, vis_param)\nm\n```\n\nThis returns a multi-band `Image`, each pixel of which is the median of all\nunmasked pixels in the `ImageCollection` at that pixel location. Specifically,\nthe reducer has been repeated for each band of the input imagery, meaning that the median\nis computed independently in each band. Note that the band names have the name of the\nreducer appended: `'B1_median'`, `'B2_median'`, etc.\nThe output should look something like Figure 2.\n\nFor more information about reducing image collections, see the\n[reducing section of the `ImageCollection` docs](/earth-engine/guides/ic_reducing). In\nparticular, note that images produced by reducing an `ImageCollection`\n[have no projection](/earth-engine/guides/ic_reducing#composites-have-no-projection). This means\nthat you should explicitly set the scale on any computations involving computed images\noutput by an `ImageCollection` reduction.\nFigure 2. A false color composite of the median of Landsat 5 scenes in 2008."]]