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 esigenze di traffico e spazio di archiviazione dei dati che cambiano. Ti basta caricare il codice sorgente dell'applicazione ed è tutto pronto. Se non hai mai sviluppato per App Engine, prima di procedere consulta la guida rapida di App Engine Python o Node.js.

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

Un altro approccio di sviluppo consiste nell'utilizzare l'autenticazione lato client anziché un service account. Con questo approccio, i visitatori della tua applicazione devono essere registrati per Earth Engine ed eseguire 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. La sfida è che gli utenti devono registrarsi a Earth Engine ed eseguire l'accesso 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. Per una breve descrizione di ogni esempio, consulta la pagina App di esempio. Questo documento fornisce istruzioni su come configurare ed eseguire il deployment degli esempi o delle app personalizzate che crei.

Eseguire il deployment delle app App Engine con Earth Engine

Le seguenti istruzioni spiegano come eseguire il deployment delle app demo. Le istruzioni Python sono destinate a Mac OS e Linux. Se utilizzi Python su Windows, prova questa soluzione.

Abilitare l'API Earth Engine nel progetto Google Cloud

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

Configurare le credenziali

Service account

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

Python

Se non l'hai già fatto, prima configura l'API Python di Earth Engine. Testa il service account seguendo queste istruzioni.

Se il test ha esito positivo, aggiorna config.py (o un file equivalente nel codice sorgente ) con l'indirizzo email del tuo service account. (Il percorso del file di chiave non deve cambiare poiché si trova nella directory del progetto).

Node.js

Installa le dipendenze del progetto eseguendo npm install. L'API Node.js di Earth Engine e tutte le altre dipendenze verranno copiate in una ./node_modules cartella nella directory del progetto. Se l'installazione non riesce, verifica che una versione recente di Node.js sia installata. Autentica e inizializza la libreria, sostituendo my-project con l'ID del progetto Google Cloud:

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

ID client OAuth 2.0

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

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

Configurare l'ambiente di sviluppo locale

Python

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

./build.sh

Lo script di configurazione scaricherà le dipendenze e installerà gli strumenti da riga di comando di Google, se non esistono già 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 da riga di comando di App Engine siano disponibili eseguendo:

dev_appserver.py

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

Node.js

Non è necessaria alcuna configurazione.

Eseguire in locale

Una volta registrato il tuo service account per l'accesso a Earth Engine, puoi utilizzarlo per l'autenticazione (vedi config.py) quando testi gli esempi. Prova a testare gli esempi localmente andando nella directory del tuo 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. Tutte le modifiche apportate (e salvate) verranno automaticamente rilevate quando aggiorni la pagina.