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');
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');
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);
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');
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);
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)