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