Wie im Dokument Erste Schritte erwähnt, werden Rasterdaten in Earth Engine als Image
-Objekte dargestellt. Bilder bestehen aus einem oder mehreren Bändern. Jedes Band hat einen eigenen Namen, Datentyp, Maßstab, Maske und Projektion. Jedes Bild hat Metadaten, die als eine Reihe von Attributen gespeichert sind.
ee.Image
-Konstruktor
Bilder können geladen werden, indem Sie eine Earth Engine-Asset-ID in den ee.Image
-Konstruktor einfügen. Bild-IDs finden Sie im Data Catalog.
Zum Beispiel für ein digitales Höhenmodell (NASADEM):
Code-Editor (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')
Sie können auch das Suchtool im Code-Editor verwenden. Wenn Sie das Asset importieren, wird der Code für die Bildkonstruktion für Sie im Imports-Bereich des Code-Editors geschrieben. Sie können auch eine persönliche Asset-ID als Argument für den ee.Image
-Konstruktor verwenden.
ee.Image
von einem ee.ImageCollection
erhalten
Die Standardmethode zum Abrufen eines Bildes aus einer Sammlung besteht darin, die Sammlung mit Filtern in absteigender Reihenfolge der Spezifität zu filtern. Um beispielsweise ein Bild aus der Sentinel-2-Sammlung für Oberflächenreflexion abzurufen:
Code-Editor (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)
Die Sortierung erfolgt nach den Filtern. Vermeiden Sie es, die gesamte Sammlung zu sortieren.
Bilder aus Cloud-GeoTIFFs
Mit ee.Image.loadGeoTIFF()
können Sie Bilder aus Cloud-optimierten GeoTIFFs in Google Cloud Storage laden.
Das in Google Cloud gehostete öffentliche Landsat-Dataset enthält beispielsweise dieses GeoTIFF, das dem Band 5 einer Landsat 8-Szene entspricht. Sie können dieses Bild mit ee.Image.loadGeoTIFF()
aus Cloud Storage laden:
Code-Editor (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)
Wenn Sie ein Cloud-optimiertes GeoTIFF neu laden möchten, das Sie aus Earth Engine in Cloud Storage exportieren, müssen Sie beim Exportieren cloudOptimized
auf true setzen, wie hier beschrieben.
Bilder aus Zarr v2-Arrays
Mit ee.Image.loadZarrV2Array()
können Sie ein Bild aus einem Zarr v2-Array in Google Cloud Storage laden. Das öffentliche ERA5-Dataset, das in Google Cloud gehostet wird, enthält beispielsweise dieses Zarr v2-Array, das den Metern an Wasser entspricht, die von der Erdoberfläche verdunstet sind. Sie können dieses Array mit ee.Image.loadZarrV2Array()
aus Cloud Storage laden:
Code-Editor (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
Konstante Bilder
Sie können Bilder nicht nur anhand der ID laden, sondern auch aus Konstanten, Listen oder anderen geeigneten Earth Engine-Objekten erstellen. Im Folgenden werden Methoden zum Erstellen von Bildern, zum Abrufen von Band-Teilmengen und zum Bearbeiten von Bändern veranschaulicht:
Code-Editor (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)