Mit der Google App Engine können Sie eigene benutzerdefinierte Anwendungen auf den Servern von Google erstellen und ausführen. App Engine-Anwendungen lassen sich einfach erstellen, verwalten 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 die App Engine haben, sollten Sie sich vor dem Fortfahren die App Engine-Python- oder Node.js-Kurzanleitung ansehen.
Earth Engine und App Engine können zusammen verwendet werden, um skalierbare raumbezogene Anwendungen zu erstellen. Normalerweise 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 anmelden oder ein registrierter Earth Engine-Nutzer sein zu müssen. Die standardmäßigen Nutzungslimits von Earth Engine gelten für jedes Dienstkonto.
Ein weiterer Entwicklungsansatz besteht darin, anstelle eines Dienstkontos die clientseitige Authentifizierung zu verwenden. 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 die Earth Engine mit den Anmeldedaten des Endnutzers gesendet werden. Daher ist es weniger wahrscheinlich, dass Sie die Nutzungslimits erreichen. Das Problem besteht darin, dass sich Ihre Nutzer für Earth Engine registrieren und anmelden müssen, bevor sie die Anwendung verwenden können.
Das Verzeichnis mit App Engine-Demos für Earth Engine 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 erfahren Sie, wie Sie die von Ihnen erstellten Beispiele oder benutzerdefinierten Apps einrichten und bereitstellen.
App Engine-Anwendungen mit Earth Engine bereitstellen
In der folgenden Anleitung wird beschrieben, wie Sie die Demo-Apps bereitstellen. Die Python-Anleitungen sind für Mac OS und Linux gedacht. Wenn Sie Python unter Windows verwenden, probieren Sie Folgendes aus.
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
Mit einem Dienstkonto können Anfragen an Earth Engine im Namen der Person autorisiert werden, die Ihre App verwendet. Die Datei config.py
enthält den Authentifizierungscode mit der E-Mail-Adresse des Dienstkontos und einer privaten Schlüsseldatei. Wenn Sie die Authentifizierung mit einem Dienstkonto einrichten möchten, folgen Sie dieser Anleitung, um das Dienstkonto und die private Schlüsseldatei zu erstellen. Benennen Sie die Schlüsseldatei in .private-key.json
um und verschieben Sie sie in das Projektverzeichnis.
Python
Falls noch nicht geschehen, 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 Abhängigkeiten des Projekts, indem Sie npm install
ausführen. Die Earth Engine Node.js API und alle anderen Abhängigkeiten werden in einen Ordner ./node_modules
in Ihrem Projektverzeichnis kopiert. Wenn die Installation fehlschlägt, prüfen Sie, ob eine aktuelle Version von Node.js installiert ist.
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize();
OAuth 2.0-Client-ID
Wenn Nutzer sich als sie selbst authentifizieren sollen (und nicht über ein Dienstkonto), 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.js
muss im Verzeichnis/static/
(oder einem vergleichbaren Verzeichnis) verfügbar sein. Sie können die EE API direkt von GitHub herunterladen, über npm installieren oder, wenn Sie das gesamte EE API-Repository bereits geklont haben, ausearthengine-api/javascript/build
in Ihr lokales Dateisystem kopieren.
Lokale Entwicklungsumgebung einrichten
Python
Folgen Sie der Anleitung in jedem Beispielverzeichnis auf GitHub, um das Projekt herunterzuladen und zu erstellen. Wenn eine build.sh
-Datei vorhanden ist, führen Sie sie mit dem folgenden Befehl aus dem Stammverzeichnis der Anwendung aus:
./build.sh
Das Einrichtungsscript 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, ob die App Engine-Befehlszeilentools verfügbar sind, indem Sie Folgendes ausführen:
dev_appserver.py
Wenn der Befehl nicht gefunden wird, können Sie das Google App Engine SDK for Python manuell herunterladen und installieren. Wenn der Befehl verfügbar ist, sollte er mit der Fehlermeldung „error: too few arguments“ (Fehler: Zu wenige Argumente) fehlschlagen.
Node.js
Keine Einrichtung erforderlich.
Lokal ausführen
Sobald Ihr Dienstkonto für den Zugriff auf Earth Engine registriert ist, können Sie es zum Authentifizieren verwenden (siehe config.py
), wenn Sie die Beispiele testen. Testen Sie die Beispiele zuerst lokal. Gehen Sie dazu in das Projektverzeichnis und führen Sie Folgendes aus:
Python
dev_appserver.py .
Node.js
npm install npm start
Rufen Sie http://localhost:8080 in Ihrem Browser 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.