Les composants Earth Engine sont des données géospatiales appartenant au projet stockées dans la plate-forme. Vous pouvez importer vos propres données et stocker les données générées par vos analyses Earth Engine en tant qu'éléments.
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 des informations géographiques basée sur une grille, où chaque cellule de la grille contient une valeur correspondant à un emplacement spécifique à la surface de la Terre. |
ImageCollection |
Collection 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 vectoriels (lignes), chacun contenant une série de propriétés (colonnes). Il est représenté par l'objet ee.FeatureCollection , qui comprend un ensemble de méthodes de filtrage et d'analyse. |
Classifier |
Modèle de machine learning Earth Engine entraîné. Il est représenté par l'objet ee.Classifier |
FeatureView |
Vue de visualisation d'un tableau à 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 dans un système hiérarchique de dossiers et de collections. La structure est semblable à celle des systèmes de fichiers courants.
Racine
Les composants appartiennent à un projet Cloud. Le nom du projet définit la racine du répertoire des éléments. Par exemple, la racine de my-project
est projects/my-project/assets
.
Tous les composants 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 arborescente pour organiser les éléments. Chaque projet Cloud dispose d'un répertoire racine pouvant contenir des composants et des dossiers individuels. Les ImageCollections sont un type d'assets spécial conçu spécifiquement pour contenir des ensembles d'images associées, telles que des séries temporelles ou des mosaïques. Contrairement aux dossiers, les ImageCollections ne peuvent contenir que des composants Image et ne peuvent pas imbriquer d'autres dossiers ou collections.
- folder_dataprojects/my-project/assets/
- folder nom-du-dossier/
- photo nom-image
- view_comfy nom-table
- satellite featureview-name
- bubble_chart nom-du-classificateur
- photo_library nom_collection_d'images/
- photo image-name-1
- photo image-name-2
ID d'élément
Earth Engine utilise des ID d'éléments 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é dans la racine "my-project". Voici un exemple d'utilisation de cet ID pour obtenir des informations sur l'asset.
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 collections d'images, et ingérer des images et des tableaux à partir de fichiers locaux ou de fichiers dans un bucket Google Cloud Storage. Les formats d'image acceptés incluent GeoTIFF (standard et COG) et TFRecord. Les formats de table compatibles incluent les fichiers de forme et les fichiers CSV. (Vous pouvez également créer des éléments 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)
Tableau
Utilisez la fonction ee.data.startTableIngestion
pour ingérer des tables à 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',
'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 NOUVEAU, puis 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 (COG) optimisés pour le cloud que vous importez dans un bucket Google Cloud Storage peuvent être enregistrés en tant qu'éléments d'image externes et utilisés directement dans Earth Engine. Pour en savoir plus sur les éléments basés sur le COG et la création d'un fichier manifeste, consultez la documentation de référence.
earthengine alpha 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écursif).
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 de l'outil Asset Manager pour afficher les composants.
Ligne de commande
Utilisez la commande earthengine ls
pour lister les éléments d'un dossier ou d'une collection (non récursif). Pour en savoir plus sur la limitation du nombre d'assets à lister et des détails sur le montant à renvoyer, consultez la documentation de référence.
earthengine ls projects/my-project/assets
Définir des autorisations pour les é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'éléments, maintenez le pointeur sur un élément, puis cliquez sur l'icône Partager. 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 UN 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 depuis la boîte de dialogue en sélectionnant le nom de l'application dans la liste déroulante (composants appartenant au projet Code Editor actif).
Ligne de commande
Utilisez la commande earthengine acl set
pour définir l'accès en lecture d'un composant 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 pour la lecture et l'écriture des composants.
earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-name
Pour en savoir plus, consultez la page de documentation de référence de 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 composant.
ee.data.getAssetAcl('projects/my-project/assets/asset-name')
Éditeur de code
Dans le Gestionnaire d'éléments, maintenez le pointeur sur un élément, puis cliquez sur l'icône Partager. 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 composant.
earthengine acl get projects/my-project/assets/asset-name
Copier des 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 composants.
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 composants
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 élément dans un nouveau dossier.
Renommer
Dans le gestionnaire d'assets, pointez sur un élément, 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 composant.
earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-name
Supprimer les é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 composant pour ouvrir la boîte de dialogue correspondante, puis cliquez sur le bouton SUPPRIMER.
Ligne de commande
Utilisez la commande earthengine rm
pour supprimer un composant. Consultez la documentation de référence sur les fonctions pour connaître les options récursives et de simulation.
earthengine rm projects/my-project/assets/asset-name
Afficher les métadonnées d'un élément
Client Python
Utilisez la fonction ee.data.getAsset
pour obtenir les métadonnées des éléments.
ee.data.getAsset('projects/my-project/assets/asset-name')
Éditeur de code
Cliquez sur un élément pour ouvrir la boîte de dialogue correspondante. Consultez les informations sur l'élément.
Ligne de commande
Utilisez la commande earthengine asset info
pour obtenir les métadonnées des éléments.
earthengine asset info projects/my-project/assets/asset-name
Définir les métadonnées d'un élément
Vous pouvez définir les métadonnées d'élément suivantes:
start_time
end_time
properties
Client Python
Utilisez la fonction ee.data.updateAsset
pour mettre à jour les métadonnées des éléments.
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 composant pour ouvrir la boîte de dialogue du composant, puis activez le bouton d'édition en haut à droite. Vous pouvez modifier la description, les propriétés, ainsi que les dates de début et de fin. Désactivez l'option de modification pour enregistrer les modifications.
Ligne de commande
Utilisez la commande earthengine asset set
pour mettre à jour les métadonnées des composants. 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 de quota.
Client Python
Utilisez la fonction ee.data.getAssetRootQuota
pour obtenir l'utilisation du quota de stockage pour une racine d'éléments.
ee.data.getAssetRootQuota('projects/my-project/assets')
Éditeur de code
Dans le Gestionnaire d'assets, pointez sur la racine d'un projet et 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'assets.