Assets verwalten

Earth Engine-Assets sind projektbezogene Geodaten, die auf der Plattform gespeichert werden. Sie können Ihre eigenen Daten hochladen und die aus Ihren Earth Engine-Analysen generierten Daten als Assets speichern.

Asset-Typen

Earth Engine bietet verschiedene Asset-Formate für unterschiedliche Datentypen sowie Container-Elemente für die Organisation.

Asset-Typen
Image Ein Raster, eine rasterbasierte 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 zusammengehöriger Rasterbilder, die ein Mosaik oder eine Zeitreihe bilden. Sie ähnelt funktional einem Ordner, kann aber als ee.ImageCollection-Objekt in Earth Engine importiert werden, das eine Reihe von Methoden zum Filtern und Analysieren enthält.
Table Eine Tabellendatenstruktur, die aus Vektor-Features (Zeilen) besteht, die jeweils eine Reihe von Attributen (Spalten) enthalten. Sie 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. Sie wird durch das Objekt ee.Classifier dargestellt, das eine Reihe von Methoden für die Anwendung und Analyse enthält.
FeatureView Eine Visualisierungsansicht einer Tabelle zur Verwendung in Earth Engine-Apps.
Folder Ein Container für Assets und zusätzliche Ordner, um die Organisation zu erleichtern.

Asset-Organisation

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

Root

Assets gehören zu einem Cloud-Projekt. Der Projektname definiert das Stammverzeichnis des Anlagenverzeichnisses. Das Stammverzeichnis von my-project ist beispielsweise projects/my-project/assets. 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

Earth Engine verwendet eine baumartige Verzeichnisstruktur, um Assets zu organisieren. Jedes Cloud-Projekt hat ein Stammverzeichnis, das einzelne Assets und Ordner enthalten kann. ImageCollections sind ein spezieller Asset-Typ, der speziell für die Speicherung von Sätzen zusammengehöriger Bilder wie Zeitreihen oder Mosaiken entwickelt wurde. Im Gegensatz zu Ordnern können ImageCollections nur Bild-Assets enthalten und keine anderen Ordner oder Sammlungen verschachteln.

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

Asset-ID

In der Earth Engine werden Asset-IDs verwendet, um auf Daten in Skripts und Befehlszeilenvorgängen zu verweisen. Sie definieren Asset-Standorte mit Schrägstrichen (/) als Trennzeichen zwischen Verzeichnissen. Beispiel: projects/my-project/assets/my-asset gibt ein Asset mit dem Namen „my-asset“ an, das sich im Stammverzeichnis „my-project“ befindet. Hier ist ein Beispiel für die Verwendung dieser ID, um Informationen zum Asset abzurufen.

Python

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

Code-Editor

print(ee.Image('projects/my-project/assets/my-asset'))

Befehlszeile

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

Assets erstellen

Sie können Ordner und ImageCollections 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 und TFRecord. Cloud-optimierte GeoTIFFs (COGs) in Cloud Storage können auch direkt registriert werden, anstatt sie aufzunehmen. Zu den unterstützten Tabellenformaten gehören Shapefile und CSV. (Assets können auch erstellt werden, indem Sie ein Earth Engine-Analyseergebnis mit den Batchfunktionen Export.*.toAsset exportieren.)

Python-Client

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 ImageCollection

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

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

Code-Editor

Klicken Sie im Asset Manager auf den Button NEU und wählen Sie in der Drop-down-Liste den Asset-Typ aus, den Sie hochladen oder erstellen möchten. Konfigurieren Sie das Hochladen oder Erstellen von Assets im Dialogfeld.

Befehlszeile

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 ImageCollection

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

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

Externes Bild

Cloud Optimized GeoTIFF-Dateien (COG) in einem Cloud Storage-Bucket können als COG-gestützte Assets (in der API als externe Bilder bezeichnet) registriert und direkt in Earth Engine verwendet werden. Informationen zum Erstellen eines Manifests finden Sie im Leitfaden zur COG-Registrierung.

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

Assets auflisten

Python-Client

Verwenden Sie die Funktion ee.data.listAssets, um Assets in einem Ordner oder einer Sammlung aufzulisten (nicht rekursiv). Weitere Informationen zum Filtern und zur Paginierung finden Sie in den Referenzdokumenten.

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

Siehe auch ee.data.listImages und ee.data.listFeatures.

Code-Editor

Maximieren Sie Ordner im Asset Manager, um Assets anzusehen.

Befehlszeile

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

earthengine ls projects/my-project/assets

Asset-Berechtigungen festlegen

Python-Client

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)

Code-Editor

Halten Sie im Asset Manager den Mauszeiger über ein Asset und klicken Sie auf das Freigabesymbol. Geben Sie im Dialogfeld eine E-Mail-Adresse oder Domain ein, für die Sie das Asset freigeben möchten, und wählen Sie dann in der Drop-down-Liste eine Berechtigungsstufe aus. Klicken Sie auf den Button 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 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).

Befehlszeile

Verwenden Sie den Befehl earthengine acl set, um den Lesezugriff eines Assets 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 Befehlszeilenreferenz.

Asset-Berechtigungen prüfen

Python-Client

Verwenden Sie die Funktion ee.data.getAssetAcl, um die Access Control List für ein Asset abzurufen.

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

Code-Editor

Halten Sie im Asset Manager den Mauszeiger über ein Asset und klicken Sie auf das Freigabesymbol. Im Dialogfeld wird eine Liste mit E-Mail-Adressen und Domains sowie den jeweiligen Zugriffsebenen angezeigt.

Befehlszeile

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

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

Assets kopieren

Python-Client

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')

Code-Editor

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

Befehlszeile

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

Python-Client

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')

Code-Editor

Verschieben

Ziehen Sie im Asset-Manager ein Asset in einen neuen Ordner.

Umbenennen

Bewegen Sie im Asset Manager den Mauszeiger auf ein Asset, klicken Sie auf das Symbol Bearbeiten und geben Sie einen neuen Namen in das bearbeitbare Eingabefeld ein.

Befehlszeile

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

Python-Client

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

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

Code-Editor

Klicken Sie auf ein Asset, um die Dialogseite des Assets zu öffnen, und klicken Sie dann auf den Button LÖSCHEN.

Befehlszeile

Verwenden Sie den Befehl earthengine rm, um ein Asset zu löschen. Informationen zu rekursiven Optionen und Probelaufoptionen finden Sie in der Funktionsreferenz.

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

Asset-Metadaten ansehen

Python-Client

Verwenden Sie die Funktion ee.data.getAsset, um Asset-Metadaten abzurufen.

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

Code-Editor

Klicken Sie auf ein Asset, um die Dialogseite für Assets zu öffnen. Sehen Sie sich die Asset-Informationen an.

Befehlszeile

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

Python-Client

Verwenden Sie 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)

Code-Editor

Klicken Sie auf ein Asset, um die Dialogseite für Assets zu öffnen, und aktivieren Sie dann rechts oben den Bearbeitungsmodus. Sie können die Beschreibung, die Attribute sowie das Start- und Enddatum bearbeiten. Deaktivieren Sie den Bearbeitungsmodus, um die Änderungen zu speichern.

Befehlszeile

Verwenden Sie 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.

Python-Client

Verwenden Sie die Funktion ee.data.getAssetRootQuota, um die Speicherkontingentnutzung für einen Asset-Stamm abzurufen.

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

Code-Editor

Halten Sie im Asset Manager den Mauszeiger über ein Projektstammverzeichnis und klicken Sie auf das Symbol data_usage. Ein Informationsdialogfeld wird angezeigt.

Befehlszeile

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