Panoramica delle immagini

Come indicato nel documento Guida introduttiva, i dati raster sono rappresentati come oggetti Image 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à.

ee.Image costruttore

Le immagini possono essere caricate incollando un ID asset Earth Engine nel costruttore ee.Image. Puoi trovare gli ID immagine nel catalogo dei dati. Ad esempio, a un modello digitale di elevazione (NASADEM):

Editor di codice (JavaScript)

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

Configurazione di Python

Consulta la pagina Ambiente Python per informazioni sull'API Python e sull'utilizzo di geemap per lo sviluppo interattivo.

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 per te nella sezione importazioni dell'editor di codice. Puoi anche utilizzare un ID asset personale come argomento del costruttore ee.Image.

Ricevere un ee.Image da un ee.ImageCollection

Il modo standard per estrarre un'immagine da una raccolta è filtrare la raccolta, con i filtri in ordine di specificità decrescente. Ad esempio, per estrarre un'immagine dalla raccolta di riflettanza di superficie 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

Consulta la pagina Ambiente Python per informazioni sull'API Python e sull'utilizzo di geemap per lo sviluppo interattivo.

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 Landsat pubblico 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

Consulta la pagina Ambiente Python per informazioni sull'API Python e sull'utilizzo di geemap per lo sviluppo interattivo.

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 file Cloud Optimized GeoTIFF che hai esportato da Earth Engine a Cloud Storage, quando esegui l'esportazione, imposta cloudOptimized su true come descritto qui.

Immagini dagli 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 ERA5 pubblico 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

Consulta la pagina Ambiente Python per informazioni sull'API Python e sull'utilizzo di geemap per lo sviluppo interattivo.

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

Consulta la pagina Ambiente Python per informazioni sull'API Python e sull'utilizzo di geemap per lo sviluppo interattivo.

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)