L'editor di codice Earth Engine (EE) all'indirizzo code.earthengine.google.com è un IDE basato su web per l'API JavaScript di Earth Engine. Le funzionalità di Code Editor sono progettate per velocizzare e semplificare lo sviluppo di flussi di lavoro geospaziali complessi. L'editor di codice contiene i seguenti elementi (illustrati nella Figura 1):
- Editor di codice JavaScript
- Visualizzazione mappa per la visualizzazione di set di dati geospaziali
- Documentazione di riferimento dell'API (scheda Documenti)
- Gestore di script basato su Git (scheda Script)
- Output console (scheda Console)
- Task Manager (scheda Attività) per gestire le query a lunga esecuzione
- Query interattiva sulla mappa (scheda Strumento di controllo)
- Ricerca nell'archivio dati o negli script salvati
- Strumenti di disegno geometrico
Figura 1. Diagramma dei componenti dell'editor di codice di Earth Engine all'indirizzo code.earthengine.google.com.
L'editor di codice offre una serie di funzionalità per aiutarti a sfruttare al meglio l'API Earth Engine. Visualizza script di esempio o salva i tuoi script nella scheda Script. Esegui query sugli oggetti posizionati sulla mappa con la scheda Strumento di controllo. Visualizza e crea grafici con i risultati numerici utilizzando l'API Google Visualization. Condividi un URL univoco del tuo script con collaboratori e amici utilizzando il pulsante Genera link. Gli script sviluppati in Code Editor vengono inviati a Google per l'elaborazione e le schede della mappa e/o i messaggi generati vengono inviati nuovamente per la visualizzazione nella scheda Mappa e/o Console. Per eseguire Code Editor, ti basta un browser web (utilizza Google Chrome per risultati ottimali) e una connessione a internet. Le sezioni seguenti descrivono in modo più dettagliato gli elementi dell'editor di codice di Earth Engine.
Editor JavaScript
L'editor JavaScript:
- Formattare ed evidenziare il codice durante la digitazione
- Sottolinea il codice con problemi, offre correzioni e altri suggerimenti per la sintassi corretta
- Completa automaticamente coppie di virgolette, parentesi graffe e tonde
- Offri suggerimenti per il completamento del codice per le funzioni di Earth Engine
Sopra l'editor di codice sono presenti i pulsanti per eseguire lo script, salvarlo, reimpostare la mappa di output e la console e ottenere un link allo script. Quando premi il pulsante Genera link, nella barra degli indirizzi del browser viene visualizzato un link univoco. Questo link rappresenta il codice nell'editor al momento in cui è stato premuto il pulsante.
Riferimento API (scheda Documenti)
Sul lato sinistro dell'editor di codice si trova la scheda Documentazione, che contiene la documentazione completa dell'API JavaScript. Puoi effettuare ricerche e navigare nella documentazione dalla scheda Documenti.
Gestore script (scheda Script)
La scheda Script si trova accanto alla documentazione dell'API nel riquadro sinistro dell'editor di codice. Il Gestore di script archivia script privati, condivisi ed di esempio nei
repository Git ospitati da Google. I repository sono arranged per livello di accesso, con gli script privati archiviati in un repository di tua proprietà nella cartella Proprietario: users/username/default
. Tu (e solo tu) hai accesso ai repository nella cartella Proprietario, a meno che non li condivida con qualcun altro. I repository nella cartella Writer sono repository per i quali il proprietario ti ha concesso l'accesso in scrittura. Puoi aggiungere nuovi script ai repository nella cartella Writer, modificarne gli script esistenti o modificarne l'accesso (non puoi rimuovere il proprietario). I repository nella
cartella Lettore sono repository per i quali ti è stato concesso l'accesso in lettura
dal proprietario. La cartella Examples è un repository speciale gestito da Google che contiene esempi di codice. La cartella Archivio contiene i repository legacy a cui hai accesso, ma per i quali non è ancora stata eseguita la migrazione da parte del proprietario da una versione precedente di Script Manager. Cerca gli script
utilizzando la barra dei filtri nella parte superiore della scheda Script.
Figura 2. Il Gestore script.
Fai clic sul pulsante per creare un nuovo repository nella cartella Proprietario o per creare cartelle e file all'interno di un repository. Puoi rinominare gli script con l'icona ed eliminarli con l'icona . Puoi spostare gli script e organizzarli in cartelle utilizzando il trascinamento
(Figura 2). Se trascini uno script in un altro repository, viene copiato.
Tutti gli script e i repository mantengono la cronologia completa delle versioni. Fai clic sull'icona
accanto a uno script o un repository per confrontarlo o ripristinarlo a una versione precedente. Per eliminare un repository, fai clic sull'icona . Per configurare l'accesso a un repository, fai clic sull'icona accanto al nome del repository. Tieni presente che se condividi un repository, la persona con cui lo condividi dovrà accettarlo facendo clic sul link mostrato nella finestra di dialogo delle impostazioni. I repository accettati in precedenza possono essere nascosti facendo clic sull'icona accanto al nome del repository in Gestore script.Puoi accedere ai repository utilizzando Git, in modo da gestire e modificare gli script al di fuori di Code Editor o sincronizzarli con un sistema esterno come GitHub. (scopri di più su Git in questo tutorial). Fai clic sull'icona accanto al nome del repository per istruzioni su come clonarlo. Tieni presente che puoi sfogliare i repository a cui hai accesso visitando earthengine.googlesource.com. Per alcune operazioni di Git, potresti dover creare le credenziali di autenticazione facendo clic sul link "Genera password" nella parte superiore della pagina earthengine.googlesource.com.
Moduli script
È buona norma scrivere codice modulare e riutilizzabile che possa essere condiviso tra gli script senza dover copiare e incollare molto. Per consentire lo sviluppo modulare, Earth Engine offre la possibilità di condividere il codice tra gli script. Ad esempio,
supponiamo di scrivere una funzione che esegue un insieme utile di operazioni. Anziché copiare il codice della funzione in un nuovo script, è più facile per il nuovo script caricare direttamente la funzione. Per rendere disponibile una funzione o un oggetto per altri script, devi aggiungerlo a un oggetto speciale chiamato exports
. Per utilizzare il codice in un altro script, utilizza la funzione require
per caricare le esportazioni da un altro script. Ad esempio, supponiamo di definire il seguente modulo in un file denominato FooModule.js
che si trova in una cartella denominata Modules
:
/** * The Foo module is a demonstration of script modules. * It contains a foo function that returns a greeting string. * It also contains a bar object representing the current date. * @module Modules/FooModule */ /** * Returns a greeting string. * @param {ee.String} arg The name to which the greeting should be addressed * @return {ee.String} The complete greeting. */ exports.foo = function(arg) { return 'Hello, ' + arg + '! And a good day to you!'; }; /** * An ee.Date object containing the time at which the object was created. */ exports.bar = ee.Date(Date.now());
Prendi nota dell'utilizzo della parola chiave exports
nella forma exports.objectToExport
.
Puoi utilizzare questo modulo in un altro script utilizzando la funzione require
. Ad esempio:
var Foo = require('users/username/default:Modules/FooModule.js'); print(Foo.doc); print(Foo.foo('world')); print('Time now:', Foo.bar);
La funzione require
prevede una stringa che descriva il percorso assoluto della posizione del modulo. Nello specifico, l'argomento di require()
è del tipo
'pathToRepository:pathToModuleScript'
. Puoi caricare i moduli solo dai repository di tua proprietà e/o a cui hai accesso in lettura. Se vuoi che altri possano utilizzare il tuo modulo, il repository deve essere condiviso con gli altri utenti a cui vuoi concedere l'accesso. Ti consigliamo di documentare il modulo per aiutare gli altri a capire come utilizzarlo. Consigliamo di utilizzare lo stile JSDoc con il tag @module
.
Puoi utilizzare il parametro URL ?scriptPath={repo}:{script}
per condividere un riferimento
a un file nel tuo repository, ad esempio
https://code.earthengine.google.com/?scriptPath=users/username/utils:utils
.
Quando visiti l'URL, il file a cui si fa riferimento e il relativo repository verranno aggiunti alla directory Reader o Writer nella scheda Script, a seconda del tuo livello di autorizzazione per il repository condiviso.
Asset Manager (scheda Risorse)
Asset Manager si trova nella scheda Asset del riquadro a sinistra. Utilizza Asset Manager (Figura 3) per caricare e gestire i tuoi asset immagine in Earth Engine. Per informazioni dettagliate, consulta la pagina Gestore risorse.
Figura 3. Il responsabile asset.
Link agli script
Gli script di Editor di codice possono essere condivisi tramite un URL codificato. Le sezioni seguenti descriveranno vari modi per generare un URL dello script, le opzioni disponibili e i metodi per gestire gli URL degli script.
Ottieni link
Il pulsante "Ottieni link" nella parte superiore dell'editor di codice (Figura 4) fornisce un'interfaccia per generare gli URL degli script e impostare le opzioni di comportamento degli script. Tieni conto delle differenze tra gli URL degli snapshot e degli script salvati descritte di seguito.
Figura 4. Il pulsante "Ricevi link".
Link agli script snapshot
Il codice nell'editor può essere condiviso tramite un URL di istantanea codificato che viene creato facendo clic sul pulsante "Ottieni link" nella parte superiore dell'editor di codice. Quando l'URL viene visitato da un utente con un account Earth Engine, il browser apre l'editor di codice e replica l'ambiente così com'era al momento della creazione del link, inclusi codice, importazioni, livelli della mappa e posizione della mappa. Se fai clic sul pulsante "Genera link", il link allo script verrà copiato automaticamente negli appunti. Inoltre, viene visualizzata una finestra di dialogo con le opzioni per controllare l'esecuzione dello script condiviso, oltre ai pulsanti per copiare e visitare il link generato. Le opzioni di controllo includono l'impedire l'esecuzione automatica dello script e l'occultamento del riquadro del codice quando un utente apre il link condiviso. La finestra di dialogo trascinabile può essere chiusa tramite il tasto "Esc" o un clic altrove nella pagina.
Link agli script salvati
Gli script salvati hanno un'opzione per condividere un link che caricherà sempre la versione salvata più recente ed è accessibile solo a te e ad altri utenti con accesso corrente al repository contenente lo script. Per utilizzare questa funzionalità, carica uno script salvato dalla scheda Gestore script, fai clic sulla freccia del menu a discesa a destra del pulsante "Ottieni link" e seleziona "Copia percorso script". Viene visualizzata una finestra di dialogo con l'URL dello script condivisibile. Tieni presente che l'URL dello script è stato impostato anche nella barra degli indirizzi del browser. Per indicazioni su come condividere il tuo repository con altri, consulta la sezione Script Manager.
Gestione dei link agli script
Il pulsante del menu a discesa a destra del pulsante "Genera link" offre l'opzione "Gestisci link". Se fai clic su questa opzione, viene caricata una nuova scheda del browser con un'interfaccia per richiamare, rimuovere e scaricare i link agli script generati in precedenza. Se selezioni uno script e premi il pulsante di download, sul tuo sistema verrà scaricata una cartella compressa ("code_editor_links.zip") contenente una rappresentazione in file .txt per ogni script selezionato.
Parametri URL del link allo script
Il modulo ui.url
consente la manipolazione programmatica dell'identificatore del frammento dell'URL dello script tramite i metodi get
e set
. Ciò significa che gli script di Code Editor e le app Earth Engine possono leggere e memorizzare i valori nell'URL della pagina.
Nota la fine dei due URL seguenti: il primo imposta la variabile debug
su
false
e il secondo su true
; visita entrambi i link e nota che la casella di controllo di debug nella console non è selezionata nel primo, ma è selezionata nel
secondo, cambiando il comportamento di ogni script.
https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=false;
https://code.earthengine.google.com/5695887aad76979388a723a85339fbf2#debug=true;
Questa funzionalità può essere utilizzata per impostare lo zoom e il centro della mappa, nonché altri comportamenti che potresti voler personalizzare quando invii link a persone o gruppi specifici.
Strumento di ricerca
Per trovare i set di dati da utilizzare negli script, puoi utilizzare lo strumento di ricerca per l'archivio dei dati. Lo strumento di ricerca è la casella di testo nella parte superiore di Editor di codice con la dicitura "Cerca luoghi e set di dati…" Digita il nome di un prodotto di dati, di un sensore o di un'altra parola chiave nella barra di ricerca e fai clic sul pulsante nella descrizione del set di dati.
Importazioni
I risultati dell'importazione dei set di dati nello script sono organizzati in una sezione di importazioni nella parte superiore dello script, nascosta finché non importi qualcosa. Dopo aver creato alcune importazioni, dovresti visualizzare una schermata simile alla Figura 5. Per copiare gli import in un altro script o per convertirli in JavaScript, fai clic sull'icona
accanto all'intestazione Importazioni e copia il codice generato nello script. Puoi eliminare l'importazione con l'icona .Figura 5. La sezione delle importazioni nella parte superiore dell'editor di codice.
Mappa
L'oggetto Map nell'API si riferisce alla visualizzazione della mappa nell'editor di codice. Ad esempio, Map.getBounds()
restituirà la regione geografica visibile nell'editor di codice. Controlla le funzioni Map
nell'API per visualizzare altre personalizzazioni per questa visualizzazione.
Gestore livelli
Utilizza Gestione livelli nell'angolo in alto a destra della mappa per regolare la visualizzazione degli strati che hai aggiunto alla mappa. Nello specifico, puoi attivare/disattivare la visibilità di un livello o regolarne la trasparenza con il cursore. Fai clic sull'icona
per regolare i parametri di visualizzazione dei singoli livelli. Lo strumento di visualizzazione visualizzato (Figura 6) ti consente di configurare in modo interattivo i parametri di visualizzazione dei livelli. Fai clic sul pulsante a destra dello strumento (che esegue per impostazione predefinita un'estensione Personalizzata all'intervallo minimo e massimo specificato) per estendere in modo lineare la visualizzazione ai percentile o alle deviazioni standard dei valori dell'immagine nella finestra di visualizzazione. Le statistiche vengono calcolate da tutti i pixel della finestra della mappa al livello di zoom corrente. Utilizza i cursori per regolare la gamma e/o la trasparenza. Fai clic sul pulsante di opzione Tavolozza e specifica una tavolozza personalizzata aggiungendo colori ( ), rimuovendoli ( ) o inserendo manualmente un elenco di stringhe esadecimali separate da virgola ( ). Fai clic su Applica per applicare i parametri di visualizzazione alla visualizzazione corrente. Fai clic su Importa per caricare un oggetto di parametri di visualizzazione come nuova variabile nella sezione delle importazioni dello script.Figura 6. Strumento di visualizzazione dei livelli.
Scheda Strumento di controllo
La scheda Strumento di controllo accanto a Task Manager ti consente di eseguire query interattive sulla mappa. Quando la scheda Ispettore è attiva, il cursore diventa un mirino che mostra i valori della posizione e del livello sotto il cursore quando fai clic sulla mappa. Ad esempio, la Figura 7 mostra i risultati del clic sulla mappa nella scheda Ispezione. La posizione del cursore e il livello di zoom vengono visualizzati insieme ai valori in pixel e a un elenco di oggetti sulla mappa. L'elenco degli oggetti è collaborativo. Per visualizzare ulteriori informazioni, espandi gli oggetti nella scheda Ispezione.
Figura 7. La scheda Ispezione mostra informazioni sulla posizione del cursore e sui valori del livello sotto il cursore.
Scheda Console
Quando print()
qualcosa dallo script, ad esempio testo, oggetti o grafici, il risultato viene visualizzato nella console. La console è interattiva, quindi puoi espandere gli oggetti stampati per visualizzarne ulteriori dettagli.
Scheda Attività
Le attività di Earth Engine sono operazioni in grado di funzionare molto più a lungo del tempo di attesa della richiesta API standard. Queste attività a lungo termine sono l'unico
metodo per creare artefatti permanenti in Earth Engine e nei sistemi adiacenti
(Google Cloud Storage, Google Drive e così via) e si suddividono in due categorie:
Import
e Export
.
Le attività di importazione possono essere utilizzate per caricare
immagini o
caricare tabelle
in Earth Engine da vari tipi di file (.csv
, .tif
e così via). Le attività di esportazione possono essere utilizzate per eseguire e scrivere i risultati dal sistema di calcolo EE (consulta la guida all'esportazione dei dati).
Per le esportazioni, ogni chiamata a una funzione Export
nell'editor di codice compila una voce nella sezione Attività non inviate della scheda Attività. Per inviare un'attività di esportazione al server, fai clic sul pulsante Esegui accanto all'attività. Viene visualizzata una finestra di dialogo di configurazione che ti consente di specificare una serie di parametri per l'attività. Se l'attività è completamente specificata al momento della creazione (ovvero la chiamata a Export
ha tutti i parametri necessari), tieni premuto ctrl
o ⌘
mentre fai clic su Esegui per inviare l'attività senza mostrare la finestra di dialogo.
Per le importazioni, il caricamento dei file avviene localmente prima che l'attività venga inviata al server. Lo stato di avanzamento delle attività di importazione nella fase di caricamento viene visualizzato nella sezione Attività non inviate e le attività vengono inviate automaticamente al server al termine del caricamento del file.
Le attività non inviate vengono visualizzate solo nella pagina in cui sono state create e vengono perse quando la pagina viene chiusa. Una volta inviata una task al server, facendo clic sulla relativa riga nell'interfaccia utente vengono visualizzate informazioni e opzioni aggiuntive sullo stato della task, inclusa la possibilità di richiedere l'annullamento.
Per visualizzare e annullare più attività in una visualizzazione a pagina intera (anche sui client mobile), utilizza la pagina Attività nella console Cloud.
Profiler
Il profiler mostra informazioni sulle risorse (tempo di CPU, memoria) consumate da algoritmi specifici e da altre parti di un calcolo. In questo modo puoi diagnosi il motivo per cui uno script funziona lentamente o non va a buon fine a causa di limiti di memoria. Per utilizzare il profiler, fai clic sull'opzione Esegui con il profiler nel menu a discesa del pulsante Esegui. Come scorciatoia, tieni premuto Alt (o Opzione su Mac) e fai clic su Esegui oppure premi Ctrl+Alt+Invio. Viene attivata una scheda Profiler sul lato destro dell'editor di codice. Durante l'esecuzione dello script, la scheda Profiler mostra una tabella dell'utilizzo delle risorse dello script. Se fai clic sul pulsante Esegui (senza profilazione), la scheda Profiler scompare e il profiler viene disattivato.
Per un'analisi dettagliata dell'output del profiler, consulta la pagina Panoramica del calcolo.
Strumenti di geometria
Puoi anche importare le geometrie nello script disegnandole sullo schermo. Per creare geometrie, utilizza gli strumenti di disegno delle geometrie nell'angolo in alto a sinistra della visualizzazione della mappa (Figura 8). Per disegnare punti, utilizza l'icona del segnaposto, per disegnare linee, utilizza l'icona della linea
, per disegnare poligoni, utilizza l'icona del poligono
, per disegnare rettangoli, utilizza l'icona del rettangolo
. Tieni presente che i rettangoli sono geometrie piane, pertanto non possono essere posizionati su un livello con geometrie geodesiche come linee e poligoni.
L'utilizzo di uno degli strumenti di disegno consente di creare automaticamente un nuovo livello di geometria e di aggiungere un'importazione per quel livello alla sezione Importazioni. Per aggiungere geometrie a un nuovo livello, passa il mouse sopra Importazioni geometrie nella visualizzazione della mappa e fai clic sul link +Nuovo livello. Puoi anche attivare/disattivare la visibilità delle geometrie dalla sezione Importazioni geometria. Tieni presente che le geometrie disegnate sono geodesiche per impostazione predefinita, ad eccezione dei rettangoli, che sono solo piani. Utilizza il costruttore Geometry per convertirle in geometrie piane. Scopri di più sulle geometrie in Earth Engine nella pagina Geometria.
Figura 8. Gli strumenti per il disegno geometrico si trovano nell'angolo in alto a sinistra della visualizzazione della mappa.
Per configurare il modo in cui le geometrie vengono importate nello script, fai clic sull'icona Feature
o FeatureCollection
) o rinominarlo.
Figura 9. Strumento di configurazione della geometria.
Infine, per impedire la modifica delle geometrie in un livello, puoi bloccarlo premendo l'icona
accanto al livello. In questo modo, non potrai aggiungere, eliminare o modificare le geometrie nel livello. Per sbloccare di nuovo il livello, premi l'icona .Aiuto!
Fai clic sul pulsante
in alto a destra in Editor di codice per visualizzare i link a questa Guida per gli sviluppatori, ad altri forum di assistenza, a un tour guidato di Editor di codice e a un elenco di scorciatoie da tastiera utili per la codifica, l'esecuzione del codice e la visualizzazione dei dati nella mappa. Fai clic sul pulsante per inviare una segnalazione di bug, richiedere una nuova funzionalità, suggerire un set di dati o inviare un feedback quando non è necessaria una risposta.