Ora che sei pronto per iniziare a scrivere codice JavaScript di Earth Engine, inizia copiando il seguente codice nell'editor di codice:
Editor di codice (JavaScript)
// Instantiate an image with the Image constructor. var image = ee.Image('CGIAR/SRTM90_V4'); // Zoom to a location. Map.setCenter(-112.8598, 36.2841, 9); // Center on the Grand Canyon. // Display the image on the map. Map.addLayer(image);
Fai clic sul pulsante Esegui nella parte superiore dell'editor di codice e osserva che sulla mappa viene visualizzata un'immagine molto grigia. Non preoccuparti, presto lo renderai più bello. Se la sintassi di una parte di questo esempio non ti è familiare, assicurati di consultare il tutorial su JavaScript per Earth Engine.
Image Constructor
La prima novità in questo esempio è il costruttore di immagini
ee.Image()
. L'argomento fornito al costruttore è l'ID stringa di un'immagine nel catalogo dati di Earth Engine. (Consulta la scheda Docs a sinistra
dell'editor di codice per visualizzare un elenco completo dei possibili argomenti del costruttore di immagini. La scheda
Documenti contiene le informazioni più aggiornate su cosa può fare Earth Engine.
Per scoprire l'ID di un'immagine, esegui una ricerca nel catalogo dati di Earth Engine utilizzando lo strumento di ricerca nella parte superiore dell'editor di codice. Ad esempio, digita "elevazione" nel campo di ricerca e nota che viene restituito un elenco di raster. Fai clic sulla voce "SRTM Digital Elevation Data Version 4" per visualizzare ulteriori informazioni su questo set di dati. Sul lato destro della descrizione del set di dati è presente un campo ID immagine. Nota che l'ID immagine nell'esempio viene copiato dall'ID immagine mostrato nella descrizione del set di dati.
Un'alternativa alla copia e all'incolla degli ID immagine è l'utilizzo del pulsante Importa nella descrizione del set di dati o del link Importa sul lato destro dei risultati di ricerca. Se fai clic sul link o sul pulsante di importazione, viene creata automaticamente una variabile in una sezione speciale, denominata "Importazioni", nella parte superiore dello script. Puoi rinominare la variabile facendo clic sul suo nome nella sezione Importazioni.
Configurare la mappa
La seconda nuova parte di questo esempio è la chiamata Map.setCenter()
. Questo
metodo sull'oggetto Map
, che rappresenta la visualizzazione della mappa nell'editor di codice, centra la mappa in base alla longitudine, alla latitudine (in gradi decimali) e al
livello di zoom, dove 1 indica che la mappa è stata rimpicciolita in modo da mostrare l'intera superficie terrestre. I numeri
più grandi vengono ingranditi da lì. Scopri tutti i metodi dell'oggetto Map
controllando la sezione Mappa nella scheda Documenti sul lato sinistro dell'editor di codice.
Aggiungere un livello alla mappa
L'ultima riga dell'esempio indica di utilizzare il metodo Map
dell'oggetto addLayer()
per aggiungere un'immagine alla visualizzazione della mappa nell'editor di codice.
Complimenti! Hai creato il tuo primo script Earth Engine. Nella prossima sezione, imparerai a migliorare l'aspetto di questa immagine.
Digressione: immagini in Earth Engine
Le immagini in Earth Engine (per maggiori dettagli, consulta questa pagina) sono composte da una o più bande. Ogni banda di un'immagine ha il proprio nome, valori dei pixel, risoluzione dei pixel e proiezione. Come scoprirai presto, l'immagine SRTM ha una banda: "elevation".
Quando aggiungi un'immagine a una mappa utilizzando Map.addLayer()
, Earth Engine deve determinare come mappare i valori nelle bande dell'immagine ai colori sul display. Se
a una mappa viene aggiunta un'immagine a banda singola, per impostazione predefinita Earth Engine visualizza la banda in scala di grigi,
dove il valore minimo è assegnato al nero e il valore massimo al bianco.
Se non specifichi i valori minimi e massimi, Earth Engine utilizzerà
i valori predefiniti. Ad esempio, l'immagine che hai appena aggiunto alla mappa viene visualizzata come
immagine in scala di grigi estesa all'intera gamma di dati o come numero intero a 16 bit con segno
[-32768, 32767]. (le bande float
vengono estese a [0, 1] e le bande byte
vengono estese a [0, 255] per impostazione predefinita).
Puoi scoprire il tipo di dati dell'immagine stampandola e ispezionando l'oggetto immagine nella scheda Console. Ad esempio, incolla il seguente codice dopo quello precedente:
Editor di codice (JavaScript)
print('SRTM image', image);
Quando fai clic su Esegui, tieni presente che nella console viene visualizzato un oggetto. Per esaminare le proprietà dell'oggetto, espandilo facendo clic sulla freccia
() a sinistra dell'oggetto o della proprietà. Espandi l'oggetto immagine, la proprietà "bande", la banda "elevation"
all'indice "0" e la proprietà "data_type" della banda "elevation" per scoprire che si tratta di un
tipo di dati
signed int16
.
Personalizzare la visualizzazione dei livelli
Per modificare il modo in cui i dati vengono estesi, puoi fornire un altro parametro alla chiamata
Map.addLayer()
. In particolare, il secondo parametro,
visParams
, consente di specificare i valori minimo e massimo da visualizzare. Per
scoprire quali valori utilizzare, attiva la
scheda Inspector e fai clic sulla
mappa per farti un'idea dell'intervallo di valori dei pixel. In alternativa, utilizza
Gestore livelli per estendere in modo interattivo i dati,
quindi osserva il minimo e il massimo corrispondenti alle estensioni
dei percentili o della deviazione standard. Supponiamo che, attraverso questo esperimento, tu determini che i dati
debbano essere estesi a [0, 3000]. Per visualizzare l'immagine utilizzando questo intervallo, utilizza:
Editor di codice (JavaScript)
Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');
Tieni presente che il parametro visParams
è un oggetto con proprietà che specificano
min
e max
. Scopri di più sugli oggetti JavaScript
nel tutorial JavaScript o
in questo
riferimento esterno. Tieni presente che il terzo parametro per Map.addLayer()
è il nome del livello visualizzato in Gestore
livelli. Il risultato dovrebbe essere simile alla Figura 1. Passa il mouse sopra la casella
Livelli a destra per vedere l'effetto della ridenominazione del livello.

Per visualizzare una singola banda utilizzando una tavolozza di colori, aggiungi una proprietà palette
all'oggetto visParams
:
Editor di codice (JavaScript)
Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']}, 'custom palette');
Il risultato dovrebbe essere simile alla Figura 2.

Digressione: tavolozze
Le tavolozze consentono di impostare la combinazione di colori per le immagini a banda singola. Una tavolozza è un elenco delimitato da virgole di stringhe di colore che vengono interpolate linearmente tra i valori massimo e minimo nei parametri di visualizzazione (o i valori predefiniti in base al tipo di banda, come descritto in precedenza). Ad esempio, i pixel inferiori o uguali al valore minimo verranno visualizzati con il primo colore dell'elenco, mentre i pixel superiori o uguali al valore massimo verranno visualizzati con l'ultimo colore dell'elenco. I colori intermedi vengono estesi linearmente ai valori dei pixel intermedi.
I colori sono definiti utilizzando lo schema di valori di colore CSS standard per il web (vedi questo riferimento esterno per saperne di più). I colori possono essere specificati per nome o come stringhe esadecimali che indicano la combinazione di rosso, verde e blu. Il valore più basso in una delle tre posizioni è 00 (che rappresenta il numero decimale 0), mentre il più alto è FF (che rappresenta il numero decimale 255). La stringa "000000" rappresenta il colore nero, "FFFFFF" il bianco, "FF0000" il rosso, "00FF00" il verde e "0000FF" il blu. Per maggiori dettagli, consulta la sezione Tavolozze di colori. È possibile utilizzare altre estensioni utilizzando i descrittori di layer stilizzati, come descritto in questa sezione.
Più avanti in questo tutorial imparerai a visualizzare immagini multibanda. Prima, però, visita la pagina successiva per scoprire come eseguire calcoli con le immagini.