Panoramica delle immagini

Come indicato nel documento Guida introduttiva, i dati raster sono rappresentati come oggetti Image in Earth Engine. Le immagini sono costituite 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 Earth Engine nel ee.Image costruttore. Puoi trovare gli ID immagine nel catalogo di dati. Ad esempio, a un modello digitale dell'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 di 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 per te nella sezione Importazioni di Editor di codice. Puoi anche utilizzare un ID risorsa personale come argomento per il costruttore ee.Image.

Ricevere un ee.Image da un ee.ImageCollection

Il modo standard per estrarre un'immagine da una raccolta è filtrarla, con i filtri in ordine di specificità decrescente. Ad esempio, per ottenere un'immagine dalla raccolta di dati sulla 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 di 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 file GeoTIFF di 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 di 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 file GeoTIFF ottimizzato per il cloud che hai esportato da Earth Engine in Cloud Storage, imposta cloudOptimized su true durante l'esportazione, 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 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 di 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 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 di 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)