Panoramica di App Engine ed Earth Engine

Google App Engine ti consente di creare ed eseguire le tue applicazioni personalizzate sui server di Google. Le applicazioni App Engine sono facili da creare, gestire e scalare in base alle variazioni delle esigenze di archiviazione dei dati e del traffico. Devi semplicemente caricare il codice sorgente dell'applicazione e il gioco è fatto. Se non hai mai sviluppato per App Engine, consulta la guida rapida di App Engine per Python o Node.js prima di procedere.

Earth Engine e App Engine possono essere utilizzati insieme per creare applicazioni geospaziali scalabili. In genere, il codice di App Engine include la libreria client Python di Earth Engine ed effettua richieste al backend di Earth Engine utilizzando un account di servizio. Questo è vantaggioso perché consente a chiunque di utilizzare la tua app senza accedere o essere un utente registrato di Earth Engine. Tieni presente che i limiti di utilizzo standard di Earth Engine si applicano a ogni account di servizio.

Un altro approccio di sviluppo consiste nell'utilizzare l'autenticazione lato client anziché un account di servizio. Con questo approccio, i visitatori della tua applicazione devono aver eseguito la registrazione a Earth Engine e aver eseguito l'accesso. Il vantaggio di questo approccio è che le richieste a Earth Engine vengono effettuate utilizzando le credenziali dell'utente finale, quindi è meno probabile che tu raggiunga i limiti di utilizzo. Il problema è che gli utenti devono registrarsi a Earth Engine e accedere prima di utilizzare l'applicazione.

La directory delle demo di Earth Engine App Engine su GitHub contiene una serie di esempi utili di App Engine. Consulta la pagina App di esempio per una breve descrizione di ogni esempio. Questo documento fornisce istruzioni su come configurare e implementare gli esempi o le app personalizzate che crei.

Eseguire il deployment di app App Engine con Earth Engine

Le istruzioni riportate di seguito spiegano come eseguire il deployment delle app di demo. Le istruzioni per Python sono destinate a Mac OS e Linux. Se utilizzi Python su Windows, prova questa operazione.

Abilita l'API Earth Engine nel tuo progetto Google Cloud

Crea o seleziona un progetto Google Cloud e abilita l'API Earth Engine seguendo queste istruzioni.

Configurare le credenziali

Account di servizio

Un account di servizio può essere utilizzato per autorizzare le richieste a Earth Engine per conto di chi utilizza la tua app. Il file config.py contiene il codice di autenticazione che utilizza l'indirizzo email dell'account di servizio e un file della chiave privata. Per configurare l'autenticazione con un account di servizio, segui queste istruzioni per creare l'account di servizio e il file della chiave privata. Assegna al file della chiave il nome .private-key.json e spostalo nella directory del progetto.

Python

Se non lo hai già fatto, configura l'API Earth Engine per Python. Testa l'account di servizio seguendo queste istruzioni.

Se il test va a buon fine, aggiorna config.py (o un file equivalente nel codice sorgente) con l'indirizzo email del tuo account di servizio. Il percorso del file della chiave non deve cambiare perché si trova nella directory del progetto.

Node.js

Installa le dipendenze del progetto eseguendo npm install. L'API Node.js di Earth Engine e le eventuali altre dipendenze verranno copiate in una cartella ./node_modules nella directory del progetto. Se l'installazione non va a buon fine, controlla che sia installata una versione recente di Node.js.

const ee = require('@google/earthengine');
ee.data.authenticateViaPrivateKey('.private-key.json');
ee.initialize();

ID client OAuth 2.0

Se vuoi che gli utenti si autentichino come se fossero loro stessi (anziché utilizzare un account di servizio), devi configurare un ID client OAuth dal tuo progetto Cloud. Per farlo, segui questi passaggi:

  1. Configura un ID cliente in base a queste istruzioni.
  2. Aggiorna static/script.js (o un file equivalente nel codice sorgente) per utilizzare il tuo ID cliente.
  3. Assicurati che ee_api_js.js sia disponibile nella directory /static/ (o equivalente). Puoi scaricarla direttamente da GitHub, installarla da npm o, se hai già clonato l'intero repository dell'API EE, copiarla da earthengine-api/javascript/build nel tuo file system locale.

Configura l'ambiente di sviluppo locale

Python

Segui le istruzioni in ogni directory di esempio su GitHub per scaricare e compilare il progetto. Se è presente un file build.sh, eseguilo dalla directory principale dell'applicazione con il comando:

./build.sh

Lo script di configurazione scaricherà le dipendenze e installerà gli strumenti a riga di comando di Google, se non sono già presenti nel sistema. L'API Python di Earth Engine e le relative dipendenze verranno copiate in una cartella ./lib nella directory del progetto.

Verifica che gli strumenti a riga di comando di App Engine siano disponibili eseguendo:

dev_appserver.py

Se il comando non viene trovato, prova a scaricare e installare manualmente l'SDK Google App Engine per Python. Se il comando è disponibile, dovrebbe non andare a buon fine con "error: too few arguments".

Node.js

Non è richiesta alcuna configurazione.

Esegui localmente

Una volta registrato per l'accesso a Earth Engine, puoi utilizzare l'account di servizio per l'autenticazione (vedi config.py) quando testi gli esempi. Prova a testare prima gli esempi localmente accedendo alla directory del progetto ed eseguendo:

Python
dev_appserver.py .
Node.js
npm install
npm start

Punta il browser su http://localhost:8080 per vedere l'app in esecuzione su un server locale. Eventuali modifiche apportate (e salvate) verranno rilevate automaticamente quando aggiorni la pagina.