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. 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.
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')
Das Suchen nach einem Bild über
das Suchtool des Code-Editors
ist gleichwertig. Wenn Sie das Asset importieren, wird der Code für die Bildkonstruktion
für Sie im Importbereich des
Code-Editors geschrieben. Sie können auch eine persönliche
Asset-ID als Argument für den
ee.Image Konstruktor verwenden.
ee.Image aus einer ee.ImageCollection abrufen
Die Standardmethode zum Abrufen eines Bildes aus einer Sammlung besteht darin, die Sammlung mit Filtern in absteigender Reihenfolge der Spezifität zu filtern. Beispiel: So rufen Sie ein Bild aus der Sentinel-2-Sammlung für die Oberflächenreflexion ab:
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
öffentliche
Landsat-Dataset, das in Google Cloud gehostet wird, 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 exportiert haben, legen Sie beim Exportieren
cloudOptimized auf true fest, wie hier beschrieben.
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-optimierten GeoTIFFs (COGs).
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 in Metern gemessenen Wasserverlust durch Verdunstung von der Erdoberfläche darstellt. 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 anhand der 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 ansehen