Befehlszeilentool

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 überschrieben wird. Legen Sie für jede neue Colab-Sitzung ein Standardprojekt fest oder wenn die virtuelle Maschine aufgrund von Inaktivität abläuft (Anmeldedaten werden nicht sitzungsübergreifend gespeichert).

!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:

Wenn Sie außerdem die Berechtigung haben, die Plankonfiguration aufzurufen, enthält die Ausgabe Folgendes:

  • 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:

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.