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 |
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-assetAssets 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.tifearthengine 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-nameearthengine 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.jsonAssets 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/assetsAsset-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-nameVerwenden 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-nameWeitere 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-nameAssets 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-nameAssets 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-nameAssets 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-nameAsset-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-nameAsset-Metadaten festlegen
Die folgenden Asset-Metadaten können festgelegt werden:
start_timeend_timeproperties
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.