Assets verwalten

Earth Engine-Assets sind raumbezogene Daten, die dem Projekt gehören und auf der Plattform gespeichert sind. Sie können eigene Daten hochladen und Daten aus Ihren Earth Engine-Analysen als Assets speichern.

Asset-Typen

Earth Engine bietet verschiedene Asset-Formate für verschiedene Datentypen sowie Containerelemente zur Organisation.

Asset-Typen
Image Ein Raster, eine gitterbasierte Darstellung geografischer Informationen, bei der jede Zelle im Raster einen Wert enthält, der einem bestimmten Ort auf der Erdoberfläche entspricht.
ImageCollection Eine Sammlung ähnlicher Rasterbilder, die ein Mosaik oder eine Zeitreihe bilden. Funktionell ähnelt es einem Ordner, kann aber als ee.ImageCollection-Objekt in Earth Engine importiert werden und enthält eine Reihe von Methoden zum Filtern und Analysieren.
Table Eine Tabellendatenstruktur, die aus Vektorfeatures (Zeilen) besteht, die jeweils eine Reihe von Eigenschaften (Spalten) enthalten. Es wird durch das ee.FeatureCollection-Objekt dargestellt, das eine Reihe von Methoden zum Filtern und Analysieren enthält.
Classifier Ein trainiertes Earth Engine-Modell für maschinelles Lernen. Es wird durch das ee.Classifier-Objekt dargestellt, das eine Reihe von Methoden für die Anwendung und Analyse enthält.
FeatureView Eine Visualisierungsansicht einer Tabelle für die Verwendung in Earth Engine-Apps.
Folder Ein Container für Assets und zusätzliche Ordner zur Organisation.

Asset-Organisation

Earth Engine-Assets sind in einem hierarchischen System von Ordnern und Sammlungen organisiert. Die Struktur ähnelt gängigen Dateisystemen.

Root

Assets gehören zu einem Cloud-Projekt. Der Projektname definiert das Stammverzeichnis des Asset-Verzeichnisses. Beispielsweise ist projects/my-project/assets der Stammknoten von my-project. Alle Assets, die zu my-project gehören, befinden sich im Ordner projects/my-project/assets oder in einem Unterordner (oder einer ImageCollection) darin.

.

Verzeichnis

In Earth Engine werden Assets in einer verschachtelten Verzeichnisstruktur organisiert. Jedes Cloud-Projekt hat ein Stammverzeichnis, das einzelne Assets und Ordner enthalten kann. „ImageCollections“ sind ein spezieller Asset-Typ, der speziell für Gruppen ähnlicher Bilder wie Zeitreihen oder Mosaike entwickelt wurde. Im Gegensatz zu Ordnern können Bildsammlungen nur Bild-Assets enthalten und keine anderen Ordner oder Sammlungen verschachteln.

  • folder_dataprojects/my-project/assets/
    • folder folder-name/
      • photo Bildname
      • Tabellenname view_comfy
      • satellite-featureview-name
      • bubble_chart Klassifikatorname
      • photo_library imagecollection-name/
        • photo image-name-1
        • photo image-name-2

Asset-ID

In Earth Engine werden Asset-IDs verwendet, um sowohl in Scripts als auch in Befehlszeilen auf Daten zu verweisen. Asset-Standorte werden mit Schrägstriche (/) als Trennzeichen zwischen Verzeichnissen definiert. Mit projects/my-project/assets/my-asset wird beispielsweise ein Asset namens „my-asset“ angegeben, das sich im Stammverzeichnis „my-project“ befindet. Hier ist ein Beispiel dafür, wie du mit dieser ID Informationen zum Asset abrufen kannst.

print(ee.data.getAsset('projects/my-project/assets/my-asset'))
print(ee.Image('projects/my-project/assets/my-asset'))
earthengine asset info projects/my-project/assets/my-asset

Assets erstellen

Sie können Ordner und Bildsammlungen erstellen und Bilder und Tabellen aus lokalen Dateien oder Dateien in einem Google Cloud Storage-Bucket aufnehmen. Zu den unterstützten Bildformaten gehören GeoTIFF (Standard und COG) und TFRecord. Zu den unterstützten Tabellenformaten gehören Shapefile und CSV. Assets können auch durch Exportieren eines Earth Engine-Analyseergebnisses mithilfe von Batchfunktionen Export.*.toAsset erstellt werden.

Bild

Verwenden Sie die Funktion ee.data.startIngestion, um Bilder aus Cloud Storage aufzunehmen. Weitere Informationen zum Konfigurieren des Uploads finden Sie auf der Seite Image Manifest.

manifest = {
  'name': 'projects/my-project/assets/asset-name',
  'tilesets': [
    {
      'sources': [
        {
          'uris': [
            'gs://my-bucket/filename.tif'
          ]
        }
      ]
    }
  ]
}
ee.data.startIngestion(None, manifest)

Tabelle

Verwenden Sie die Funktion ee.data.startTableIngestion, um Tabellen aus Cloud Storage aufzunehmen. Weitere Informationen zum Konfigurieren des Uploads finden Sie auf der Seite Image Manifest.

manifest = {
  'name': 'projects/my-project/assets/asset-name',
  'sources': [
    {
      'uris': [
        'gs://my-bucket/filename.csv'
      ]
    }
  ]
}
ee.data.startTableIngestion(None, manifest)

Ordner oder Bildsammlung

Mit der Funktion ee.data.createAsset können Sie leere Ordner oder Bildsammlungen erstellen.

ee.data.createAsset(
    {'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
    'projects/my-project/assets/asset-name'
)

Klicken Sie im Asset-Manager auf die Schaltfläche NEU und wählen Sie in der Drop-down-Liste den Asset-Typ aus, den Sie hochladen oder erstellen möchten. Konfigurieren Sie den Asset-Upload oder die Asset-Erstellung im Dialogfeld.

Bild oder Tabelle

earthengine upload image --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.tif
earthengine upload table --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.csv

Ordner oder Bildsammlung

Verwenden Sie den Befehl earthengine create, um leere Ordner oder Bildsammlungen zu erstellen.

earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name

Externes Bild

Cloud-optimierte GeoTIFF-Dateien (COG), die Sie in einen Google Cloud Storage-Bucket hochladen, können als externe Bild-Assets registriert und direkt in Earth Engine verwendet werden. Weitere Informationen zu COG-unterstützten Assets und zum Erstellen eines Manifests findest du in der Referenzdokumentation.

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

Assets auflisten

Mit der Funktion ee.data.listAssets können Sie Assets in einem Ordner oder einer Sammlung auflisten (nicht rekursiv). Weitere Informationen zu Filtern und Paginierung finden Sie in den Referenzdokumenten.

ee.data.listAssets('projects/my-project/assets')

Weitere Informationen finden Sie unter ee.data.listImages und ee.data.listFeatures.

Maximieren Sie Ordner im Asset-Manager, um Assets anzusehen.

Verwenden Sie den Befehl earthengine ls, um Assets in einem Ordner oder einer Sammlung aufzulisten (nicht rekursiv). Weitere Informationen zum Begrenzen der Anzahl der Assets, die aufgeführt werden sollen, und der Menge der zurückzugebenden Details finden Sie in den Referenzdokumenten.

earthengine ls projects/my-project/assets

Asset-Berechtigungen festlegen

Verwenden Sie die Funktion ee.data.setAssetAcl, um Berechtigungen für ein Asset festzulegen.

asset_id = 'projects/my-project/assets/asset-name'
acl_update = {
    'owners': [
        'user:big_cheese@example.com',
        'user:el_jefe@example.com'
    ],
    'writers': [
        'user:romeo@example.com',
        'user:juliet@example.com'
    ],
    'readers': [
        'group:some-group@googlegroups.com',
        'domain:example.com',
        'serviceAccount:some-project-id@appspot.gserviceaccount.com'
    ],
    'all_users_can_read': False
}
ee.data.setAssetAcl(asset_id, acl_update)

Bewegen Sie den Mauszeiger im Asset-Manager auf ein Asset und klicken Sie auf das Symbol Teilen. Geben Sie im Dialogfeld eine E-Mail-Adresse oder Domain ein, mit der Sie das Asset teilen möchten, und wählen Sie dann in der Drop-down-Liste die zu gewährenden Berechtigungsebenen aus. Klicken Sie auf die Schaltfläche ZUGRIFF HINZUFÜGEN, um die Änderung zu bestätigen. Klicken Sie das Kästchen „Jeder kann lesen“ an, um allen Entitäten Leseberechtigungen zu gewähren. Sie können auch über das Dialogfeld Zugriff auf Earth Engine-Apps gewähren, indem Sie den Namen der App aus der Drop-down-Liste auswählen (Assets, die dem aktiven Code-Editor-Projekt gehören).

Verwenden Sie den Befehl earthengine acl set, um den Lesezugriff für ein Asset auf public oder private festzulegen.

earthengine acl set public projects/my-project/assets/asset-name

Verwenden Sie den Befehl earthengine acl ch, um individuelle Berechtigungen für das Lesen und Schreiben von Assets festzulegen.

earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-name

Weitere Informationen finden Sie auf der Seite Referenz für die Befehlszeile.

Asset-Berechtigungen prüfen

Mit der Funktion ee.data.getAssetAcl können Sie die Zugriffskontrollliste für ein Asset abrufen.

ee.data.getAssetAcl('projects/my-project/assets/asset-name')

Bewegen Sie den Mauszeiger im Asset-Manager auf ein Asset und klicken Sie auf das Symbol Teilen. Im Dialogfeld wird eine Liste mit E-Mail-Adressen und Domains mit den jeweiligen Zugriffsebenen angezeigt.

Verwenden Sie den Befehl earthengine acl get, um die Zugriffskontrollliste für ein Asset abzurufen.

earthengine acl get projects/my-project/assets/asset-name

Assets kopieren

Verwenden Sie die Funktion ee.data.copyAsset, um ein Asset zu kopieren.

ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')

Verwenden Sie den Python-Client oder das Befehlszeilentool, um Assets zu kopieren.

Verwenden Sie den Befehl earthengine cp, um ein Asset zu kopieren.

earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-name

Assets verschieben oder umbenennen

Verwenden Sie die Funktion ee.data.renameAsset, um ein Asset zu verschieben oder umzubenennen.

ee.data.renameAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/new-asset-name')

Verschieben

Ziehe im Asset-Manager ein Asset in einen neuen Ordner.

Umbenennen

Bewege den Mauszeiger im Asset-Manager auf ein Asset, klicke auf das Symbol Bearbeiten und gib einen neuen Namen in das bearbeitbare Eingabefeld ein.

Verwenden Sie den Befehl earthengine mv, um ein Asset zu verschieben oder umzubenennen.

earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-name

Assets löschen

Verwenden Sie die Funktion ee.data.deleteAsset, um ein Asset zu löschen.

ee.data.deleteAsset('projects/my-project/assets/asset-name')

Klicke auf ein Asset, um das Dialogfeld für das Asset zu öffnen, und dann auf die Schaltfläche LÖSCHEN.

Mit dem Befehl earthengine rm löschen Sie ein Asset. Informationen zu rekursiv und als Trockenlauf auszuführenden Optionen finden Sie in der Funktionsreferenz.

earthengine rm projects/my-project/assets/asset-name

Asset-Metadaten ansehen

Mit der Funktion ee.data.getAsset können Sie Asset-Metadaten abrufen.

ee.data.getAsset('projects/my-project/assets/asset-name')

Klicke auf ein Asset, um das Dialogfeld für das Asset zu öffnen. Rufen Sie die Asset-Informationen auf.

Verwenden Sie den Befehl earthengine asset info, um Asset-Metadaten abzurufen.

earthengine asset info projects/my-project/assets/asset-name

Asset-Metadaten festlegen

Die folgenden Asset-Metadaten können festgelegt werden:

  • start_time
  • end_time
  • properties

Verwende die Funktion ee.data.updateAsset, um Asset-Metadaten zu aktualisieren.

asset_id = 'projects/my-project/assets/asset-name'
new_metadata = {
  'properties': {
    'name': 'value'
  },
  'start_time': '2024-10-02T15:01:24Z',
  'end_time': '2024-10-02T15:01:25Z',
}
update_these = ['start_time', 'end_time', 'properties']

ee.data.updateAsset(asset_id, new_metadata, update_these)

Klicken Sie auf ein Asset, um das Dialogfeld für das Asset zu öffnen, und aktivieren Sie dann rechts oben die Option „Bearbeiten“. Sie können die Beschreibung, die Properties sowie das Start- und Enddatum bearbeiten. Deaktivieren Sie die Bearbeitungsschaltfläche, um die Änderungen zu speichern.

Verwende den Befehl earthengine asset set, um Asset-Metadaten zu aktualisieren. Weitere Informationen finden Sie in der Referenzdokumentation.

earthengine asset set \
  --time_start 2024-10-02T15:01:24 \
  --time_end 2024-10-02T15:01:25 \
  --property 'name=value' \
  projects/my-project/assets/asset-name

Asset-Kontingent prüfen

Das Kontingent wird auf Projektebene angewendet. Weitere Informationen zum Asset-Kontingent finden Sie auf der Seite Nutzungs- und Kontingentlimits.

Mit der Funktion ee.data.getAssetRootQuota können Sie die Speicherkontingentnutzung für ein Asset-Stammverzeichnis abrufen.

ee.data.getAssetRootQuota('projects/my-project/assets')

Bewegen Sie den Mauszeiger im Asset-Manager auf einen Projektstamm und klicken Sie auf das Symbol data_usage. Ein Informationsdialogfeld wird angezeigt.

Verwenden Sie den Python-Client oder den Code-Editor, um das Asset-Kontingent zu prüfen.