Befehlszeilentool

Das earthengine-Tool 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. Wenn Sie prüfen möchten, ob das Tool installiert und ordnungsgemäß funktioniert, geben Sie Folgendes in eine Befehlszeile ein:

    earthengine

Wenn das Tool richtig installiert ist, wird eine kurze Zusammenfassung der verfügbaren Befehle ausgegeben. So erhalten Sie Hilfe zu einem bestimmten Befehl:

    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 genauer beschrieben.

Dienstkonto-Anmeldedaten

Wenn Sie die Befehlszeile mit den Anmeldedaten eines Dienstkontos verwenden möchten, verwenden Sie das Flag service_account_file, um auf eine JSON-Datei mit dem Schlüssel des Dienstkontos zu verweisen.

    earthengine --service_account_file=service_account_creds.json

Verwendung in Colab

Das Earth Engine-Befehlszeilentool ist in Google Colab vorinstalliert und einsatzbereit.

Authentifizierung

Sie müssen sich für jede neue Colab-Sitzung authentifizieren oder wenn die virtuelle Maschine aufgrund von Inaktivität abläuft (Anmeldedaten werden nicht sitzungsübergreifend gespeichert).

Importiere die Python-Clientbibliothek und rufe ee.Authenticate() auf, um den Authentifizierungsablauf auszulösen. Folgen Sie der Anleitung, um die Authentifizierung abzuschließen. Die Standardauth_mode in Colab ist colab. Weitere Optionen finden Sie im Anleitung zur Authentifizierung.

import ee
ee.Authenticate()

Befehlsausführung

Wenn Sie Befehlszeilen-Dienstprogramme wie die Earth Engine-Befehlszeile ausführen möchten, müssen Sie Befehlsaufrufe mit einem Ausrufezeichen voranstellen.

!earthengine -h

Cloud-Projekt festlegen

Verwenden Sie die Option --project, um ein Cloud-Projekt für jeden einzelnen earthengine-Befehl festzulegen.

!earthengine --project my-project <command>

Alternativ können Sie mit dem Befehl set_project ein Standardprojekt festlegen, das von allen earthengine-Aufrufen verwendet werden soll. Das Projekt wird einer Anmeldedatendatei (~/.config/earthengine/credentials) hinzugefügt und für nachfolgende Befehle verwendet, sofern es nicht durch die Option --project überschrieben wird. Legen Sie ein Standardprojekt für jede neue Colab-Sitzung fest oder für den Fall, dass die virtuelle Maschine aufgrund von Inaktivität abläuft (Anmeldedaten werden nicht zwischen Sitzungen gespeichert).

!earthengine set_project my-project

Befehlsreferenz

Authentifizieren

Authentifiziert das Befehlszeilentool und die Python-Clientbibliothek bei Earth Engine. Beispiel:

    earthengine authenticate

In Earth Engine wird das OAuth 2.0-Protokoll zur Authentifizierung von Clients verwendet. Der Befehl „earthengine authenticate“ führt Sie durch den Authentifizierungsvorgang in Ihrem Webbrowser.

Wenn Sie den Standardauthentifizierungsmodus von gcloud verwenden, müssen Sie gcloud installieren. Weitere Authentifizierungsmodi, die über den Parameter auth_mode verfügbar sind, findest du im Authentifizierungsleitfaden.

acl

Die Access Control List (ACL) eines Earth Engine-Assets wird ausgegeben oder aktualisiert. Mit der ACL wird festgelegt, wer ein Asset lesen oder darauf schreiben darf. 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. Mit dem Unterbefehl set wird eine ACL festgelegt, die in einer Datei im selben JSON-Format bereitgestellt wird. Sie können eine ACL von einem Asset in andere kopieren, indem Sie die Ausgabe von get speichern und für set bereitstellen.

Der Unterbefehl „set“ akzeptiert auch zwei spezielle ACL-Namen:

  • private: Entfernt Berechtigungen von allen Nutzern mit Ausnahme des Inhabers.
  • public: Gewährt allen Nutzern Lesezugriff.

Mit dem Unterbefehl ch können Sie einzelne Änderungen an einer ACL vornehmen. Geben Sie -u username@gmail.com:R ein, um Leseberechtigungen zu gewähren, -u username@gmail.com:W, um Schreibberechtigungen zu gewähren, und -d username@gmail.com, um die Berechtigungen eines Nutzers zu entfernen. Mit der speziellen Nutzer-ID AllUsers können Sie allen Nutzern Leseberechtigungen gewähren oder entziehen. Hinweis: Wenn Sie AllUsers-Berechtigungen widerrufen, werden nicht zusätzliche Berechtigungen widerrufen, die Sie einzelnen Nutzern möglicherweise gewährt haben.

Asset

Hiermit werden Metadaten gedruckt oder aktualisiert, die mit einem Earth Engine-Asset verknüpft sind. 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, in JSON-Form aus. Mit dem Unterbefehl set werden einzelne Metadateneigenschaften für ein Asset festgelegt.

Die Werte der von Ihnen festgelegten Metadateneigenschaften können entweder Zahlen oder Strings sein. Wenn Sie Property-Namen mit dem Flag --property oder -p festlegen, trennen Sie den Property-Namen und den Wert mit einem Gleichheitszeichen. Der Datentyp wird automatisch erkannt. Sie können ihn auch explizit angeben, indem Sie dem Attributnamen das Präfix (string), (number) oder (date) voranstellen. So wird beispielsweise eine Stringeigenschaft 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. Sie sind je nach Shell und Plattform möglicherweise erforderlich.)

Wenn Sie eine Property löschen möchten, setzen Sie sie auf null ohne Typ:

    earthengine asset set -p name=null projects/my-project/assets/asset_id

Datumseigenschaften sind nur Zahlen, die die Anzahl der Millisekunden seit der Unix-Epoche (d. h. Mitternacht am 1. Januar 1970) 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. Sie können die speziellen Start- und Endzeiteigenschaften mit den Flags --time_start und --time_end 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 den Befehl collection, um Bildsammlungen zu erstellen. Sie können die Option -p angeben, um bei Bedarf rekursiv übergeordnete Ordner zu erstellen. Neu erstellte Ordner und Images haben standardmäßig private ACLs.

ls

Listet den Inhalt eines oder mehrerer Ordner oder Sammlungen auf. Beispiel:

    earthengine ls users/username

Mit der Option -l wird ein langes Format mit weiteren Informationen zu den einzelnen Assets angefordert (derzeit nur der Typ). Sie können --max_items number (oder kurz -m) angeben, um die Anzahl der Elemente aus jedem aufgelisteten Ordner oder jeder Sammlung zu begrenzen:

    earthengine ls -m 10 projects/my-project/assets/my_large_collection

Wenn Sie den Befehl ls ohne Argumente ausführen, werden die Ordner auf oberster Ebene aufgelistet, deren Eigentümer Sie sind.

Modell

Tool zum Manipulieren von in TensorFlow gespeicherten Modellen.

model prepare

Ein gespeichertes Modell für die Bereitstellung in Earth Engine vorbereiten Dabei wird Ihre SavedModel in eine Form umgewandelt, die 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 finden Sie ein vollständiges Beispiel.

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 die Werte der 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 berechtigt sind, die Einstellungen für die Batch-Aufgabe des Projekts aufzurufen, enthält die Ausgabe Folgendes:

  • maxConcurrentExports: Eine Zahl, die die maximale Anzahl von Batch-Aufgaben angibt, die für das betreffende Projekt parallel für alle Nutzer ausgeführt werden können. Standardmäßig ist dies auf den maximal zulässigen Wert des Aboplans des verknüpften Abrechnungskontos festgelegt.

Wenn Sie berechtigt sind, die Plankonfiguration aufzurufen, enthält die Ausgabe außerdem Folgendes:

  • planMaxConcurrentExports: eine Zahl, die die maximale Anzahl von Batch-Aufgaben angibt, die parallel für alle Nutzer und Projekte ausgeführt werden können, die das Abrechnungskonto verwenden.

set

Verwenden Sie den Unterbefehl set, um die Konfiguration des Projekts zu aktualisieren. Die folgenden Einstellungen können konfiguriert werden:

So konfigurieren Sie ein Projekt beispielsweise so, dass für das jeweilige Projekt immer nur zehn Aufgaben parallel ausgeführt werden dürfen:

    earthengine alpha project_config set --max_concurrent_exports=10

Die Ausgabe zeigt die aktualisierte Projektkonfiguration an, die mit get zurückgegeben wird.

Weitere Informationen zur Parallelisierung von Batch-Aufgaben finden Sie auf der Seite Earth Engine-Kontingente.

rm

Löscht eine 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 möchten, können Sie mit dem Flag --dry_run prüfen, was genau gelöscht wird, ohne etwas zu löschen.

set_project

Hiermit wird das Google Cloud-Projekt festgelegt, über das Verarbeitungsanfragen weitergeleitet werden.

    earthengine set_project foo-project

Dieser Befehl ist erforderlich, bevor Befehle ausgeführt werden, für die Cloud-Funktionen erforderlich sind, z. B. model.

Task (in computational context, see definition)

Druckt Informationen zu lang laufenden Aufgaben oder verwaltet sie. Beispiele:

    earthengine task list
    earthengine task list -l
    earthengine task info TASK_ID
    earthengine task cancel TASK_ID

Der Unterbefehl list enthält grundlegende Informationen zu den Aufgaben, die Sie in letzter Zeit eingereicht haben. Mit der Option -l wird ein langes Format mit mehr Informationen zu den einzelnen Aufgaben angefordert. Mit dem Unterbefehl info werden detaillierte Informationen zu einzelnen Aufgaben ausgegeben. Mit dem Unterbefehl cancel werden eine oder mehrere laufende Aufgaben abgebrochen.

upload

Hiermit werden Bilder oder Tabellen aus Google Cloud Storage in Earth Engine hochgeladen oder Assets erstellt, die von externen Bildern unterstützt werden.

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.

Sie können die Pyramidenreduktionsrichtlinie mit dem Flag --pyramiding_policy angeben. Dieses kann auf einen der folgenden Werte gesetzt werden: mean (Standard), sample, mode, min oder max. Damit wird gesteuert, wie die 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 dem --last_band_alpha können Sie angeben, dass die Maske für das Bild aus einem Alphakanal im letzten Band stammen 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 „Kein Datenwert“ angeben. Dadurch werden alle Pixel im Bild mit diesem Wert maskiert:

    earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif

Du kannst auch Metadateneigenschaften für das Asset angeben. Verwende dazu dieselben Flags, die vom oben beschriebenen Befehl asset set akzeptiert werden. Die Optionen werden auch im Leitfaden zum Image-Manifest beschrieben.

Tisch

Sie haben folgende Möglichkeiten, eine Shapefile-, CSV- oder TFRecord-Datei aus Google Cloud Storage in ein Earth Engine-Tabellen-Asset hochzuladen:

    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, wie CSV- und TFRecord-Dateien interpretiert werden. Eine vollständige Liste der Optionen für den Tabellenupload finden Sie im Leitfaden zum Tabellenmanifest oder mithilfe der folgenden Methoden:

    earthengine upload table -h

external_image

Wenn Sie ein Asset mit einem externen Image erstellen möchten, führen Sie den Befehl upload_image mit einem Manifest aus:

earthengine alpha upload external_image --manifest /tmp/foo.json

Ein Beispielmanifest:

{
  "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 Cloud GeoTIFF und im Leitfaden Image Manifest.