Présentation de l'image

Comme indiqué dans le document Premiers pas, les données raster sont représentées sous forme d'objets Image dans Earth Engine. Les images sont composées d'une ou plusieurs bandes, et chaque bande possède son propre nom, type de données, échelle, masque et projection. Chaque image comporte des métadonnées stockées sous forme d'ensemble de propriétés.

Constructeur ee.Image

Les images peuvent être chargées en collant un ID de composant Earth Engine dans le constructeur ee.Image. Vous trouverez les ID d'image dans le catalogue de données. Par exemple, à un modèle numérique d'élévation (NASADEM) :

Éditeur de code (JavaScript)

var loadedImage = ee.Image('NASA/NASADEM_HGT/001');

Configuration de Python

Consultez la page Environnement Python pour en savoir plus sur l'API Python et sur l'utilisation de geemap pour le développement interactif.

import ee
import geemap.core as geemap

Colab (Python)

loaded_image = ee.Image('NASA/NASADEM_HGT/001')

Notez que la recherche d'une image à l'aide de l'outil de recherche de l'éditeur de code est équivalente. Lorsque vous importez le composant, le code de construction de l'image est écrit pour vous dans la section des importations de l'éditeur de code. Vous pouvez également utiliser un ID d'asset personnel comme argument du constructeur ee.Image.

Obtenir un ee.Image à partir d'un ee.ImageCollection

La méthode standard pour extraire une image d'une collection consiste à filtrer la collection, avec des filtres par ordre de spécificité décroissant. Par exemple, pour extraire une image de la collection de réflectance de surface Sentinel-2 :

Éditeur de code (JavaScript)

var first = ee.ImageCollection('COPERNICUS/S2_SR')
                .filterBounds(ee.Geometry.Point(-70.48, 43.3631))
                .filterDate('2019-01-01', '2019-12-31')
                .sort('CLOUDY_PIXEL_PERCENTAGE')
                .first();
Map.centerObject(first, 11);
Map.addLayer(first, {bands: ['B4', 'B3', 'B2'], min: 0, max: 2000}, 'first');

Configuration de Python

Consultez la page Environnement Python pour en savoir plus sur l'API Python et sur l'utilisation de geemap pour le développement interactif.

import ee
import geemap.core as geemap

Colab (Python)

first = (
    ee.ImageCollection('COPERNICUS/S2_SR')
    .filterBounds(ee.Geometry.Point(-70.48, 43.3631))
    .filterDate('2019-01-01', '2019-12-31')
    .sort('CLOUDY_PIXEL_PERCENTAGE')
    .first()
)

# Define a map centered on southern Maine.
m = geemap.Map(center=[43.7516, -70.8155], zoom=11)

# Add the image layer to the map and display it.
m.add_layer(
    first, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 2000}, 'first'
)
display(m)

Notez que le tri est effectué après les filtres. Évitez de trier l'ensemble de la collection.

Images issues de fichiers GeoTIFF dans le cloud

Vous pouvez utiliser ee.Image.loadGeoTIFF() pour charger des images à partir de GeoTIFF optimisés pour le cloud dans Google Cloud Storage. Par exemple, l'ensemble de données Landsat public hébergé dans Google Cloud contient ce GeoTIFF, qui correspond à la bande 5 d'une scène Landsat 8. Vous pouvez charger cette image depuis Cloud Storage à l'aide de ee.Image.loadGeoTIFF() :

Éditeur de code (JavaScript)

var uri = 'gs://gcp-public-data-landsat/LC08/01/001/002/' +
    'LC08_L1GT_001002_20160817_20170322_01_T2/' +
    'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF';
var cloudImage = ee.Image.loadGeoTIFF(uri);
print(cloudImage);

Configuration de Python

Consultez la page Environnement Python pour en savoir plus sur l'API Python et sur l'utilisation de geemap pour le développement interactif.

import ee
import geemap.core as geemap

Colab (Python)

uri = (
    'gs://gcp-public-data-landsat/LC08/01/001/002/'
    + 'LC08_L1GT_001002_20160817_20170322_01_T2/'
    + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF'
)
cloud_image = ee.Image.loadGeoTIFF(uri)
display(cloud_image)

Notez que si vous souhaitez recharger un GeoTIFF optimisé pour le cloud que vous exportez d'Earth Engine vers Cloud Storage, définissez cloudOptimized sur true lors de l'exportation, comme décrit ici.

Images issues de tableaux Zarr v2

Vous pouvez utiliser ee.Image.loadZarrV2Array() pour charger une image à partir d'un tableau Zarr v2 dans Google Cloud Storage. Par exemple, l'ensemble de données ERA5 public hébergé dans Google Cloud contient ce tableau Zarr v2, qui correspond aux mètres d'eau évaporés de la surface de la Terre. Vous pouvez charger ce tableau depuis Cloud Storage à l'aide de ee.Image.loadZarrV2Array() :

Éditeur de code (JavaScript)

var timeStart = 1000000;
var timeEnd = 1000010;
var zarrV2ArrayImage = ee.Image.loadZarrV2Array({
  uri:
      'gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray',
  proj: 'EPSG:4326',
  starts: [timeStart],
  ends: [timeEnd]
});
print(zarrV2ArrayImage);
Map.addLayer(zarrV2ArrayImage, {min: -0.0001, max: 0.00005}, 'Evaporation');

Configuration de Python

Consultez la page Environnement Python pour en savoir plus sur l'API Python et sur l'utilisation de geemap pour le développement interactif.

import ee
import geemap.core as geemap

Colab (Python)

time_start = 1000000
time_end = 1000010
zarr_v2_array_image = ee.Image.loadZarrV2Array(
    uri='gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray',
    proj='EPSG:4326',
    starts=[time_start],
    ends=[time_end],
)

display(zarr_v2_array_image)

m.add_layer(
    zarr_v2_array_image, {'min': -0.0001, 'max': 0.00005}, 'Evaporation'
)
m

Images constantes

En plus de charger des images par ID, vous pouvez également créer des images à partir de constantes, de listes ou d'autres objets Earth Engine appropriés. L'exemple suivant illustre les méthodes de création d'images, d'obtention de sous-ensembles de bandes et de manipulation de bandes :

Éditeur de code (JavaScript)

// Create a constant image.
var image1 = ee.Image(1);
print(image1);

// Concatenate two images into one multi-band image.
var image2 = ee.Image(2);
var image3 = ee.Image.cat([image1, image2]);
print(image3);

// Create a multi-band image from a list of constants.
var multiband = ee.Image([1, 2, 3]);
print(multiband);

// Select and (optionally) rename bands.
var renamed = multiband.select(
    ['constant', 'constant_1', 'constant_2'], // old names
    ['band1', 'band2', 'band3']               // new names
);
print(renamed);

// Add bands to an image.
var image4 = image3.addBands(ee.Image(42));
print(image4);

Configuration de Python

Consultez la page Environnement Python pour en savoir plus sur l'API Python et sur l'utilisation de geemap pour le développement interactif.

import ee
import geemap.core as geemap

Colab (Python)

# Create a constant image.
image_1 = ee.Image(1)
display(image_1)

# Concatenate two images into one multi-band image.
image_2 = ee.Image(2)
image_3 = ee.Image.cat([image_1, image_2])
display(image_3)

# Create a multi-band image from a list of constants.
multiband = ee.Image([1, 2, 3])
display(multiband)

# Select and (optionally) rename bands.
renamed = multiband.select(
    ['constant', 'constant_1', 'constant_2'],  # old names
    ['band1', 'band2', 'band3'],  # new names
)
display(renamed)

# Add bands to an image.
image_4 = image_3.addBands(ee.Image(42))
display(image_4)