Questions fréquentes

Questions générales

J'ai un problème, j'ai besoin d'aide !

Posez une question en suivant ce guide et en fournissant le plus d'informations possible (consultez le guide Stack Overflow pour poser de bonnes questions). Cela signifie généralement :

  • en envoyant un lien vers un script dans l'éditeur de code (cliquez sur le bouton "Obtenir le lien" pour l'obtenir) ;

  • Partagez tous les composants nécessaires à l'exécution du script.

  • Pour les tâches par lot ayant échoué, indiquez l'ID de la tâche ayant échoué. Les ID de tâches ressemblent à ceci : 4C25GIJBMB52PXTEJTF4JLGL. Vous les trouverez dans l'onglet "Tâche" de l'éditeur de code. En savoir plus

Où puis-je en savoir plus sur l'architecture Earth Engine ?

Consultez cet article : Gorelick et al. 2017.

Consultez les pages EDU et Ressources de formation.

Consultez ce cours EE sans frais d'Ujaval Gandhi, qui inclut une vidéo de présentation de la télédétection.

Programmation Earth Engine

Quelles sont les erreurs de codage courantes ?

Consultez le guide de débogage.

Pourquoi le message d'erreur "... is not a function" s'affiche-t-il ?

Cette erreur se produit lorsque Earth Engine ne trouve pas la méthode appelée. Vérifiez les causes courantes suivantes :

Orthographe ou sensibilité à la casse : les méthodes sont sensibles à la casse. Vérifiez l'orthographe dans la documentation de référence de l'API.

Error: img.normalizedDiff(...) -> Correct: img.normalizedDifference(...)

Casts de type manquants : les valeurs renvoyées par des fonctions telles que .get() sont des instances ee.ComputedObject génériques et doivent être castées de manière explicite. Consultez Casting de type d'objet inconnu.

Error: dict.get('val').add(5) -> Correct: ee.Number(dict.get('val')).add(5)

Mélange de méthodes client et serveur : assurez-vous de ne pas utiliser de méthodes JavaScript ou Python standards (comme .push() ou .append()) sur les objets Earth Engine. Consultez Éviter de mélanger les fonctions client et serveur.

Error: list.push(4) or list.append(4) -> Correct: list.add(4)

Méthodes indisponibles : si l'objet est correctement typé et que la méthode existe dans la documentation ou a fonctionné auparavant, mais échoue maintenant, signalez un bug.

Pourquoi ne puis-je pas utiliser des opérations mathématiques de base comme ee.Image("image") * 2 ?

Dans EE, vous ne devez pas mélanger les objets ni les opérations côté serveur et côté client. Toutes les opérations sur les objets EE sont effectuées côté serveur. Les calculs côté client ne produiront pas l'effet escompté. Pour en savoir plus, consultez cette page.

Comment utiliser les boucles for ou les instructions if/else ?

La programmation Earth Engine s'effectue à l'aide d'un langage fonctionnel. Les boucles et les opérations conditionnelles doivent donc être exprimées à l'aide de concepts équivalents tels que map ou filter. Pour en savoir plus, consultez cette page.

Comment afficher des libellés de texte dans mon image ou ma vidéo ?

Les libellés de texte ne sont pas pris en charge de manière native, mais vous pouvez :

Puis-je utiliser des palettes de couleurs standards ?

Utilisez un package JS tiers ee-palettes.

Comment créer mon propre site Web qui utilise Earth Engine ?

Utilisez Earth Engine Apps pour les applications de base. Dans les cas plus complexes, vous pouvez créer des applications App Engine optimisées par EE.

Comment fonctionnent les ID de carte ?

Les ID de carte (appelés mapid dans l'API) sont des clés qui permettent aux clients de récupérer des tuiles de carte. Chaque ID est un hachage créé en fournissant une expression d'image au point de terminaison getMapId. Les ID obtenus sont des clés qui pointent à la fois vers l'expression d'image et les identifiants utilisateur qui seront utilisés pour générer des tuiles à une étape ultérieure.

Pour demander des tuiles de carte, vous devez spécifier l'emplacement de la tuile (x, y, zoom) ainsi que le mapid (clé de l'image et des identifiants). Le même ID peut être réutilisé pour charger plusieurs tuiles de carte. Il n'y a pas de limite à la réutilisation des clés mapid, mais elles expirent au bout de quelques heures. Nous ne publions pas de délais spécifiques concernant leur durée de vie, mais tout code que vous écrivez doit être résistant à l'expiration de l'ID.

La création de ces ID implique le stockage d'une petite quantité de données et la validation des identifiants. Il est donc préférable de les réutiliser le plus longtemps possible. Aucun quota d'API n'est spécifiquement associé au point de terminaison getMapId, mais tout workflow impliquant la création d'objets mapid à un rythme proche de celui de la récupération des tuiles fait probablement quelque chose de mal. Earth Engine ne dispose d'aucun point de terminaison d'API pour supprimer, lister ou gérer ces ID, car il s'agit de ressources temporaires.

Pourquoi ee.Algorithms.If() affiche-t-il à la fois le cas "true" et le cas "false" ?

function a() { print("true"); }
function b() { print("false"); }
// Prints 'true' and 'false'.
ee.Algorithms.If(true, a(), b());

L'algorithme If() fonctionne comme tous les autres algorithmes sur Earth Engine, c'est-à-dire que tous ses arguments doivent être évalués avant que l'algorithme lui-même puisse s'exécuter. L'algorithme obtient les résultats trueCase et falseCase, puis en sélectionne et en renvoie un en fonction de l'argument condition. Toutefois, les deux chemins d'accès ont dû être exécutés pour que ces valeurs soient transmises à l'algorithme en premier lieu.

Le message d'erreur "La taille de la charge utile de la requête dépasse la limite" s'affiche

Vous essayez d'envoyer une très grande requête à Earth Engine. Cela se produit généralement lorsque le code utilise de nombreuses boucles "for" côté client ou construit une FeatureCollection à partir de nombreux objets géométriques. Dans ce dernier cas, au lieu de créer de telles géométries dans votre script, générez un fichier CSV les contenant et importez-le dans un élément de table.

Quelle est la différence entre ee.Image.clip() et ee.Filter.bounds() ?

Consultez ce fil de discussion sur GIS Stack Exchange. La fonction ee.Image.clip() masque les pixels qui n'intersectent pas un ee.Geometry ou un ee.Feature donné, ce qui les rend transparents dans les visualisations et les exclut des calculs. Vous pouvez le considérer comme un recadrage des pixels d'une image.

La fonction ee.Filter.bounds() filtre les objets ee.Image d'un ee.ImageCollection en fonction de l'intersection des images avec un ee.Geometry ou un ee.Feature. Il permet de limiter le champ d'application d'une analyse aux images qui croisent une région donnée, ce qui aide à optimiser les expressions.

Comment convertir des pixels d'image en collections d'entités, avec une entité par pixel ?

Utilisez la fonction ee.Image.sample(). Consultez des exemples d'utilisation sur la page de référence de l'API de la fonction.

Quelle est la différence entre ee.ImageCollection.merge() et ee.ImageCollection.combine() ?

La fonction ee.ImageCollection.merge() fusionne toutes les images de deux collections en une seule, que leurs images respectives aient des bandes, des métadonnées, un CRS ou une échelle coïncidents ou non. Il s'agit de l'union de deux collections. La méthode combine() combine les bandes d'images correspondantes de deux collections en une seule collection. Les images correspondantes partagent le même ID (propriété system:index). Il s'agit d'une jointure interne de deux collections basée sur l'ID d'image, où les bandes des images correspondantes sont combinées. Pour les images correspondantes, les bandes de l'image secondaire sont ajoutées à l'image principale (l'écrasement est facultatif). Si aucune image correspondante n'est trouvée, une collection vide est renvoyée.

Comment filtrer des collections d'images sur plusieurs intervalles de dates ?

Consultez ce fil de discussion sur GIS Stack Exchange. merge() plusieurs collections ensemble ou utilisez ee.Filter.or().

Comment créer un cadre de délimitation autour d'un point donné ?

// Buffer the point by a chosen radius and then get the bounding box.
var LNG = -117.298;
var LAT = 45.162;
var point = ee.Geometry.Point([LNG, LAT]);
var buffer = point.buffer(30000); // half of box width as buffer input
var box = buffer.bounds(); // draw a bounding box around the buffered point
Map.centerObject(box);
Map.addLayer(point);
Map.addLayer(box);

// Map the buffer and bounds procedure over a point feature collection.
var pointCol = ee.FeatureCollection([
  ee.Feature(ee.Geometry.Point([LNG + 1, LAT])),
  ee.Feature(ee.Geometry.Point([LNG - 1, LAT]))
]);
var boxCol = pointCol.map(function(feature) {
  var box = feature.buffer(30000).bounds();
  return feature.setGeometry(box.geometry());
});
Map.addLayer(boxCol);

Data Catalog

Peux-tu ajouter l'ensemble de données X ?

Signalez un bug concernant une demande d'ensemble de données en suivant le guide des demandes d'ensembles de données.

Vous pouvez également importer des données dans votre dossier personnel Earth Engine. Consultez Importer des données raster et Importer des données de table.

Une nouvelle version d'un ensemble de données existant est disponible

Signalez un bug concernant un ensemble de données en suivant le guide de demande d'ensemble de données et indiquez que vous demandez une mise à jour de l'ensemble de données.

Un ensemble de données existant n'est pas mis à jour ou il manque des composants

Avant de signaler un problème, vérifiez, si possible, que les composants sélectionnés existent réellement sur le site du fournisseur de l'ensemble de données. Pour en savoir plus, consultez le guide sur les images manquantes.

Si vous recherchez un élément en filtrant un ImageCollection, assurez-vous que vos filtres ne sont pas trop restrictifs.

Observez en particulier les points suivants :

  • L'ESA n'a pas produit de données Sentinel-2 SR (niveau 2) pour les premières scènes de niveau 1.

  • Landsat ne couvre pas le monde entier avant l'an 2000.

Un ensemble de données existant contient des valeurs incorrectes

Publiez un message sur le forum des développeurs. Incluez un script qui effectue un zoom avant sur la résolution d'origine du composant et permet de voir clairement quelles valeurs sont incorrectes. Expliquez précisément où vous avez observé la valeur alternative.

Où puis-je poser d'autres questions sur les ensembles de données ?

Pour toute question concernant les ensembles de données de la NASA, consultez le forum NASA Earth Data.

Pour toute question concernant le fonctionnement des boîtes à outils sur les ensembles de données Copernicus, consultez les forums S1, S2 et S3.

Quelle est la taille du catalogue EE ?

En octobre 2023, le catalogue contient plus de 1 000 ensembles de données. Sa taille sur le disque est supérieure à 90 pétaoctets (après prise en compte de la compression sans perte).

À quelle fréquence les données sont-elles mises à jour dans EE ?

En règle générale, tous les ensembles de données en cours sont mis à jour au moins une fois par jour (mais tous ne contiennent pas de nouvelles données chaque jour). Certains ensembles de données sont mis à jour plusieurs fois par jour. Toutefois, aucune règle ne garantit la présence des éléments les plus récents dans le catalogue.

Comment afficher le contenu du catalogue EE par programmation ?

La liste des ensembles de données est exportée au format STAC vers un bucket Google Cloud Storage gs://earthengine-stac. Le fichier d'entrée est catalog.json.

Puis-je utiliser les données ou les images Google Maps pour effectuer des analyses ?

Google ne concède pas de licence ni ne vend de données de carte de base pour l'analyse.

Comment trouver la date à laquelle un composant a été ingéré ?

La propriété 'system:version' de l'élément est le code temporel d'ingestion, mis en forme en microsecondes depuis l'époque Unix. Voici un exemple qui convertit le code temporel d'ingestion d'une image Landsat dans un format lisible.

var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508');
print('Ingest date', ee.Date(image.getNumber('system:version').divide(1000)));

Le catalogue Earth Engine contient-il des métadonnées JSON-LD ?

Oui, les métadonnées JSON-LD sont intégrées aux pages HTML du catalogue. Par exemple, la page Sentinel-2 contient le bloc suivant :

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [{
      "@type": "ListItem",
      "position": 1,
      "name": "Earth Engine Data Catalog",
      "item": "https://developers.google.com/earth-engine/datasets"
    },{
      "@type": "ListItem",
      "position": 2,
      "name": "Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-1C",
      "item": "https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_S2_HARMONIZED"
    }]
  }
  </script>

Landsat

Comment l'algorithme simpleComposite est-il implémenté ?

L'implémentation côté serveur est équivalente à ce code JavaScript.

Comment créer des composites sans nuages à partir des données de réflectance de surface Landsat ?

Les données Landsat de niveau 2 (réflectance de surface) comportent plusieurs bandes de qualité qui peuvent être utilisées pour masquer les nuages et autres artefacts d'image indésirables. Un exemple d'utilisation de ces bandes pour traiter les images Landsat 8 SR et créer un composite médian sans nuages est fourni dans ce post GIS Stack Exchange. La même procédure est utilisée pour créer un composite sans nuages à utiliser dans les exemples de classification supervisée du Guide du développeur.

L'harmonisation de la réflectance de surface Landsat entre les capteurs est-elle nécessaire ?

Roy et al., 2016 comprenait une analyse des différences de réflectance entre la réflectance de surface et la réflectance au sommet de l'atmosphère (TOA) de Landsat 7-8. Ils ont publié les coefficients OLS et RMA pour que les lecteurs puissent transformer les valeurs de réflectance des données d'un capteur en celles d'un autre. La dernière ligne de l'article indique : "Bien que les différences entre les capteurs soient minimes, elles peuvent avoir un impact significatif en fonction de l'application des données Landsat." Toutefois, cette analyse était basée sur des données pré-collectées.

Les améliorations apportées lors du retraitement des collections 1 et 2 peuvent influencer la relation entre les capteurs, mais à notre connaissance, aucune analyse semblable à celle de Roy et al. (2016) n'a été effectuée pour les données des collections 1 ou 2. Bien qu'aucune analyse formelle n'ait été effectuée, il semble exister un consensus général parmi les utilisateurs influents de Landsat selon lequel aucune correction n'est nécessaire pour les données de la collection 2, niveau 2 (réflectance de surface). Par exemple, en réponse à une question concernant la nécessité d'une harmonisation de la collection 2, niveau 2, Mike Wulder de l'équipe scientifique Landsat a noté que, selon la nature de l'application concernée (y compris la cartographie de la couverture terrestre et la détection des changements), les produits de réflectance de surface de la collection 2 sont très adaptés et fiables, sans nécessiter d'ajustement entre les capteurs.

Comment masquer les nuages et les ombres de nuages dans les images MSS ?

Le module msslib tiers pour l'éditeur de code JavaScript inclut une implémentation de l'algorithme MSScvm, ainsi que d'autres fonctions utiles pour explorer et préparer les données MSS.

Gestion des données

À qui appartiennent les données que j'importe ?

Conformément aux Conditions d'utilisation d'Earth Engine, les clients sont propriétaires des données qu'ils importent dans Earth Engine.

Je n'arrive pas à importer de données.

Vérifiez l'état de la tâche d'importation dans le volet "Tâches" en haut à droite de l'éditeur de code. Vous pouvez également consulter la page dédiée aux tâches.

Si aucune tâche n'est affichée, vous avez probablement essayé d'importer votre fichier via l'éditeur de code, mais en raison d'un problème de réseau, l'importation du fichier n'a jamais abouti et la tâche n'a donc jamais été créée. Essayez d'utiliser un autre navigateur ou un autre ordinateur.

Si une tâche a échoué, examinez l'erreur qui s'affiche. S'il n'y a pas de message d'erreur spécifique, vérifiez d'abord que votre fichier n'est pas corrompu en exécutant gdalinfo pour les fichiers raster ou ogr2ogr pour les fichiers vectoriels. Ces commandes tenteront de lire toutes les données des fichiers sources et afficheront des erreurs si les fichiers sont corrompus.

Exemple d'appel gdalinfo :

gdalinfo -mm -stats -checksum file.tif

Exemple d'appel ogr2ogr qui convertira in.shp en out.csv :

ogr2ogr -lco GEOMETRY=AS_WKT -f CSV out.csv in.shp

Si le fichier semble valide, publiez l'ID de la tâche ayant échoué sous forme de texte (et non de capture d'écran) sur la liste de diffusion des développeurs. Les ID de tâches sont au format suivant : 4C25GIJBMB52PXTEJTF4JLGL. Si possible, rendez votre fichier source accessible publiquement. S'il s'agit d'un fichier privé, partagez-le uniquement avec earthengine@google.com si vous souhaitez que l'équipe Earth Engine l'examine. Si vous ne pouvez pas partager le fichier source, fournissez au moins le résultat de gdalinfo -mm -stats -checksum.

Si Earth Engine ne prend pas en charge une projection spécifique, vous devrez reprojeter les données avant de les importer, par exemple à l'aide de gdalwarp.

Comment importer un fichier au format NetCDF ou dans un autre format raster non accepté ?

Seuls les fichiers GeoTIFF peuvent être importés dans Earth Engine. D'autres formats compatibles avec GDAL peuvent être convertis en GeoTIFF à l'aide de gdal_translate. Exemple :

gdal_translate -co COMPRESS=DEFLATE file.nc file.tif

Notez que certains fichiers NetCDF ou HDF sont constitués de plusieurs sous-ensembles de données qui peuvent être découverts avec gdalinfo. Dans ce cas, la commande gdal_translate se présentera comme suit (notez le chemin d'accès entre les guillemets doubles) :

gdal_translate HDF4_EOS:EOS_GRID:"/tmp/MCD12Q1.A2001001.h00v08.005.2011055224312.hdf":MOD12Q1:Land_Cover_Type_1 file.tif

Les fichiers NetCDF ne comportent parfois pas de projection reconnue par GDAL. Dans ce cas, vous devrez définir la projection et l'étendue spatiale dans la ligne de commande gdal_translate. Exemple :

gdal_translate -a_srs EPSG:4326 -a_ullr -180 90 180 -90 file.nc file.tid

Quels algorithmes de compression puis-je utiliser pour les fichiers GeoTIFF importés ?

Pour l'importation, les fichiers GeoTIFF peuvent être compressés avec DEFLATE, JPEG, JPEG-XL/JXL, LERC, LERC_DEFLATE, LERC_ZSTD, LZMA, LZW, WEBP ou ZSTD. Pour la lecture en direct des COG, vous pouvez utiliser DEFLATE, JPEG, LZW ou ZSTD. ZSTD est un bon choix global, car il est rapide à décompresser tout en offrant une bonne compression de la plupart des images.

Pour appliquer la compression ZSTD lorsque vous utilisez gdal_translate, ajoutez ces options. Si les données contiennent des valeurs à virgule flottante, remplacez PREDICTOR par 3.

gdal_translate in.tif out.tif \
  -co COPY_SRC_OVERVIEWS=YES \
  -co TILED=YES \
  -co BLOCKXSIZE=512 \
  -co BLOCKYSIZE=512 \
  -co COMPRESS=ZSTD \
  -co PREDICTOR=2 \
  -co ZSTD_LEVEL=22 \
  -co INTERLEAVE=BAND \
  -co NUM_THREADS=ALL_CPUS

L'ingestion de mon raster est en cours depuis plusieurs jours et n'est pas terminée.

À l'aide de gdalinfo, vérifiez si l'option GDAL suivante est définie dans votre fichier : INTERLEAVE=PIXEL. Pour les fichiers avec cette option et de nombreuses bandes, l'ingestion peut ne jamais se terminer, car la mise en page de ces fichiers rend les lectures très lentes.

Essayez de convertir ces fichiers au format de mise en page par bandes entrelacées avant de les importer :

gdal_translate -co "INTERLEAVE=BAND" src.tif dst.tif

Les rasters que j'ai importés ne correspondent pas à la carte de base.

Si les données sont légèrement décalées par rapport à la carte de base, il est probable que la projection comporte un datum incorrect (hypothèse sur la forme de la Terre). Cela se produit le plus souvent avec la projection sinusoïdale qui ne peut pas être entièrement encodée dans les métadonnées GDAL. Lorsque vous connaissez la projection cible (par exemple, SR-ORG:6974 pour les fichiers utilisant la projection sinusoïdale MODIS), définissez l'option --crs lors de l'importation en ligne de commande ou le champ crs du fichier manifeste d'importation.

Si les données semblent très déformées ou complètement mal placées, il est probable que la projection ou la transformation affine soit incorrecte.

Mon raster ne s'affiche que sur l'hémisphère est.

Vous avez probablement importé un raster global qui couvre la plage de longitude [0, 360]. Toutefois, Earth Engine exige que les rasters soient compris dans la plage [-180, 180]. Inversez les moitiés gauche et droite du raster avant l'ingestion. Consultez ces suggestions sur GIS Stack Exchange.

Pourquoi l'image de classification ingérée semble-t-elle mouchetée ?

Vous avez probablement utilisé la règle de pyramide MEAN par défaut. Pour les images de classification, la stratégie de pyramide MODE doit être utilisée. Pour les images QA/bitmask, la stratégie de pyramide SAMPLE doit être utilisée.

L'erreur suivante s'affiche : "La valeur de données -128.0 ne peut pas être appliquée à la bande #0 de type Short<0, 255>."

GDAL ne peut pas traiter les bandes d'un octet comme contenant des entiers signés. Il lit donc ces bandes comme des entiers non signés. Cela entrerait en conflit avec les valeurs négatives "aucune donnée".

Si vos valeurs sont en fait des entiers signés, utilisez manifest upload et ajoutez ceci à la section du tileset contenant votre fichier : data_type: "INT8"

Si vos valeurs sont des entiers non signés, votre fichier comporte une valeur nodata incorrecte. Vous pouvez la remplacer lors de l'importation par la valeur de données correcte (ou une valeur qui ne se produit jamais, si elle existe). Vous pouvez également utiliser gdal_translate -a_nodata pour modifier la valeur nodata ou gdal_edit.py -unsetnodata pour la supprimer.

Comment importer un fichier au format GeoJSON ou dans un autre format vectoriel non compatible ?

Utilisez ogr2ogr pour traduire les formats compatibles avec OGR en CSV ou SHP. Exemple :

or2ogr -f "ESRI Shapefile" file.shp file.kml

Notez que dans les importations CSV, la colonne de géométrie peut contenir des données GeoJSON.

Je souhaite importer des données à l'aide de Python ou importer plusieurs fichiers à la fois.

Utilisez l'importation en ligne de commande. Pour ce type d'importation, les fichiers sources doivent d'abord être placés dans un bucket GCS (Google Cloud Storage). L'utilisation de GCS n'entraîne aucun frais si vous respectez les limites du niveau sans frais. Pour en savoir plus, consultez la page des tarifs.

Je souhaite importer une grande mosaïque raster divisée en plusieurs tuiles.

Si tous les fichiers ont la même projection et la même taille de pixel, il vous suffit de les importer ensemble dans le même composant. Ils seront mosaïqués automatiquement.

Si les fichiers ont des projections ou des tailles de pixels différentes, ils ne peuvent pas être mosaïqués en un seul élément raster. À la place, importez chaque tuile en tant qu'asset distinct dans le même ImageCollection, qui peut être mosaïqué à l'aide de ImageCollection.mosaic().

J'essaie d'importer une mosaïque et je reçois des messages d'erreur concernant des tuiles non concordantes.

Les tuiles des mosaïques raster Earth Engine doivent avoir la même projection et la même taille de pixel. De plus, les tuiles doivent être alignées exactement sur les limites des pixels.

J'essaie d'importer un fichier depuis un bucket GCS, mais Earth Engine ne le trouve pas.

Il est possible que vous ayez utilisé différents comptes Google pour l'importation dans GCS et pour la connexion à Earth Engine. Assurez-vous que le compte que vous utilisez pour vous connecter à Earth Engine peut lire le fichier GCS. Si la connexion multiple au navigateur rend la situation confuse, connectez-vous à Earth Engine dans une fenêtre de navigation privée.

Je souhaite exporter plusieurs composants à la fois.

Vous devez exporter chaque image séparément.

Je souhaite déplacer ou supprimer un Folder ou un ImageCollection à l'aide d'une seule commande.

Vous devez d'abord déplacer ou supprimer chaque composant, puis déplacer ou supprimer le dossier ou la collection parents. S'il y a beaucoup d'éléments enfants, écrivez une boucle shell ou Python pour les parcourir.

Je souhaite accéder directement aux données Earth Engine depuis l'extérieur.

QGIS dispose d'un plug-in Earth Engine.

GDAL dispose d'un pilote Earth Engine.

D'autres systèmes peuvent utiliser l'API REST EE.

Je souhaite mettre à jour une partie de mon élément Earth Engine sans le réingérer complètement.

Il n'est pas possible de mettre à jour les données raster ou vectorielles importées dans EE. Seules les propriétés des métadonnées de l'élément peuvent être mises à jour.

Je suis en train de perdre l'accès à mon compte. Que faire de mes composants ?

Si les règles du compte d'origine autorisent le transfert de données, veuillez partager vos composants avec un autre compte, puis les copier pour qu'ils appartiennent au nouveau compte. Utilisez l'utilitaire de copie en ligne de commande si vous devez déplacer de nombreux composants.

Si un compte est supprimé, les composants qu'il possède ne sont plus accessibles.

Mon image exportée ne se trouve pas au bon endroit.

Pour certaines projections, comme les projections sinusoïdales ou coniques, les fichiers GeoTIFF ne peuvent parfois pas stocker tous les paramètres de projection nécessaires. Le fichier exporté s'affiche alors au mauvais endroit lorsqu'il est consulté dans des outils SIG pour ordinateur ou réingéré dans EE.

Pour résoudre ce problème, spécifiez un paramètre crs d'exportation qui fonctionne bien avec les fichiers GeoTIFF. Par exemple, utilisez le code EPSG pour la zone UTM contenant votre zone d'intérêt.

Quel emplacement de bucket Cloud Storage dois-je utiliser pour stocker les éléments COG ?

La réponse dépend de ce que vous essayez d'optimiser. Si vous optimisez l'accès au calcul à faible latence, les meilleurs emplacements de bucket GCS pour stocker les composants COG sont US-CENTRAL*. Pour en savoir plus sur les autres considérations, consultez la page Emplacements des buckets.

Les propriétés que j'ai définies ne sont pas conservées dans les collections d'entités exportées.

Aucune fonction Export.table.* ne conserve les propriétés au niveau de la table dans la sortie. De nombreux formats de sortie (CSV, GeoJSON, par exemple) ne sont pas compatibles avec ces métadonnées. La fonction Export.table.toAsset pourrait être compatible avec les propriétés au niveau de la table, mais ce n'est pas le cas pour le moment.

Les tableaux exportés vers Drive au format CSV sont convertis au format XLSX.

Selon vos paramètres Google Drive, les tableaux CSV que vous exportez depuis Earth Engine peuvent être convertis en fichiers XLSX, ce qui peut avoir des effets indésirables, comme des conversions de types de données. Pour modifier le comportement des exportations suivantes, procédez comme suit.

  1. Dans Google Drive sur le Web, cliquez sur l'icône en forme de roue dentée en haut à droite.
  2. Cliquez sur "Paramètres".
  3. Faites défiler la page jusqu'à "Convertir les fichiers importés au format Google Docs", puis décochez l'option.

Éditeur de code

Je ne parviens pas à me connecter à l'éditeur de code, car il m'invite à utiliser le mauvais compte.

Déconnectez-vous, sélectionnez le compte enregistré pour utiliser Earth Engine sur la page "Choisir un compte", puis resélectionnez le même compte sur la deuxième page "Choisir un compte pour continuer vers l'éditeur de code Earth Engine" (le libellé exact peut varier).

Je souhaite faire une capture d'écran d'une carte du monde, mais je n'aime pas la projection Web Mercator.

La projection cartographique utilisée dans l'éditeur de code est Web Mercator ("EPSG:3857"). Elle augmente la taille des objets loin de l'équateur, ce qui fait que les régions à haute latitude semblent beaucoup plus grandes qu'elles ne le sont en réalité, par rapport aux régions proches de l'équateur. Vous ne pouvez pas modifier la projection du canevas de carte de l'éditeur de code, mais vous pouvez "peindre" une image dans la projection de votre choix sur le canevas Web Mercator à l'aide de la méthode ee.Image.changeProj. Consultez la documentation de référence de l'API de la méthode pour obtenir un exemple d'affichage d'un MNE global sur la carte de l'éditeur de code dans la projection de Robinson. Notez que cette technique ne doit être utilisée qu'à des fins de visualisation, car l'inspecteur et les outils de dessin de l'éditeur de code fonctionnent toujours en Web Mercator.

Mon script ne s'enregistre pas (Script error: Unknown commit).

Si vous recevez un message Script error: Unknown commit lorsque vous enregistrez un script, cela signifie probablement que le dépôt dans lequel vous enregistrez le script n'est pas synchronisé. La cause de cet état est variable et difficile à identifier. Pour résoudre le problème, essayez d'actualiser la liste des scripts à l'aide du bouton situé en haut à droite de l'onglet "Scripts". Si cela ne fonctionne pas, essayez de créer un dépôt à partir du bouton "Nouveau" de l'onglet "Script", puis enregistrez votre script dans ce dépôt (vous devrez peut-être déplacer les scripts du dépôt désynchronisé vers le nouveau dépôt).