Assets verwalten

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

Asset-Typen

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

Asset-Typen
Image Ein Raster, eine rasterbasierte Darstellung geografischer Informationen, bei der jede Zelle im Raster einen Wert enthält, der einer bestimmten Position auf der Erdoberfläche entspricht.
ImageCollection Eine Sammlung verwandter 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 Vektorelementen (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. 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 zur Verwendung in Earth Engine-Anwendungen.
Folder Ein Container für Assets und zusätzliche Ordner zur besseren Organisation.

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 den Root des Asset-Verzeichnisses. Der Root von my-project ist beispielsweise projects/my-project/assets. Alle Assets, die zu my-project gehören, befinden sich im projects/my-project/assets Ordner oder in einem Unterordner (oder einer ImageCollection) darin.

Verzeichnis

Earth Engine verwendet eine baumartige Verzeichnisstruktur zum Organisieren von Assets. Jedes Cloud-Projekt hat ein Root-Verzeichnis, das einzelne Assets und Ordner enthalten kann. ImageCollections sind ein spezieller Asset-Typ, der speziell für die Aufnahme von Gruppen verwandter Bilder wie Zeitreihen oder Mosaike entwickelt wurde. Im Gegensatz zu Ordnern können ImageCollections nur Bild-Assets enthalten und keine anderen Ordner oder Sammlungen in sich verschachteln.

  • folder_dataprojects/my-project/assets/
    • folder Ordnername/
      • photo Bildname
      • view_comfy Tabellenname
      • satellite FeatureView-Name
      • bubble_chart Classifier-Name
      • photo_library ImageCollection-Name/
        • Foto Bildname-1
        • Foto Bildname-2

Asset-ID

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

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 (Standard und COG) und TFRecord. Zu den unterstützten Tabellenformaten gehören Shapefile und CSV. Assets können auch erstellt werden, indem Sie ein Earth Engine-Analyseergebnis mit Batch-Funktionen Export.*.toAsset exportieren.

Python-Client

Bild

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

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 ee.data.startTableIngestion Funktion, um Tabellen aus Cloud Storage aufzunehmen. Weitere Informationen zum Konfigurieren des Uploads finden Sie auf der Seite zum Bildmanifest.

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

Ordner oder ImageCollection

Verwenden Sie die ee.data.createAsset Funktion, um leere Ordner oder ImageCollections zu erstellen.

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

Code-Editor

Klicken Sie im Asset Manager auf die Schaltfläche „NEU “ und wählen Sie in der Dropdown liste den Asset-Typ aus, den Sie hochladen oder erstellen möchten. Konfigurieren Sie den Asset-Upload oder die Asset-Erstellung 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 earthengine create Befehl, 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

Externe Bilder

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-basierten Assets und zum Erstellen eines Manifests finden Sie in der Referenzdokumentation.

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

Assets auflisten

Python-Client

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

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

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

Code-Editor

Maximieren Sie im Asset Manager Ordner, um Assets anzuzeigen.

Befehlszeile

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

earthengine ls projects/my-project/assets

Asset-Berechtigungen festlegen

Python-Client

Verwenden Sie die ee.data.setAssetAcl Funktion, 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

Bewegen Sie im Asset Manager den Mauszeiger auf ein Asset und klicken Sie auf das Symbol „Teilen“. Geben Sie im Dialogfeld eine E-Mail-Adresse oder Domain ein, für die Sie das Asset freigeben möchten, und wählen Sie in der Drop-down-Liste eine Berechtigungsstufe aus, die Sie gewähren möchten. 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 Leseberechtigung zu gewähren. Sie können auch über das Dialogfeld Zugriff auf Earth Engine-Anwendungen gewähren, indem Sie den Namen der Anwendung in 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 einzelne 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 Referenzseite zur Befehlszeile.

Asset-Berechtigungen prüfen

Python-Client

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

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

Code-Editor

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

Befehlszeile

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

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

Assets kopieren

Python-Client

Verwenden Sie die ee.data.copyAsset Funktion, 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 earthengine cp Befehl, 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 ee.data.renameAsset Funktion, 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 und klicken Sie auf das Symbol „Bearbeiten“ und geben Sie einen neuen Namen im bearbeitbaren Eingabefeld ein.

Befehlszeile

Verwenden Sie den earthengine mv Befehl, 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 ee.data.deleteAsset Funktion, 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 für das Asset zu öffnen, und klicken Sie dann auf die Schaltfläche „LÖSCHEN“.

Befehlszeile

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

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

Asset-Metadaten ansehen

Python-Client

Verwenden Sie die ee.data.getAsset Funktion, 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 das Asset zu öffnen. Sehen Sie sich die Asset-Informationen an.

Befehlszeile

Verwenden Sie den earthengine asset info Befehl, 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 ee.data.updateAsset Funktion, 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 das Asset zu öffnen, und aktivieren Sie dann rechts oben die Schaltfläche „Bearbeiten“. Sie können die Beschreibung, die Attribute sowie das Start- und Enddatum bearbeiten. Deaktivieren Sie die Schaltfläche „Bearbeiten“, um die Änderungen zu speichern.

Befehlszeile

Verwenden Sie den earthengine asset set Befehl, 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 zu Nutzungs- und Kontingentlimits.

Python-Client

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

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

Code-Editor

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

Befehlszeile

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