Gestione asset

Gli asset di Earth Engine sono datastore geospaziali di proprietà del progetto archiviati all'interno della piattaforma. Puoi caricare i tuoi dati e archiviare i dati prodotti dalle tue analisi di Earth Engine come asset.

Tipi di asset

Earth Engine offre vari formati di asset per diversi tipi di dati, oltre a elementi contenitore per l'organizzazione.

Tipi di asset
Image Un raster, una rappresentazione basata su griglia di informazioni geografiche in cui ogni cella della griglia contiene un valore corrispondente a una posizione specifica sulla superficie terrestre.
ImageCollection Una raccolta di immagini raster correlate che costituiscono un mosaico o una serie temporale. È funzionalmente simile a una cartella, ma può essere importata in Earth Engine come oggetto ee.ImageCollection che include un insieme di metodi per il filtro e l'analisi.
Table Una struttura di dati tabulare composta da elementi vettoriali (righe), ciascuno contenente una serie di proprietà (colonne). È rappresentato dall'oggetto ee.FeatureCollection, che include un insieme di metodi per l'applicazione di filtri e l'analisi.
Classifier Un modello di machine learning di Earth Engine addestrato. È rappresentato dall'oggetto ee.Classifier, che include un insieme di metodi per l'applicazione e l'analisi.
FeatureView Una visualizzazione di una tabella da utilizzare nelle app Earth Engine.
Folder Un contenitore per asset e cartelle aggiuntive per facilitare l'organizzazione.

Organizzazione degli asset

Gli asset di Earth Engine sono organizzati in un sistema gerarchico di cartelle e raccolte. La struttura è simile a quella dei file system comuni.

Radice

Gli asset sono di proprietà di un progetto Cloud. Il nome del progetto definisce la directory principale degli asset. Ad esempio, la radice di my-project è projects/my-project/assets. Tutti gli asset appartenenti a my-project si trovano nella cartella projects/my-project/assets o in una sottocartella (o ImageCollection) al suo interno.

Directory

Earth Engine utilizza una struttura di directory ad albero per organizzare gli asset. Ogni progetto Cloud ha una directory root che può contenere singoli asset e cartelle. Le ImageCollection sono un tipo di asset speciale progettato specificamente per contenere insiemi di immagini correlate, come serie temporali o mosaici. A differenza delle cartelle, le ImageCollection possono contenere solo asset immagine e non possono nidificare altre cartelle o raccolte al loro interno.

  • folder_dataprojects/my-project/assets/
    • folder folder-name/
      • photo nome-immagine
      • view_comfy table-name
      • satellite featureview-name
      • bubble_chart classifier-name
      • photo_library imagecollection-name/
        • photo image-name-1
        • photo image-name-2

ID risorsa

Earth Engine utilizza gli ID asset per fare riferimento ai dati sia negli script sia nelle operazioni da riga di comando. Definiscono le posizioni degli asset utilizzando le barre (/) come separatori tra le directory. Ad esempio, projects/my-project/assets/my-asset specifica un asset denominato "my-asset" che si trova nella directory principale "my-project". Ecco un esempio di utilizzo di questo ID per ottenere informazioni sull'asset.

Python

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

Editor di codice

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

Riga di comando

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

Crea asset

Puoi creare cartelle e ImageCollection e importare immagini e tabelle da file locali o file in un bucket Google Cloud Storage. I formati delle immagini supportati includono GeoTIFF e TFRecord. I GeoTIFF ottimizzati per il cloud (COG) in Cloud Storage possono anche essere registrati in loco anziché importati. I formati di tabella supportati includono Shapefile e CSV. (Gli asset possono anche essere creati esportando un risultato di analisi di Earth Engine utilizzando le funzioni batch Export.*.toAsset).

Client Python

Immagine

Utilizza la funzione ee.data.startIngestion per importare immagini da Cloud Storage. Per saperne di più sulla configurazione del caricamento, consulta la pagina Manifest dell'immagine.

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

Tabella

Utilizza la funzione ee.data.startTableIngestion per importare le tabelle da Cloud Storage. Per saperne di più sulla configurazione del caricamento, consulta la pagina Manifest dell'immagine.

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

Cartella o ImageCollection

Utilizza la funzione ee.data.createAsset per creare cartelle o ImageCollection vuote.

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

Editor di codice

In Asset Manager, fai clic sul pulsante NUOVO e seleziona il tipo di asset che vuoi caricare o creare dall'elenco a discesa. Configura il caricamento o la creazione dell'asset nella finestra di dialogo.

Riga di comando

Immagine o tabella

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

Cartella o ImageCollection

Utilizza il comando earthengine create per creare cartelle o ImageCollection vuote.

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

Immagine esterna

I file Cloud Optimized GeoTIFF (COG) in un bucket Cloud Storage possono essere registrati come asset supportati da COG (chiamati immagini esterne nell'API) e utilizzati direttamente in Earth Engine. Consulta la guida alla registrazione COG per la creazione di un manifest.

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

Elencare gli asset

Client Python

Utilizza la funzione ee.data.listAssets per elencare gli asset in una cartella o raccolta (non ricorsiva). Per saperne di più su filtri e impaginazione, consulta la documentazione di riferimento.

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

Consulta anche ee.data.listImages e ee.data.listFeatures.

Editor di codice

Espandi le cartelle in Asset Manager per visualizzare gli asset.

Riga di comando

Utilizza il comando earthengine ls per elencare gli asset in una cartella o raccolta (non ricorsiva). Per saperne di più su come limitare il numero di asset da elencare e la quantità di dettagli da restituire, consulta la documentazione di riferimento.

earthengine ls projects/my-project/assets

Imposta le autorizzazioni per gli asset

Client Python

Utilizza la funzione ee.data.setAssetAcl per impostare le autorizzazioni su un asset.

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)

Editor di codice

In Asset Manager, tieni il puntatore su un asset e fai clic sull'icona di condivisione. Nella finestra di dialogo, inserisci un indirizzo email o un dominio con cui condividere l'asset, poi seleziona un livello di autorizzazione da concedere dall'elenco a discesa. Fai clic sul pulsante AGGIUNGI ACCESSO per confermare la modifica. Seleziona la casella "Chiunque può leggere" per concedere l'autorizzazione in lettura a qualsiasi entità. Puoi anche fornire l'accesso alle app Earth Engine dalla finestra di dialogo selezionando il nome dell'app dall'elenco a discesa (asset di proprietà del progetto Code Editor attivo).

Riga di comando

Utilizza il comando earthengine acl set per impostare l'accesso in lettura di un asset su public o private.

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

Utilizza il comando earthengine acl ch per impostare autorizzazioni individuali per la lettura e la scrittura degli asset.

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

Per ulteriori dettagli, consulta la pagina Riferimento per la riga di comando.

Controlla le autorizzazioni degli asset

Client Python

Utilizza la funzione ee.data.getAssetAcl per recuperare l'elenco di controllo dell'accesso per un asset.

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

Editor di codice

In Asset Manager, tieni il puntatore su un asset e fai clic sull'icona di condivisione. La finestra di dialogo mostra un elenco di indirizzi email e domini con i rispettivi livelli di accesso.

Riga di comando

Utilizza il comando earthengine acl get per recuperare l'elenco di controllo dell'accesso per un asset.

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

Copia gli asset

Client Python

Utilizza la funzione ee.data.copyAsset per copiare un asset.

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

Editor di codice

Utilizza il client Python o lo strumento a riga di comando per copiare gli asset.

Riga di comando

Utilizza il comando earthengine cp per copiare un asset.

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

Sposta o rinomina gli asset

Client Python

Utilizza la funzione ee.data.renameAsset per spostare o rinominare un asset.

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

Editor di codice

Sposta

In Asset Manager, trascina un asset in una nuova cartella.

Rinomina

In Asset Manager, tieni il puntatore sopra un asset, fai clic sull'icona di modifica e digita un nuovo nome nel campo di immissione modificabile.

Riga di comando

Utilizza il comando earthengine mv per spostare o rinominare un asset.

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

Elimina asset

Client Python

Utilizza la funzione ee.data.deleteAsset per eliminare un asset.

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

Editor di codice

Fai clic su un asset per aprire la pagina della finestra di dialogo dell'asset, poi fai clic sul pulsante ELIMINA.

Riga di comando

Utilizza il comando earthengine rm per eliminare un asset. Consulta il riferimento della funzione per le opzioni di dry run e ricorsive.

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

Visualizza i metadati dell'asset

Client Python

Utilizza la funzione ee.data.getAsset per ottenere i metadati degli asset.

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

Editor di codice

Fai clic su un asset per aprire la relativa pagina di dialogo. Visualizza le informazioni sull'asset.

Riga di comando

Utilizza il comando earthengine asset info per ottenere i metadati dell'asset.

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

Imposta i metadati dell'asset

È possibile impostare i seguenti metadati dell'asset:

  • start_time
  • end_time
  • properties

Client Python

Utilizza la funzione ee.data.updateAsset per aggiornare i metadati degli asset.

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)

Editor di codice

Fai clic su un asset per aprire la pagina della finestra di dialogo dell'asset, poi attiva il pulsante di attivazione/disattivazione della modifica in alto a destra. Puoi modificare la descrizione, le proprietà e le date di inizio e di fine. Disattiva il pulsante di modifica per salvare le modifiche.

Riga di comando

Utilizza il comando earthengine asset set per aggiornare i metadati degli asset. Per ulteriori informazioni, consulta la documentazione di riferimento.

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

Controlla la quota di asset

La quota viene applicata a livello di progetto. Scopri di più sulla quota di asset nella pagina Limiti di utilizzo e quota.

Client Python

Utilizza la funzione ee.data.getAssetRootQuota per ottenere l'utilizzo della quota di spazio di archiviazione per una radice degli asset.

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

Editor di codice

In Asset Manager, tieni il puntatore su una radice del progetto e fai clic sull'icona data_usage. Verrà visualizzata una finestra di dialogo informativa.

Riga di comando

Utilizza il client Python o l'editor di codice per controllare la quota di asset.