Das Tool earthengine ist ein Dienstprogramm, mit dem Sie Earth Engine-Assets und ‑Aufgaben über die Befehlszeile verwalten können. Es wird automatisch installiert, wenn Sie die Python API installieren. Geben Sie Folgendes in der Befehlszeile ein, um zu prüfen, ob das Tool installiert ist und ordnungsgemäß funktioniert:
earthengine
Wenn das Tool ordnungsgemäß installiert ist, wird eine kurze Zusammenfassung der verfügbaren Befehle ausgegeben. So rufen Sie Hilfe zu einem bestimmten Befehl auf:
earthengine command -h
Wenn Sie die Python API zum ersten Mal installieren, müssen Sie sich mit dem unten beschriebenen Befehl authenticate anmelden. In den folgenden Abschnitten werden die verfügbaren Befehle näher beschrieben.
Anmeldedaten des Dienstkontos
Wenn Sie die CLI mit den Anmeldedaten eines Dienstkontos verwenden möchten, geben Sie mit dem Flag service_account_file eine JSON-Datei mit dem Schlüssel des Dienstkontos an.
earthengine --service_account_file=service_account_creds.json
Verwendung in Colab
Das Earth Engine-Befehlszeilentool ist in Google Colab vorinstalliert und kann sofort verwendet werden.
Authentifizierung
Authentifizieren Sie sich für jede neue Colab-Sitzung oder wenn die virtuelle Maschine aufgrund von Inaktivität abläuft (Anmeldedaten werden nicht sitzungsübergreifend gespeichert).
Importieren Sie die Python-Clientbibliothek und rufen Sie ee.Authenticate() auf, um den Authentifizierungsablauf auszulösen. Folgen Sie der Anleitung, um die Authentifizierung abzuschließen. Der Standardwert
auth_mode in Colab ist colab. Weitere Optionen finden Sie im
Authentifizierungsleitfaden
.
import ee
ee.Authenticate()
Befehlsausführung
Wenn Sie Befehlszeilenprogramme wie die Earth Engine CLI ausführen möchten, müssen Sie den Befehlsaufrufen ein Ausrufezeichen voranstellen.
!earthengine -h
Cloud-Projekt festlegen
Mit der Option --project können Sie für jeden einzelnen earthengine-Befehl ein Cloud-Projekt festlegen.
!earthengine --project my-project <command>
Alternativ können Sie ein Standardprojekt festlegen, das für alle earthengine
Aufrufe mit dem set_project Befehl verwendet werden soll. Das Projekt wird hinzugefügt
zu einer Anmeldedatendatei (~/.config/earthengine/credentials) und verwendet für
nachfolgende Befehle, sofern es nicht durch die Option --project
!earthengine set_project my-project
Befehlsreferenz
Authentifizieren
Authentifiziert das Befehlszeilentool und die Python-Clientbibliothek für Earth Engine. Beispiel:
earthengine authenticate
Earth Engine verwendet das OAuth 2.0-Protokoll zur Authentifizierung von Clients. Mit dem Befehl `earthengine authenticate` werden Sie über Ihren Webbrowser durch den Authentifizierungsprozess geführt.
Wenn Sie den Standardauthentifizierungsmodus von gcloud verwenden, müssen Sie gcloud installieren, wenn. Weitere Authentifizierungsmodi
, die über den auth_mode Parameter im Authentifizierungs
leitfaden verfügbar sind, finden Sie im Authentifizierungsleitfaden.
acl
Gibt die Zugriffssteuerungsliste (Access Control List, ACL) eines Earth Engine-Assets aus oder aktualisiert sie. Die ACL steuert, wer ein Asset lesen oder in ein Asset schreiben kann. Beispiele:
earthengine acl get projects/my-project/assets/asset_id
earthengine acl set public projects/my-project/assets/asset_id
earthengine acl ch -u username@gmail.com:R projects/my-project/assets/asset_id
Der Unterbefehl get gibt eine JSON-Beschreibung der ACL aus. Der Unterbefehl set legt eine ACL fest, die in einer Datei mit demselben JSON-Format bereitgestellt wird. Sie können eine ACL von einem Asset in andere kopieren, indem Sie die Ausgabe von get speichern und an set übergeben.
Der Unterbefehl `set` akzeptiert auch zwei spezielle ACL-Namen:
private: Entfernt Berechtigungen für alle Nutzer außer dem Inhaber.public: Gewährt allen Nutzern Leseberechtigung.
Mit dem Unterbefehl ch können Sie einzelne Änderungen an einer ACL vornehmen. Geben Sie -u username@gmail.com:R an, um Leseberechtigung
zu gewähren, um Schreibberechtigung
-u username@gmail.com:W zu gewähren, und -d
username@gmail.com an, um die Berechtigungen eines Nutzers zu entfernen. Mit der speziellen Nutzer-ID AllUsers können Sie allen Nutzern Leseberechtigung gewähren oder entziehen. Hinweis: Wenn Sie die Berechtigungen von AllUsers entziehen, werden keine zusätzlichen Berechtigungen entzogen, die Sie einzelnen Nutzern möglicherweise gewährt haben.
Asset
Gibt Metadaten aus, die einem Earth Engine-Asset zugeordnet sind, oder aktualisiert sie. Beispiele:
earthengine asset info projects/my-project/assets/asset_id
earthengine asset set -p name=value projects/my-project/assets/asset_id
Der Unterbefehl info gibt detaillierte Informationen zum Asset, einschließlich seiner Metadaten, im JSON-Format aus. Mit dem Unterbefehl set werden einzelne Metadateneigenschaften für ein Asset festgelegt.
Die Werte der von Ihnen festgelegten Metadateneigenschaften können Zahlen oder Strings sein.
Wenn Sie Eigenschaftsnamen mit dem Flag --property oder -p festlegen, trennen Sie den
Eigenschaftsnamen und den Wert durch ein Gleichheitszeichen. Der Datentyp wird automatisch erkannt. Sie können ihn aber auch explizit angeben, indem Sie dem Eigenschaftsnamen (string), (number) oder (date) voranstellen. Damit wird beispielsweise eine String-Eigenschaft
mit dem Wert "42" festgelegt:
earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id
Die Anführungszeichen in diesem Beispiel verhindern, dass die Shell die Klammern interpretiert. Je nach Shell und Plattform sind sie möglicherweise erforderlich.
Wenn Sie eine Eigenschaft löschen möchten, legen Sie sie ohne Typ auf null fest:
earthengine asset set -p name=null projects/my-project/assets/asset_id
Datumseigenschaften sind nur Zahlen, die eine Anzahl von Millisekunden seit der Unix-Epoche (d. h. seit dem 1. Januar 1970, 0:00 Uhr) darstellen. Sie können direkt als Zahl oder in einem der folgenden Formate angegeben werden:
YYYY-MM-DD
YYYY-MM-DDThh:mm:ss
YYYY-MM-DDThh:mm:ss.f
Die Zeitzone wird als UTC angenommen. Mit den Flags --time_start und --time_end können Sie die speziellen Eigenschaften für Start- und Endzeit festlegen:
earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id
cp
Kopiert ein Asset. Beispiel:
earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
create
Erstellt neue Ordner und Bildsammlungen. Beispiel:
earthengine create folder projects/my-project/assets/folder_id
earthengine create collection projects/my-project/assets/collection_id
Verwenden Sie den Unterbefehl folder, um Ordner zu erstellen, und collection, um Bildsammlungen zu erstellen. Mit der Option -p können Sie übergeordnete Ordner rekursiv erstellen, falls erforderlich. Neu erstellte Ordner und Bilder haben standardmäßig private ACLs.
ls
Listet den Inhalt eines oder mehrerer Ordner oder Sammlungen auf. Beispiel:
earthengine ls users/username
Die Option -l fordert ein langes Format mit weiteren Informationen zu jedem Asset an (derzeit nur der Typ). Mit --max_items number (oder -m für
kurz) können Sie die Anzahl der Elemente aus jedem Ordner oder jeder Sammlung begrenzen, die Sie auflisten:
earthengine ls -m 10 projects/my-project/assets/my_large_collection
Wenn Sie den Befehl ls ohne Argumente ausführen, werden die Ordner der obersten Ebene aufgelistet, deren Inhaber Sie sind.
Modell
Tool zum Bearbeiten gespeicherter TensorFlow-Modelle.
model prepare
Bereitet ein gespeichertes Modell für die Bereitstellung in Earth Engine vor. Dazu wird Ihr SavedModel in ein Format umgewandelt, das für die Verarbeitung von Anfragen von Earth Engine geeignet ist. (Weitere Informationen zu
SavedModel.)
earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'
Weitere Informationen zu AI Platform-Modellen hier. Ein vollständiges Beispiel finden Sie hier.
mv
Verschiebt oder benennt ein Asset um. Beispiel:
earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
project_config
Legt Werte für die Projektkonfiguration fest. Bevor Sie diesen Befehl verwenden, müssen Sie mit set_project ein
Projekt festlegen.
get
Verwenden Sie den Unterbefehl get, um eine Projektkonfiguration aufzurufen:
earthengine alpha project_config get
Wenn Sie die Berechtigung haben, die Einstellungen für Batchaufgaben des Projekts aufzurufen, enthält die Ausgabe Folgendes:
maxConcurrentExports: Eine Zahl, die die maximale Anzahl von Batchaufgaben angibt, die für das angegebene Projekt parallel für alle Nutzer ausgeführt werden können. Standardmäßig ist dieser Wert auf das Maximum festgelegt, das im Abo des zugehörigen Abrechnungskontos zulässig ist.
planMaxConcurrentExports: Eine Zahl, die die maximale Anzahl von Batchaufgaben angibt, die für alle Nutzer und Projekte, die das Abrechnungskonto verwenden, parallel ausgeführt werden können.
set
Verwenden Sie den Unterbefehl set, um die Konfiguration des Projekts zu aktualisieren. Die folgenden Einstellungen können konfiguriert werden:
max_concurrent_exports: Steuert die maximale Parallelität von Batchaufgaben des Projekts- Erfordert die richtigen Berechtigungen
So konfigurieren Sie beispielsweise ein Projekt so, dass für das angegebene Projekt maximal 10 Aufgaben parallel ausgeführt werden können:
earthengine alpha project_config set --max_concurrent_exports=10
Die Ausgabe zeigt die aktualisierte Projektkonfiguration, die mit der von
get zurückgegebenen identisch ist.
Weitere Informationen zur Parallelität von Batchaufgaben finden Sie auf der Seite Earth Engine Kontingente.
rm
Löscht ein oder mehrere Assets. Beispiel:
earthengine rm projects/my-project/assets/asset_id
earthengine rm -r projects/my-project/assets/folder_id
Mit dem Flag -r können Sie den Inhalt eines Ordners oder einer Sammlung rekursiv löschen. Wenn Sie mehrere Assets löschen, können Sie mit dem Flag --dry_run genau prüfen, was gelöscht wird, ohne tatsächlich etwas zu löschen.
set_project
Legt das Google Cloud-Projekt fest, über das Berechnungsanfragen weitergeleitet werden.
earthengine set_project foo-project
Dieser Befehl ist erforderlich, bevor Sie Befehle ausführen, die Cloud
Funktionen erfordern, z. B. model.
Aufgabe
Gibt Informationen zu zeitaufwendigen Aufgaben aus oder verwaltet sie. Beispiele:
earthengine task list
earthengine task list -l
earthengine task info TASK_ID
earthengine task cancel TASK_ID
Der Unterbefehl list listet grundlegende Informationen zu den Aufgaben auf, die Sie kürzlich gesendet haben. Die Option -l fordert ein langes Format mit weiteren Informationen zu jeder Aufgabe an. Der Unterbefehl info gibt detaillierte Informationen zu einzelnen Aufgaben aus. Mit dem Unterbefehl cancel werden ein oder mehrere laufende Aufgaben abgebrochen.
upload
Lädt Bilder oder Tabellen aus Google Cloud Storage in Earth Engine hoch oder erstellt Assets, die auf externen Bildern basieren.
Image
So laden Sie ein Bild-Asset mit den Standardeinstellungen hoch:
earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif
Wenn Sie mehrere Eingabebilddateien angeben, werden sie als Kacheln eines einzelnen Bild-Assets interpretiert. Weitere Informationen zu den Optionen zum Hochladen von Bildern in Earth Engine finden Sie unter Bild-Assets hochladen: Erweiterte Optionen.
Mit dem Flag --pyramiding_policy können Sie die Richtlinie für die Pyramidenreduktion angeben. Sie kann auf einen der folgenden Werte festgelegt werden: mean (Standard), sample, mode, min oder max. Damit wird gesteuert, wie Earth Engine die Pyramide mit Versionen Ihres Bildes mit niedrigerer Auflösung generiert:
earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif
Mit --last_band_alpha können Sie angeben, dass die Maske für das Bild aus einem Alphakanal im letzten Band übernommen werden soll:
earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif
Mit dem Flag --nodata_value können Sie einen Wert für „Keine Daten“ angeben. Damit werden alle Pixel im Bild mit diesem Wert maskiert:
earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif
Sie können auch Metadateneigenschaften angeben, die für das Asset festgelegt werden sollen. Verwenden Sie dazu dieselben
Flags, die vom asset set Befehl oben beschrieben akzeptiert werden.
Die Optionen werden auch im
Leitfaden zum Bildmanifest
beschrieben.
Tabelle
Wenn Sie eine Shapefile, CSV-Datei oder TFRecord-Datei aus Google Cloud Storage in ein Earth Engine-Tabellen-Asset hochladen möchten, können Sie eine der folgenden Optionen verwenden:
earthengine upload table --asset_id=projects/my-project/assets/myUploadedShapefile gs://bucket/foo.shp
earthengine upload table --asset_id=projects/my-project/assets/myUploadedCSV gs://bucket/foo.csv
earthengine upload table --asset_id=projects/my-project/assets/myUploadedTFRecord gs://bucket/foo.tfrecord
Es gibt viele Optionen für die Interpretation von CSV- und TFRecord-Dateien. Eine vollständige Liste der Optionen zum Hochladen von Tabellen finden Sie im Leitfaden zum Tabellenmanifest oder mit dem folgenden Befehl:
earthengine upload table -h
external_image
Führen Sie den Befehl upload_image mit einem Manifest aus, um ein Asset zu erstellen, das auf einem externen Bild basiert:
earthengine upload external_image --manifest /tmp/foo.json
Ein Beispiel für ein Manifest:
{
"name": "projects/{project}/assets/cogdemo1",
"tilesets": [
{ "id": "0", "sources": [{ "uris": ["gs://ee-docs-demos/COG_demo.tif"] }] }
],
"properties": {
"source": "https://code.earthengine.google.com/d541cf8b268b2f9d8f834c255698201d"
},
"startTime": "2016-01-01T00:00:00.000000000Z",
"endTime": "2016-12-31T15:01:23.000000000Z"
}
Weitere Informationen zum Erstellen des Manifests finden Sie im Leitfaden zu Cloud GeoTIFF und im Leitfaden zum Bildmanifest.