Panoramica delle immagini

Come indicato nel documento Guida introduttiva, i dati raster sono rappresentati come Image oggetti in Earth Engine. Le immagini sono composte da una o più bande e ogni banda ha il proprio nome, tipo di dati, scala, maschera e proiezione. Ogni immagine ha metadati archiviati come un insieme di proprietà.

Costruttore ee.Image

Le immagini possono essere caricate incollando un ID asset di Earth Engine nel ee.Image costruttore. Puoi trovare gli ID delle immagini nel Data Catalog. Ad esempio, per un modello digitale di elevazione (NASADEM):

Editor di codice (JavaScript)

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

Configurazione di Python

Per informazioni sull'API Python e sull'utilizzo geemap per lo sviluppo interattivo, consulta la pagina Ambiente Python.

import ee
import geemap.core as geemap

Colab (Python)

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

Tieni presente che trovare un'immagine tramite lo strumento di ricerca dell'Editor di codice è equivalente. Quando importi l'asset, il codice di costruzione dell'immagine viene scritto automaticamente nella sezione delle importazioni dell' Editor di codice. Puoi anche utilizzare un ID asset personale come argomento del ee.Image costruttore.

Ottenere un ee.Image da un ee.ImageCollection

Il modo standard per estrarre un'immagine da una raccolta è filtrare la raccolta, con filtri in ordine di specificità decrescente. Ad esempio, per estrarre un'immagine dalla raccolta di riflettanza superficiale di Sentinel-2:

Editor di codice (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');

Configurazione di Python

Per informazioni sull'API Python e sull'utilizzo geemap per lo sviluppo interattivo, consulta la pagina Ambiente Python.

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)

Tieni presente che l'ordinamento avviene dopo i filtri. Evita di ordinare l'intera raccolta.

Immagini da GeoTIFF cloud

Puoi utilizzare ee.Image.loadGeoTIFF() per caricare immagini da GeoTIFF ottimizzati per il cloud in Google Cloud Storage. Ad esempio, il set di dati pubblico Landsat ospitato in Google Cloud contiene questo GeoTIFF, corrispondente alla banda 5 di una scena Landsat 8. Puoi caricare questa immagine da Cloud Storage utilizzando ee.Image.loadGeoTIFF():

Editor di codice (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);

Configurazione di Python

Per informazioni sull'API Python e sull'utilizzo geemap per lo sviluppo interattivo, consulta la pagina Ambiente Python.

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)

Tieni presente che, se vuoi ricaricare un GeoTIFF ottimizzato per il cloud che hai esportato da Earth Engine a Cloud Storage, quando esegui l'esportazione, imposta cloudOptimized su true come descritto qui.

Nota sulle prestazioni: per prestazioni ottimali, ti consigliamo di registrare i COG come asset anziché caricarli direttamente con ee.Image.loadGeoTIFF(). Per dettagli e confronti, consulta la panoramica di GeoTIFF ottimizzati per il cloud (COG).

Immagini da array Zarr v2

Puoi utilizzare ee.Image.loadZarrV2Array() per caricare un'immagine da un array Zarr v2 in Google Cloud Storage. Ad esempio, il set di dati pubblico ERA5 ospitato in Google Cloud contiene questo array Zarr v2, corrispondente ai metri di acqua evaporata dalla superficie terrestre. Puoi caricare questo array da Cloud Storage utilizzando ee.Image.loadZarrV2Array():

Editor di codice (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');

Configurazione di Python

Per informazioni sull'API Python e sull'utilizzo geemap per lo sviluppo interattivo, consulta la pagina Ambiente Python.

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

Immagini costanti

Oltre a caricare le immagini per ID, puoi anche creare immagini da costanti, elenchi o altri oggetti Earth Engine adatti. Di seguito sono illustrati i metodi per creare immagini, ottenere sottoinsiemi di bande e manipolare le bande:

Editor di codice (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);

Configurazione di Python

Per informazioni sull'API Python e sull'utilizzo geemap per lo sviluppo interattivo, consulta la pagina Ambiente Python.

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)