Das earthengine-Tool ist ein Dienstprogramm, mit dem Sie Earth Engine-Assets und ‑Aufgaben über die Befehlszeile verwalten können. Sie wird automatisch installiert, wenn Sie die Python API installieren. Geben Sie in der Befehlszeile Folgendes 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. Hilfe zu einem bestimmten Befehl erhalten Sie mit:
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 ausführlicher 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
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 Standard-auth_mode in Colab ist colab. Weitere Optionen finden Sie im Authentifizierungsleitfaden.
import ee
ee.Authenticate()
Befehlsausführung
Wenn Sie Befehlszeilen-Dienstprogramme wie die Earth Engine-Befehlszeile ausführen möchten, müssen Sie Befehlsaufrufen ein Ausrufezeichen voranstellen.
!earthengine -h
Cloud-Projekt festlegen
Verwenden Sie die Option --project, um für jeden einzelnen earthengine-Befehl ein Cloud-Projekt 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 Datei mit Anmeldedaten (~/.config/earthengine/credentials) hinzugefügt und für nachfolgende Befehle verwendet, sofern es nicht durch die Option --project
!earthengine set_project my-project
Befehlsreferenz
Authentifizieren
Authentifiziert das Befehlszeilentool und die Python-Clientbibliothek bei Earth Engine. Beispiel:
earthengine authenticate
Earth Engine verwendet das OAuth 2.0-Protokoll zur Authentifizierung von Clients. Der Befehl „earthengine authenticate“ führt Sie über Ihren Webbrowser durch den Authentifizierungsprozess.
Wenn Sie den Standardauthentifizierungsmodus von gcloud verwenden, müssen Sie gcloud installieren. Weitere Authentifizierungsmodi, die über den Parameter auth_mode verfügbar sind, finden Sie im Authentifizierungsleitfaden.
acl
Gibt die Access Control List (ACL) eines Earth Engine-Assets aus oder aktualisiert sie. Die ACL steuert, wer ein Asset lesen oder 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. 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 die Berechtigungen aller Nutzer außer dem Eigentümer.public: Gewährt allen Nutzern Leseberechtigungen.
Mit dem Unterbefehl ch können Sie einzelne Änderungen an einer ACL vornehmen. Wenn Sie eine Leseberechtigung gewähren möchten, geben Sie -u username@gmail.com:R an. Wenn Sie eine Schreibberechtigung gewähren möchten, geben Sie -u username@gmail.com:W an. Wenn Sie die Berechtigungen eines Nutzers entfernen möchten, geben Sie -d
username@gmail.com an. Mit der speziellen Nutzer-ID AllUsers können Sie allen Nutzern die Leseberechtigung erteilen oder entziehen. (Hinweis: Durch das Widerrufen von AllUsers-Berechtigungen werden keine zusätzlichen Berechtigungen widerrufen, die Sie möglicherweise auch einzelnen Nutzern gewährt haben.)
Asset
Gibt Metadaten aus, die mit einem Earth Engine-Asset verknüpft 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
earthengine asset setbands projects/my-project/assets/asset_id band1 band2
Der Unterbefehl info gibt detaillierte Informationen zum Asset, einschließlich seiner Metadaten, im JSON-Format aus. Mit dem Unterbefehl set werden einzelne Metadatenattribute für ein Asset festgelegt. Mit dem Unterbefehl setbands werden die Bandnamen eines Assets aktualisiert.
Die Werte der von Ihnen festgelegten Metadatenattribute können entweder Zahlen oder Strings sein.
Wenn Sie Attributnamen mit dem Flag --property oder -p festlegen, trennen Sie den Attributnamen und den Wert durch ein Gleichheitszeichen. Der Datentyp wird automatisch erkannt. Sie können ihn aber auch explizit angeben, indem Sie dem Attributnamen das Präfix (string), (number) oder (date) voranstellen. Im folgenden Beispiel wird eine String-Attribut 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 nicht erforderlich.)
Wenn Sie spezielle Attribute für Visualisierungen von Klassifizierungsbändern erstellen möchten, können Sie die Listen mit Werten und Farben als kommagetrennte Strings speichern. So legen Sie beispielsweise die Paletten- und Klassenwerte für ein Band mit dem Namen landcover fest:
earthengine asset set -p 'landcover_class_palette=ff0000,00ff00,0000ff' projects/my-project/assets/asset_id
earthengine asset set -p 'landcover_class_values=1,2,3' projects/my-project/assets/asset_id
Wenn Sie ein Attribut löschen möchten, legen Sie es ohne Typ auf null fest:
earthengine asset set -p name=null projects/my-project/assets/asset_id
Datumsattribute sind nur Zahlen, die eine Anzahl von 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
Als Zeitzone wird UTC angenommen. Sie können die speziellen Start- und Endzeit-Attribute 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 Bildersammlungen. 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. Sie können die Option -p angeben, um übergeordnete Ordner nach Bedarf rekursiv zu erstellen. 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
Mit der Option -l wird ein langes Format mit weiteren Informationen zu jedem Asset angefordert (derzeit nur der Typ). Sie können --max_items number (oder kurz -m) angeben, um die Anzahl der Elemente aus jedem Ordner oder jeder Sammlung zu 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 auf oberster Ebene aufgelistet, deren Inhaber Sie sind.
Modell
Tool zum Bearbeiten von gespeicherten TensorFlow-Modellen.
model prepare
Gespeichertes Modell für die Bereitstellung in Earth Engine vorbereiten Konkret 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 KI-Plattform-Modellen 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 Projektkonfigurationswerte 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 zum Aufrufen der Batch-Aufgabeneinstellungen des Projekts haben, 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 hier der maximal zulässige Wert des Abos des zugehörigen Rechnungskontos festgelegt.
Wenn Sie außerdem die Berechtigung zum Aufrufen der Plankonfiguration haben, enthält die Ausgabe Folgendes:
planMaxConcurrentExports: Eine Zahl, die die maximale Anzahl von Batchaufgaben angibt, die parallel für alle Nutzer und Projekte ausgeführt werden können, die das Rechnungskonto verwenden.
festgelegt
Verwenden Sie den Unterbefehl set, um die Konfiguration des Projekts zu aktualisieren. Die folgenden Einstellungen können konfiguriert werden:
max_concurrent_exports, um die maximale Parallelität von Batchaufgaben des Projekts zu steuern- erfordert die richtigen Berechtigungen
So konfigurieren Sie beispielsweise ein Projekt so, dass für das angegebene Projekt immer nur 10 Aufgaben parallel ausgeführt werden können:
earthengine alpha project_config set --max_concurrent_exports=10
In der Ausgabe wird die aktualisierte Projektkonfiguration angezeigt, die mit der Ausgabe von get 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 dass tatsächlich etwas gelöscht wird.
set_project
Legt das Google Cloud-Projekt fest, über das Berechnungsanfragen weitergeleitet werden.
earthengine set_project foo-project
Dieser Befehl ist erforderlich, bevor Befehle ausgeführt werden, die Cloud-Funktionen erfordern, z. B. model.
Task (in computational context, see definition)
Gibt Informationen zu Aufgaben mit langer Ausführungszeit 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 vor Kurzem gesendet haben. Mit der Option -l wird ein langes Format mit mehr Informationen zu jeder Aufgabe angefordert. Der Unterbefehl info gibt detaillierte Informationen zu einzelnen Aufgaben aus. Mit dem Unterbefehl cancel werden eine oder mehrere laufende Aufgaben abgebrochen.
upload
Lädt Bilder oder Tabellen aus Google Cloud Storage in Earth Engine hoch oder registriert Cloud Optimized GeoTIFFs (COGs) in Cloud Storage als COG-gestützte Assets (externe Bilder).
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 für das 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, das auf einen der folgenden Werte festgelegt werden kann: mean (Standard), sample, mode, min oder max. Damit wird gesteuert, wie die Earth Engine die Pyramide der 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 entnommen 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 fehlende Daten 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
Sie können auch Metadatenattribute angeben, die für das Asset festgelegt werden sollen. Verwenden Sie dazu dieselben Flags, die vom Befehl asset set akzeptiert werden, wie oben beschrieben.
Die Optionen werden auch im Leitfaden Image-Manifest beschrieben.
Tabelle
Wenn Sie eine Shapefile-, CSV- oder TFRecord-Datei aus Google Cloud Storage in ein Earth Engine-Tabellen-Asset hochladen möchten, haben Sie folgende Möglichkeiten:
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 für den Tabellenupload finden Sie im Leitfaden Tabellenmanifest oder mit:
earthengine upload table -h
external_image
Wenn Sie ein Cloud Optimized GeoTIFF (COG) in Cloud Storage als COG-gestütztes Asset (in der API als externes Bild bezeichnet) registrieren möchten, führen Sie den Befehl upload external_image mit einem Manifest aus:
earthengine upload external_image --manifest /tmp/foo.json
Fügen Sie --force hinzu, um ein vorhandenes Asset zu überschreiben, z. B. um es auf eine neue Version der Datei zu verweisen (siehe COG-gestützte Assets aktualisieren).
Hier 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 zur COG-Registrierung und im Leitfaden zum Bildmanifest.