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');
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');
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);
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');
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);
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)
Esegui in Google Colab
Visualizza l'origine su GitHub