L'outil earthengine est un programme utilitaire qui vous permet de gérer les éléments et les tâches Earth Engine à partir de la ligne de commande. Il est installé automatiquement lorsque vous
installez l'API Python. Pour vérifier si l'outil est installé et fonctionne correctement, saisissez la commande suivante dans une ligne de commande :
earthengine
Si l'outil est correctement installé, il affiche un bref résumé des commandes disponibles. Pour obtenir de l'aide sur une commande spécifique, utilisez :
earthengine command -h
Lorsque vous installez l'API Python pour la première fois, vous devez vous connecter à l'aide de la commande authenticate décrite ci-dessous. Les sections suivantes décrivent les commandes disponibles plus en détail.
Identifiants du compte de service
Pour utiliser la CLI avec les identifiants d'un compte de service, utilisez l'option service_account_file pour pointer vers un fichier JSON contenant la clé du compte de service.
earthengine --service_account_file=service_account_creds.json
Utilisation dans Colab
L'outil de ligne de commande Earth Engine est préinstallé et prêt à être utilisé dans Google Colab.
Authentification
Authentifiez-vous pour chaque nouvelle session Colab ou si la machine virtuelle expire en raison de l'inactivité (les identifiants ne sont pas enregistrés d'une session à l'autre).
Importez la bibliothèque cliente Python et appelez ee.Authenticate() pour déclencher le flux d'authentification. Suivez ensuite les instructions pour effectuer l'authentification. Le
auth_mode par défaut dans Colab est colab. Pour connaître les autres options, consultez le
guide d'authentification
.
import ee
ee.Authenticate()
Exécution des commandes
Pour exécuter des utilitaires de ligne de commande, comme la CLI Earth Engine, vous devez ajouter un point d'exclamation avant les appels de commande.
!earthengine -h
Définir un projet Cloud
Utilisez l'option --project pour définir un projet Cloud pour chaque commande earthengine individuelle.
!earthengine --project my-project <command>
Vous pouvez également définir un projet par défaut à utiliser par tous les earthengine
appels à l'aide de la set_project commande. Le projet sera ajouté
à un fichier d'identifiants (~/.config/earthengine/credentials) et utilisé pour les
commandes suivantes, sauf s'il est remplacé par l'option --project
!earthengine set_project my-project
Document de référence sur les commandes
s'authentifier
Authentifie l'outil de ligne de commande et la bibliothèque cliente Python auprès d'Earth Engine. Exemple :
earthengine authenticate
Earth Engine utilise le protocole OAuth 2.0 pour authentifier les clients. La commande earthengine authenticate vous guidera tout au long du processus d'authentification à l'aide de votre navigateur Web.
Vous devrez installer gcloud si
vous utilisez le mode d'authentification gcloud par défaut. Consultez les autres modes d'authentification
disponibles via le auth_mode paramètre dans le guide
d'authentification.
acl
Affiche ou met à jour la liste de contrôle d'accès (LCA) d'un élément Earth Engine. La LCA contrôle qui peut lire ou écrire dans un élément. Exemples :
earthengine acl get projects/my-project/assets/asset_id
earthengine acl set public projects/my-project/assets/asset_id
earthengine acl ch -u username@gmail.com:R projects/my-project/assets/asset_id
La sous-commande get affiche une description JSON de la LCA. La sous-commande set définit une LCA fournie dans un fichier au même format JSON. Vous pouvez copier une LCA d'un élément vers d'autres en enregistrant la sortie de get et en la fournissant à set.
La sous-commande set accepte également deux noms de LCA spéciaux :
private: supprime les autorisations de tous les utilisateurs, à l'exception du propriétaire.public: accorde l'autorisation de lecture à tous les utilisateurs.
La sous-commande ch vous permet d'apporter des modifications individuelles à une LCA. Pour accorder l'autorisation de lecture
, spécifiez -u username@gmail.com:R. Pour accorder l'autorisation d'écriture, spécifiez
-u username@gmail.com:W. Pour supprimer les autorisations d'un utilisateur, spécifiez -d
username@gmail.com. L'identifiant utilisateur spécial AllUsers peut être utilisé pour accorder ou révoquer l'autorisation de lecture à tous les utilisateurs. (Notez que la révocation des autorisations AllUsers ne révoque pas les autorisations supplémentaires que vous avez peut-être également accordées à des utilisateurs individuels.)
asset
Affiche ou met à jour les métadonnées associées à un élément Earth Engine. Exemples :
earthengine asset info projects/my-project/assets/asset_id
earthengine asset set -p name=value projects/my-project/assets/asset_id
La sous-commande info affiche des informations détaillées sur l'élément, y compris ses métadonnées, au format JSON. La sous-commande set définit des propriétés de métadonnées individuelles sur un élément.
Les valeurs des propriétés de métadonnées que vous définissez peuvent être des nombres ou des chaînes.
Lorsque vous définissez des noms de propriété à l'aide de l'option --property ou -p, séparez le
nom et la valeur de la propriété par un signe égal. Le type de données est détecté automatiquement, mais vous pouvez également le spécifier explicitement en ajoutant le préfixe (string), (number) ou (date) au nom de la propriété. Par exemple, cela définit une propriété de valeur de chaîne
avec la valeur "42" :
earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id
(Dans cet exemple, les guillemets empêchent le shell d'interpréter les parenthèses. Ils peuvent être nécessaires ou non, selon votre shell et votre plate-forme.)
Pour créer des propriétés spéciales pour les visualisations de bandes de classification, vous pouvez stocker les listes de valeurs et de couleurs sous forme de chaînes séparées par une virgule. Par exemple, pour définir la palette et les valeurs de classe d'une bande nommée landcover :
earthengine asset set -p 'landcover_class_palette=ff0000,00ff00,0000ff' projects/my-project/assets/asset_id
earthengine asset set -p 'landcover_class_values=1,2,3' projects/my-project/assets/asset_id
Pour supprimer une propriété, définissez-la sur null sans type :
earthengine asset set -p name=null projects/my-project/assets/asset_id
Les propriétés de date ne sont que des nombres représentant un nombre de millisecondes depuis l'époque Unix (c'est-à-dire le 1er janvier 1970 à minuit). Elles peuvent être spécifiées directement sous forme de nombre ou dans l'un des formats suivants :
YYYY-MM-DD
YYYY-MM-DDThh:mm:ss
YYYY-MM-DDThh:mm:ss.f
Le fuseau horaire est supposé être UTC. Vous pouvez définir les propriétés spéciales d'heure de début et de fin à l'aide des options --time_start et --time_end :
earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id
cp
Copie un élément. Exemple :
earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
create
Crée des dossiers et des collections d'images. Exemple :
earthengine create folder projects/my-project/assets/folder_id
earthengine create collection projects/my-project/assets/collection_id
Utilisez la sous-commande folder pour créer des dossiers et collection pour créer des collections d'images. Vous pouvez spécifier l'option -p pour créer de manière récursive des dossiers parents si nécessaire. Par défaut, les dossiers et les images nouvellement créés disposent de LCA privées.
ls
Liste le contenu d'un ou de plusieurs dossiers ou collections. Exemple :
earthengine ls users/username
L'option -l demande un format long avec plus d'informations sur chaque élément (actuellement, uniquement son type). Vous pouvez spécifier --max_items number (ou -m en
abrégé) pour limiter le nombre d'éléments de chaque dossier ou collection que vous listez :
earthengine ls -m 10 projects/my-project/assets/my_large_collection
L'exécution de la commande ls sans argument liste les dossiers de premier niveau dont vous êtes propriétaire.
modèle
Outil permettant de manipuler les modèles enregistrés TensorFlow.
model prepare
Préparez un modèle enregistré pour la diffusion dans Earth Engine. Plus précisément, cela transforme votre SavedModel en un format adapté au traitement des requêtes d'Earth Engine. (En savoir plus sur
SavedModel.)
earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'
En savoir plus sur les modèles AI Platform ici. Voir un exemple complet ici .
mv
Déplace ou renomme un élément. Exemple :
earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
project_config
Définit les valeurs de configuration du projet. Avant d'utiliser cette commande, veillez à définir un
projet à l'aide de set_project.
get
Pour afficher la configuration d'un projet, utilisez la sous-commande get :
earthengine alpha project_config get
maxConcurrentExports: nombre indiquant le nombre maximal de tâches par lot pouvant être exécutées en parallèle pour tous les utilisateurs du projet donné. Par défaut, cette valeur est définie sur le maximum autorisé par le forfait d'abonnement du compte de facturation associé.
En outre, si vous avez l'autorisation d'afficher la configuration du forfait, la sortie contient les éléments suivants :
planMaxConcurrentExports: nombre indiquant le nombre maximal de tâches par lot pouvant être exécutées en parallèle pour tous les utilisateurs et projets qui utilisent le compte de facturation.
set
Pour mettre à jour la configuration du projet, utilisez la sous-commande set. Les paramètres suivants peuvent être configurés :
max_concurrent_exports: permet de contrôler le parallélisme maximal des tâches par lot du projet- nécessite les autorisations appropriées permissions
Par exemple, pour configurer un projet afin qu'il n'autorise jamais l'exécution de plus de 10 tâches en parallèle pour le projet donné :
earthengine alpha project_config set --max_concurrent_exports=10
La sortie affiche la configuration du projet mise à jour, identique à celle renvoyée par
get.
Pour en savoir plus sur le parallélisme des tâches par lot, consultez la page Earth Engine quotas.
rm
Supprime un ou plusieurs éléments. Exemple :
earthengine rm projects/my-project/assets/asset_id
earthengine rm -r projects/my-project/assets/folder_id
Vous pouvez utiliser l'option -r pour supprimer de manière récursive le contenu d'un dossier ou d'une collection. Pour plus de sécurité lors de la suppression de plusieurs éléments, vous pouvez utiliser l'option --dry_run afin de vérifier exactement ce qui sera supprimé sans rien supprimer.
set_project
Définit le projet Google Cloud via lequel les requêtes de calcul sont acheminées.
earthengine set_project foo-project
Cette commande est nécessaire avant d'exécuter des commandes qui nécessitent une fonctionnalité Cloud, par exemple model.
opération
Affiche des informations sur les tâches de longue durée ou les gère. Exemples :
earthengine task list
earthengine task list -l
earthengine task info TASK_ID
earthengine task cancel TASK_ID
La sous-commande list affiche des informations de base sur les tâches que vous avez envoyées récemment. L'option -l demande un format long avec plus d'informations sur chaque tâche. La sous-commande info affiche des informations détaillées sur les tâches individuelles. La sous-commande cancel annule une ou plusieurs tâches en cours d'exécution.
importation
Importe des images ou des tables de Google Cloud Storage vers Earth Engine, ou crée des éléments basés sur des images externes.
image
Pour importer un composant Image à l'aide des paramètres par défaut :
earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif
Si vous spécifiez plusieurs fichiers image d'entrée, ils seront interprétés comme des tuiles d'un seul composant Image. Pour en savoir plus sur les options d'importation d'images dans Earth Engine, consultez Importer des éléments image : options avancées.
Vous pouvez spécifier la règle de réduction de la pyramide à l'aide de l'option --pyramiding_policy, qui peut être définie sur mean (par défaut), sample, mode, min ou max. Cela contrôle la façon dont Earth Engine génère la pyramide des versions de votre image à plus faible résolution :
earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif
Vous pouvez utiliser --last_band_alpha pour indiquer que le masque de l'image doit être extrait d'un canal alpha dans la dernière bande :
earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif
Vous pouvez spécifier une valeur "no data" à l'aide de l'option --nodata_value. Cela masquera tous les pixels de l'image avec cette valeur :
earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif
Vous pouvez également spécifier des propriétés de métadonnées à définir sur l'élément à l'aide des mêmes
options que celles acceptées par la asset set commande décrite ci-dessus.
Les options sont également décrites dans le
guide du fichier manifeste d'image.
table
Pour importer un fichier Shapefile, CSV ou TFRecord de Google Cloud Storage vers un élément de table Earth Engine, vous pouvez utiliser l'une des méthodes suivantes :
earthengine upload table --asset_id=projects/my-project/assets/myUploadedShapefile gs://bucket/foo.shp
earthengine upload table --asset_id=projects/my-project/assets/myUploadedCSV gs://bucket/foo.csv
earthengine upload table --asset_id=projects/my-project/assets/myUploadedTFRecord gs://bucket/foo.tfrecord
Il existe de nombreuses options concernant la façon dont les fichiers CSV et TFRecord sont interprétés. Pour obtenir la liste complète des options d'importation de tables, consultez le guide du fichier manifeste de table ou exécutez la commande suivante :
earthengine upload table -h
external_image
Pour créer un élément basé sur une image externe, exécutez la commande upload_image avec un fichier manifeste :
earthengine upload external_image --manifest /tmp/foo.json
Voici un exemple de fichier manifeste :
{
"name": "projects/{project}/assets/cogdemo1",
"tilesets": [
{ "id": "0", "sources": [{ "uris": ["gs://ee-docs-demos/COG_demo.tif"] }] }
],
"properties": {
"source": "https://code.earthengine.google.com/d541cf8b268b2f9d8f834c255698201d"
},
"startTime": "2016-01-01T00:00:00.000000000Z",
"endTime": "2016-12-31T15:01:23.000000000Z"
}
Pour en savoir plus sur la création du fichier manifeste, consultez le guide Cloud GeoTIFF et le guide du fichier manifeste d'image.