Mit Google App Engine können Sie Ihre eigenen benutzerdefinierten Anwendungen auf den Servern von Google erstellen und ausführen. App Engine-Anwendungen lassen sich einfach erstellen, pflegen und skalieren, wenn sich Traffic und Datenspeicheranforderungen ändern. Sie laden einfach den Quellcode Ihrer Anwendung hoch und schon kann es losgehen. Wenn Sie noch keine Erfahrung mit der Entwicklung für App Engine haben, sollten Sie sich vorab die App Engine-Kurzanleitung für Python oder Node.js ansehen.
Earth Engine und App Engine können zusammen verwendet werden, um skalierbare raumbezogene Anwendungen zu erstellen. In der Regel enthält Ihr App Engine-Code die Earth Engine Python-Clientbibliothek und sendet Anfragen an das Earth Engine-Backend über ein Dienstkonto. Das ist von Vorteil, da jeder Ihre App verwenden kann, ohne sich anzumelden oder ein registrierter Earth Engine-Nutzer zu sein. Die standardmäßigen Earth Engine-Nutzungslimits gelten für jedes Dienstkonto.
Eine weitere Entwicklungsmethode ist die Verwendung der clientseitigen Authentifizierung anstelle eines Dienstkontos. Bei diesem Ansatz müssen Besucher Ihrer Anwendung für Earth Engine registriert sein und sich anmelden. Der Vorteil dieses Ansatzes besteht darin, dass Anfragen an Earth Engine mit den Anmeldedaten des Endnutzers gestellt werden. Daher ist es weniger wahrscheinlich, dass Sie Nutzungslimits erreichen. Die Herausforderung besteht darin, dass sich Ihre Nutzer für Earth Engine registrieren und anmelden müssen, bevor sie die Anwendung verwenden können.
Das Earth Engine App Engine-Demoverzeichnis auf GitHub enthält eine Reihe nützlicher App Engine-Beispiele. Auf der Seite mit Beispiel-Apps finden Sie eine kurze Beschreibung der einzelnen Beispiele. In diesem Dokument wird beschrieben, wie Sie die Beispiele oder benutzerdefinierten Apps, die Sie erstellen, einrichten und bereitstellen.
App Engine-Anwendungen mit Earth Engine bereitstellen
In der folgenden Anleitung wird beschrieben, wie Sie die Demo-Apps bereitstellen. Die Python-Anleitung ist für Mac OS und Linux vorgesehen. Wenn Sie Python unter Windows verwenden, versuchen Sie es so.
Earth Engine API in Ihrem Google Cloud-Projekt aktivieren
Erstellen Sie ein Google Cloud-Projekt oder wählen Sie eins aus und aktivieren Sie die Earth Engine API gemäß dieser Anleitung.
Anmeldedaten einrichten
Dienstkonto
Ein Dienstkonto kann verwendet werden, um Anfragen an Earth Engine im Namen des Nutzers Ihrer App zu autorisieren. Die Datei config.py enthält Authentifizierungscode mit der E-Mail-Adresse des Dienstkontos und einer Datei mit dem privaten Schlüssel. Wenn Sie die Authentifizierung mit einem Dienstkonto einrichten möchten, folgen Sie dieser Anleitung, um das Dienstkonto und die Datei mit dem privaten Schlüssel zu erstellen. Nennen Sie die Schlüsseldatei .private-key.json und verschieben Sie sie in Ihr Projektverzeichnis.
Python
Wenn Sie es noch nicht getan haben, richten Sie zuerst die Earth Engine Python API ein. Testen Sie das Dienstkonto gemäß dieser Anleitung.
Wenn der Test erfolgreich ist, aktualisieren Sie config.py (oder eine entsprechende Datei in Ihrem Quellcode) mit der E-Mail-Adresse Ihres Dienstkontos. Der Pfad zur Schlüsseldatei sollte sich nicht ändern, da sie sich in Ihrem Projektverzeichnis befindet.
Node.js
Installieren Sie die Projektabhängigkeiten mit dem Befehl npm install. Die Earth Engine Node.js API und alle anderen Abhängigkeiten werden in einen ./node_modules-Ordner in Ihrem Projektverzeichnis kopiert. Wenn die Installation fehlschlägt, prüfen Sie, ob eine aktuelle Version von Node.js installiert ist. Authentifizieren und initialisieren Sie die Bibliothek und ersetzen Sie my-project durch Ihre Google Cloud-Projekt-ID:
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize(null, null, null, null, null, 'my-project');
OAuth 2.0-Client-ID
Wenn sich Nutzer selbst authentifizieren sollen (anstatt ein Dienstkonto zu verwenden), müssen Sie eine OAuth-Client-ID in Ihrem Cloud-Projekt einrichten. Gehen Sie hierzu folgendermaßen vor:
- Richten Sie eine Client-ID gemäß dieser Anleitung ein.
- Aktualisieren Sie
static/script.js(oder eine entsprechende Datei in Ihrem Quellcode), um Ihre Client-ID zu verwenden. ee_api_js.jsmuss im Verzeichnis/static/(oder einem entsprechenden Verzeichnis) verfügbar sein. Sie können es direkt von GitHub herunterladen, über npm installieren oder, wenn Sie das gesamte EE API-Repository bereits geklont haben, ausearthengine-api/javascript/buildin Ihr lokales Dateisystem kopieren.
Lokale Entwicklungsumgebung einrichten
Python
Folgen Sie der Anleitung in den einzelnen Beispielverzeichnissen auf GitHub, um das Projekt herunterzuladen und zu erstellen. Wenn eine build.sh-Datei vorhanden ist, führen Sie sie mit dem folgenden Befehl im Stammordner Ihrer Anwendung aus:
./build.sh
Das Setupscript lädt Abhängigkeiten herunter und installiert Google-Befehlszeilentools, sofern sie noch nicht auf Ihrem System vorhanden sind. Die Earth Engine Python API und ihre Abhängigkeiten werden in einen ./lib-Ordner in Ihrem Projektverzeichnis kopiert.
Prüfen Sie mit dem folgenden Befehl, ob die App Engine-Befehlszeilentools verfügbar sind:
dev_appserver.py
Wenn der Befehl nicht gefunden wird, laden Sie das Google App Engine SDK für Python manuell herunter und installieren Sie es. Wenn der Befehl verfügbar ist, sollte er mit „error: too few arguments“ (Fehler: zu wenige Argumente) fehlschlagen.
Node.js
Keine Einrichtung erforderlich.
Lokal ausführen
Sobald Ihr Dienstkonto für den Earth Engine-Zugriff registriert ist, können Sie es zur Authentifizierung verwenden (siehe config.py), wenn Sie die Beispiele testen. Testen Sie die Beispiele zuerst lokal, indem Sie in Ihr Projektverzeichnis wechseln und Folgendes ausführen:
Python
dev_appserver.py .
Node.js
npm install npm start
Rufen Sie in Ihrem Browser http://localhost:8080 auf, um die Anwendung auf einem lokalen Server auszuführen. Alle Änderungen, die Sie vornehmen und speichern, werden automatisch übernommen, wenn Sie die Seite aktualisieren.