Una raccolta di immagini si riferisce a un insieme di immagini di Earth Engine. Ad esempio, la raccolta
di tutte le immagini Landsat 8 è un ee.ImageCollection
. Come l'immagine SRTM
con cui hai lavorato, anche le raccolte di immagini hanno un ID. Come per le singole immagini,
puoi scoprire l'ID di una raccolta di immagini cercando nel
catalogo dati di Earth Engine da
Code Editor e visualizzando la pagina dei dettagli del set di dati. Ad esempio, cerca
"landsat 8 toa" e fai clic sul primo risultato, che dovrebbe corrispondere al
set di dati USGS Landsat 8 Collection 1 Tier 1 TOA Reflectance.
Importa il set di dati utilizzando il pulsante Importa e rinominalo in l8
oppure copia l'ID nel
costruttore della raccolta di immagini:
Editor di codice (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA');
Filtrare le raccolte di immagini
È importante notare che questa raccolta rappresenta ogni scena di Landsat 8 raccolta
in tutto il mondo. Spesso è utile estrarre una singola immagine o un sottoinsieme di immagini
su cui testare gli algoritmi. Il modo per limitare la raccolta in base al tempo o allo spazio è
filtrarla. Ad esempio, per filtrare la raccolta in modo da visualizzare le immagini che coprono una determinata posizione, definisci prima l'area di interesse con un punto (o una linea o un poligono) utilizzando gli strumenti di disegno della geometria. Sposta la visualizzazione sull'area di
interesse, passa il mouse sopra Importazioni di geometrie (se hai già una o più
geometrie definite) e fai clic su + Nuovo livello (se non hai importazioni,
vai al passaggio successivo). Seleziona lo strumento di disegno del punto
() e crea un punto nell'area di
interesse. Assegna un nome all'importazione
point
. Ora, filtra la raccolta l8
per ottenere solo le immagini che intersecano il punto, poi aggiungi un secondo filtro per
limitare la raccolta alle sole immagini acquisite nel 2015:
Editor di codice (JavaScript)
var spatialFiltered = l8.filterBounds(point); print('spatialFiltered', spatialFiltered); var temporalFiltered = spatialFiltered.filterDate('2015-01-01', '2015-12-31'); print('temporalFiltered', temporalFiltered);
Qui, filterBounds()
e filterDate()
sono metodi di scelta rapida per
il metodo più generale filter()
sulle raccolte di immagini, che accetta un
ee.Filter()
come argomento. Esplora la scheda Documenti dell'editor di codice per scoprire di più su questi metodi. L'argomento di filterBounds()
è il punto digitalizzato, mentre gli argomenti di filterDate()
sono due date,
espresse come stringhe.
Tieni presente che puoi print()
le raccolte filtrate. Non puoi stampare più di
5000 cose alla volta, quindi non puoi, ad esempio, stampare l'intera raccolta l8
. Dopo aver eseguito il metodo print()
, puoi esaminare le
raccolte stampate nella console. Tieni presente che quando espandi
ImageCollection
utilizzando la freccia
(), poi espandi l'elenco
di
features
, vedrai un elenco di immagini, ognuna delle quali può anche essere
espansa e ispezionata. Questo è un modo per scoprire l'ID di una singola immagine. Un altro modo
più programmatico per ottenere singole immagini per l'analisi è ordinare la raccolta
in modo da ottenere l'immagine più recente, più vecchia o ottimale rispetto a una proprietà
dei metadati. Ad esempio, esaminando gli oggetti immagine nelle raccolte di immagini stampate,
potresti aver notato una proprietà dei metadati chiamata CLOUD_COVER
. Puoi utilizzare
questa proprietà per ottenere l'immagine meno nuvolosa del 2015 nella tua area di interesse:
Editor di codice (JavaScript)
// This will sort from least to most cloudy. var sorted = temporalFiltered.sort('CLOUD_COVER'); // Get the first (least cloudy) image. var scene = sorted.first();
Ora puoi visualizzare l'immagine.
Digressione: visualizzazione di immagini RGB
Quando un'immagine multibanda viene aggiunta a una mappa, Earth Engine sceglie le prime tre bande
dell'immagine e le visualizza come rosso, verde e blu per impostazione predefinita, estendendole
in base al tipo di dati, come descritto
in precedenza. Di solito, questo non è sufficiente. Ad esempio, se aggiungi l'immagine Landsat
(scene
nell'esempio precedente) alla mappa, il risultato non è soddisfacente:
Editor di codice (JavaScript)
Map.centerObject(scene, 9); Map.addLayer(scene, {}, 'default RGB');
Tieni presente che la mappa è centrata sull'immagine con un livello di zoom pari a 9. L'immagine viene
visualizzata con un oggetto vuoto ({}
) per il parametro visParams
(consulta la documentazione di Map.addLayer()
per i dettagli). Di conseguenza, l'immagine viene
visualizzata con la visualizzazione predefinita: le prime tre bande corrispondono rispettivamente a R, G e B
e vengono estese a [0, 1] poiché le bande sono di tipo float
. Ciò significa che
la banda dell'aerosol costiero ("B1") viene visualizzata in rosso, la banda blu ("B2") in verde
e la banda verde ("B3") in blu. Per eseguire il rendering dell'immagine come
composizione a colori reali, devi indicare a Earth Engine di utilizzare le bande "B4", "B3" e
"B2" di Landsat 8 rispettivamente per R, G e B. Specifica quali bande utilizzare con la proprietà bands
dell'oggetto visParams
. Scopri di più sulle
bande Landsat in
questo
riferimento.
Devi inoltre fornire valori min
e max
adatti per
visualizzare la riflettanza dei tipici target della superficie terrestre. Sebbene gli elenchi possano essere utilizzati per specificare valori diversi per ogni banda, qui è sufficiente specificare 0.3
come max
e utilizzare il valore predefinito zero per il parametro min
. Combinando i parametri di visualizzazione in un unico oggetto e
visualizzando:
Editor di codice (JavaScript)
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; Map.addLayer(scene, visParams, 'true-color composite');
Il risultato dovrebbe essere simile a quello della Figura 5. Tieni presente che questo codice assegna l'oggetto dei parametri di visualizzazione a una variabile per un possibile utilizzo futuro. Come scoprirai presto, questo oggetto sarà utile quando visualizzerai le raccolte di immagini.

Prova a visualizzare bande diverse. Un'altra combinazione preferita è "B5", "B4" e "B3", che viene chiamata composizione a falsi colori. Altri compositi interessanti in falsi colori sono descritti qui.
Poiché Earth Engine è progettato per eseguire analisi su larga scala, non sei limitato a lavorare con una sola scena. A questo punto puoi visualizzare un'intera raccolta come composizione RGB.
Visualizzazione delle raccolte di immagini
Aggiungere una raccolta di immagini a una mappa è simile all'aggiunta di un'immagine a una mappa. Ad esempio, utilizzando le immagini del 2016 nella raccolta l8
e l'oggetto visParams
definito in precedenza,
Editor di codice (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); var landsat2016 = l8.filterDate('2016-01-01', '2016-12-31'); Map.addLayer(landsat2016, visParams, 'l8 collection');
Tieni presente che ora puoi diminuire lo zoom e vedere un mosaico continuo in cui vengono raccolte le immagini Landsat (ovvero sulla terraferma). Tieni presente inoltre che quando utilizzi la scheda Ispettore e fai clic sull'immagine, vedrai un elenco di valori dei pixel (o un grafico) nella sezione Pixel e un elenco di oggetti immagine nella sezione Oggetti dell'ispettore.
Se hai eseguito lo zoom indietro, probabilmente avrai notato alcune nuvole nel mosaico. Quando
aggiungi un ImageCollection
alla mappa, viene visualizzato come composito
di valori recenti, il che significa che vengono visualizzati solo i pixel più recenti (come chiamare
mosaic()
nella raccolta). Per questo motivo, puoi notare discontinuità tra i
percorsi acquisiti in
momenti diversi. È anche il motivo per cui molte aree potrebbero apparire nuvolose. Nella pagina successiva, scopri come
modificare la composizione delle immagini per eliminare quelle fastidiose nuvole.