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, eine eigene Maske und Projektion. Für jedes Bild werden Metadaten als eine Reihe von Attributen gespeichert.
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.
Beispiel: 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')
Das Suchen eines Bildes mit dem Suchtool des Code-Editors ist gleichwertig. Wenn Sie das Asset importieren, wird der Code für die Bildkonstruktion im Importbereich des Code-Editors für Sie 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 abrufen
Die Standardmethode, um ein Bild aus einer Sammlung abzurufen, besteht darin, die Sammlung zu filtern. Die Filter werden dabei in absteigender Reihenfolge der Spezifität angewendet. So rufen Sie beispielsweise ein Bild aus der Sentinel-2-Sammlung für Oberflächenreflexion ab:
Code-Editor (JavaScript)
var first = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED') .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_HARMONIZED') .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)
Beachten Sie, dass die Sortierung nach den Filtern erfolgt. Vermeiden Sie es, die gesamte Sammlung zu sortieren.
Bilder aus Cloud Optimized GeoTIFFs
Mit ee.Image.loadGeoTIFF() können Sie Bilder aus Cloud Optimized GeoTIFFs (COGs) in Google Cloud Storage laden.
Der Bucket muss sich an einem unterstützten Standort befinden.
Das in Google Cloud gehostete öffentliche Landsat-Dataset enthält beispielsweise dieses GeoTIFF, das Band 5 einer Landsat 8-Szene entspricht. Sie können dieses Image 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 Optimized GeoTIFF, das Sie aus Earth Engine nach Cloud Storage exportieren, noch einmal laden möchten, setzen Sie beim Export cloudOptimized auf true.
Hinweis zur Leistung: Für eine optimale Leistung empfehlen wir, Ihre COGs als Assets zu registrieren, anstatt sie direkt mit ee.Image.loadGeoTIFF() zu laden. Weitere Informationen und einen Vergleich finden Sie in der Übersicht zu Cloud Optimized GeoTIFF (COG).
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 der Menge an Wasser in Metern entspricht, die von der Erdoberfläche verdunstet ist. 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
Neben dem Laden von Bildern nach ID können Sie auch Bilder 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)
In Google Colab ausführen
Quelle auf GitHub anzeigen