Gérer les éléments

Les éléments Earth Engine sont des données géospatiales appartenant au projet et stockées sur la plate-forme. Vous pouvez importer vos propres données et stocker les données produites à partir de vos analyses Earth Engine en tant qu'assets.

Types d'éléments

Earth Engine propose différents formats d'éléments pour différents types de données, ainsi que des éléments de conteneur pour l'organisation.

Types d'éléments
Image Un raster, une représentation matricielle d'informations géographiques où chaque cellule de la grille contient une valeur correspondant à un emplacement spécifique à la surface de la Terre.
ImageCollection Ensemble d'images matricielles associées qui constituent une mosaïque ou une série temporelle. Il est fonctionnellement semblable à un dossier, mais peut être importé dans Earth Engine en tant qu'objet ee.ImageCollection, qui inclut un ensemble de méthodes de filtrage et d'analyse.
Table Structure de données de table composée d'éléments géométriques vectoriels (lignes), chacun contenant une série de propriétés (colonnes). Il est représenté par l'objet ee.FeatureCollection, qui inclut un ensemble de méthodes de filtrage et d'analyse.
Classifier Un modèle de machine learning Earth Engine entraîné. Il est représenté par l'objet ee.Classifier, qui inclut un ensemble de méthodes d'application et d'analyse.
FeatureView Vue de visualisation d'une table à utiliser dans les applications Earth Engine.
Folder Conteneur pour les composants et les dossiers supplémentaires afin de faciliter l'organisation.

Organisation des composants

Les éléments Earth Engine sont organisés selon un système hiérarchique de dossiers et de collections. La structure est semblable à celle des systèmes de fichiers courants.

Racine

Les assets appartiennent à un projet Cloud. Le nom du projet définit la racine du répertoire d'éléments. Par exemple, la racine de my-project est projects/my-project/assets. Tous les éléments appartenant à my-project se trouvent dans le dossier projects/my-project/assets ou dans un sous-dossier (ou ImageCollection) de celui-ci.

.

Annuaire

Earth Engine utilise une structure de répertoires sous forme d'arborescence pour organiser les éléments. Chaque projet Cloud possède un répertoire racine pouvant contenir des éléments et des dossiers individuels. Les ImageCollections sont un type d'élément spécial conçu spécifiquement pour contenir des ensembles d'images associées, comme des séries temporelles ou des mosaïques. Contrairement aux dossiers, les ImageCollections ne peuvent contenir que des éléments d'image et ne peuvent pas imbriquer d'autres dossiers ou collections.

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

ID d'élément

Earth Engine utilise des ID d'élément pour référencer les données dans les scripts et les opérations de ligne de commande. Ils définissent les emplacements des éléments à l'aide de barres obliques (/) comme séparateurs entre les répertoires. Par exemple, projects/my-project/assets/my-asset spécifie un élément nommé "my-asset" situé à la racine "my-project". Voici un exemple d'utilisation de cet ID pour obtenir des informations sur l'élément.

Python

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

Éditeur de code

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

Ligne de commande

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

Créer des composants

Vous pouvez créer des dossiers et des ImageCollections, et ingérer des images et des tables à partir de fichiers locaux ou de fichiers d'un bucket Google Cloud Storage. Les formats d'image compatibles incluent GeoTIFF et TFRecord. Les fichiers GeoTIFF optimisés pour le cloud (COG) dans Cloud Storage peuvent également être enregistrés sur place au lieu d'être ingérés. Les formats de table compatibles incluent Shapefile et CSV. (Les éléments peuvent également être créés en exportant un résultat d'analyse Earth Engine à l'aide des fonctions de traitement par lot Export.*.toAsset).

Client Python

Image

Utilisez la fonction ee.data.startIngestion pour ingérer des images à partir de Cloud Storage. Pour en savoir plus sur la configuration de l'importation, consultez la page Fichier manifeste d'image.

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

Table

Utilisez la fonction ee.data.startTableIngestion pour ingérer des tables depuis Cloud Storage. Pour en savoir plus sur la configuration de l'importation, consultez la page Fichier manifeste d'image.

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

Dossier ou ImageCollection

Utilisez la fonction ee.data.createAsset pour créer des dossiers ou des ImageCollections vides.

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

Éditeur de code

Dans le gestionnaire d'assets, cliquez sur le bouton NEW (NOUVEAU) et sélectionnez le type d'asset que vous souhaitez importer ou créer dans la liste déroulante. Configurez l'importation ou la création de l'asset dans la boîte de dialogue.

Ligne de commande

Image ou tableau

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

Dossier ou ImageCollection

Utilisez la commande earthengine create pour créer des dossiers ou des ImageCollections vides.

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

Image externe

Les fichiers GeoTIFF optimisés pour le cloud (COG) d'un bucket Cloud Storage peuvent être enregistrés en tant qu'éléments COG (appelés images externes dans l'API) et utilisés directement dans Earth Engine. Consultez le guide d'enregistrement des COG pour savoir comment créer un fichier manifeste.

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

Répertorier les éléments

Client Python

Utilisez la fonction ee.data.listAssets pour lister les éléments d'un dossier ou d'une collection (non récursive). Pour en savoir plus sur le filtrage et la pagination, consultez la documentation de référence.

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

Consultez également ee.data.listImages et ee.data.listFeatures.

Éditeur de code

Développez les dossiers dans le gestionnaire d'assets pour afficher les assets.

Ligne de commande

Utilisez la commande earthengine ls pour lister les éléments d'un dossier ou d'une collection (non récursive). Pour en savoir plus sur la limitation du nombre d'éléments à lister et de la quantité de détails à renvoyer, consultez la documentation de référence.

earthengine ls projects/my-project/assets

Définir les autorisations associées aux éléments

Client Python

Utilisez la fonction ee.data.setAssetAcl pour définir des autorisations sur un élément.

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)

Éditeur de code

Dans le gestionnaire d'assets, pointez sur un asset et cliquez sur l'icône de partage. Dans la boîte de dialogue, saisissez une adresse e-mail ou un domaine avec lequel partager l'élément, puis sélectionnez un niveau d'autorisation à accorder dans la liste déroulante. Cliquez sur le bouton AJOUTER L'ACCÈS pour confirmer la modification. Cochez la case "Tout le monde peut lire" pour accorder l'autorisation de lecture à n'importe quelle entité. Vous pouvez également autoriser l'accès aux applications Earth Engine à partir de la boîte de dialogue en sélectionnant le nom de l'application dans la liste déroulante (éléments appartenant au projet actif de l'éditeur de code).

Ligne de commande

Utilisez la commande earthengine acl set pour définir l'accès en lecture d'un élément sur public ou private.

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

Utilisez la commande earthengine acl ch pour définir des autorisations individuelles de lecture et d'écriture des éléments.

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

Pour en savoir plus, consultez la page Documentation de référence sur la ligne de commande.

Vérifier les autorisations associées aux éléments

Client Python

Utilisez la fonction ee.data.getAssetAcl pour récupérer la liste de contrôle d'accès d'un asset.

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

Éditeur de code

Dans le gestionnaire d'assets, pointez sur un asset et cliquez sur l'icône de partage. La boîte de dialogue affiche une liste d'adresses e-mail et de domaines, ainsi que leurs niveaux d'accès respectifs.

Ligne de commande

Utilisez la commande earthengine acl get pour récupérer la liste de contrôle d'accès d'un élément.

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

Copier les composants

Client Python

Utilisez la fonction ee.data.copyAsset pour copier un élément.

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

Éditeur de code

Utilisez le client Python ou l'outil de ligne de commande pour copier des éléments.

Ligne de commande

Utilisez la commande earthengine cp pour copier un élément.

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

Déplacer ou renommer des éléments

Client Python

Utilisez la fonction ee.data.renameAsset pour déplacer ou renommer un élément.

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

Éditeur de code

Déplacer

Dans le Gestionnaire d'assets, faites glisser un asset dans un nouveau dossier.

Renommer

Dans le gestionnaire d'assets, pointez sur un asset, cliquez sur l'icône Modifier, puis saisissez un nouveau nom dans le champ de saisie modifiable.

Ligne de commande

Utilisez la commande earthengine mv pour déplacer ou renommer un élément.

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

Supprimer des éléments

Client Python

Utilisez la fonction ee.data.deleteAsset pour supprimer un élément.

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

Éditeur de code

Cliquez sur un asset pour ouvrir la page de la boîte de dialogue de l'asset, puis cliquez sur le bouton SUPPRIMER.

Ligne de commande

Utilisez la commande earthengine rm pour supprimer un élément. Consultez la documentation de référence sur les fonctions pour connaître les options de simulation et de récursion.

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

Afficher les métadonnées de l'élément

Client Python

Utilisez la fonction ee.data.getAsset pour obtenir les métadonnées de l'élément.

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

Éditeur de code

Cliquez sur un asset pour ouvrir la boîte de dialogue correspondante. Affichez les informations sur l'élément.

Ligne de commande

Utilisez la commande earthengine asset info pour obtenir les métadonnées de l'élément.

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

Définir les métadonnées de l'élément

Vous pouvez définir les métadonnées d'asset suivantes :

  • start_time
  • end_time
  • properties

Client Python

Utilisez la fonction ee.data.updateAsset pour mettre à jour les métadonnées de l'élément.

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)

Éditeur de code

Cliquez sur un asset pour ouvrir la boîte de dialogue correspondante, puis activez le bouton d'activation/désactivation de la modification en haut à droite. Vous pouvez modifier la description, les propriétés, ainsi que les dates de début et de fin. Désactivez le bouton d'activation/de désactivation de la modification pour enregistrer les modifications.

Ligne de commande

Exécutez la commande earthengine asset set pour mettre à jour les métadonnées de l'élément. Pour en savoir plus, consultez la documentation de référence.

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

Vérifier le quota d'assets

Le quota est appliqué au niveau du projet. Pour en savoir plus sur le quota d'éléments, consultez la page Limites d'utilisation et quotas.

Client Python

Utilisez la fonction ee.data.getAssetRootQuota pour obtenir l'utilisation du quota de stockage pour une racine d'élément.

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

Éditeur de code

Dans le gestionnaire d'éléments, pointez sur la racine d'un projet, puis cliquez sur l'icône data_usage. Une boîte de dialogue d'informations s'affiche.

Ligne de commande

Utilisez le client Python ou l'éditeur de code pour vérifier le quota d'éléments.