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 de plusieurs bandes, et chaque bande a son propre nom, type de données, échelle, masque et projection. Les métadonnées de chaque image sont stockées sous la forme d'un ensemble de propriétés.

Constructeur ee.Image

Vous pouvez charger des images en collant un ID d'élément Earth Engine dans le constructeur ee.Image. Vous trouverez les ID des images dans le catalogue de données. Par exemple, à un modèle d'élévation numérique (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 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 vous pouvez également trouver une image à l'aide de l'outil de recherche de l'éditeur de code. Lorsque vous importez l'asset, le code de construction de l'image est écrit pour vous dans la section "Importations" de l'éditeur de code. Vous pouvez également utiliser un ID d'élément 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 à la filtrer, en plaçant les filtres par ordre de spécificité décroissante. 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 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 après les filtres. Évitez de trier l'ensemble de la collection.

Images issues de fichiers GeoTIFF 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 public Landsat hébergé dans Google Cloud contient ce GeoTIFF, qui correspond à la bande 5 d'une scène Landsat 8. Vous pouvez charger cette image à partir de 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 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, lors de l'exportation, définissez cloudOptimized sur true, comme décrit ici.

Images provenant des tableaux v2 de Zarr

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 cette matrice Zarr v2, qui correspond aux mètres d'eau évaporés de la surface de la Terre. Vous pouvez charger ce tableau à partir de 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 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 en créer à partir de constantes, de listes ou d'autres objets Earth Engine appropriés. Les méthodes suivantes illustrent comment créer des images, obtenir des sous-ensembles de bandes et manipuler des 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 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)