Ein ImageCollection ist ein Stapel oder eine Abfolge von Bildern.
Aus einer Sammlungs-ID erstellen
Ein ImageCollection kann geladen werden, indem eine Earth Engine-Asset-ID in den ImageCollection-Konstruktor eingefügt wird. ImageCollection-IDs finden Sie im Datenkatalog. So laden Sie beispielsweise die Sentinel-2-Sammlung zur Oberflächenreflexion:
Code-Editor (JavaScript)
var sentinelCollection = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED');
import ee import geemap.core as geemap
Colab (Python)
sentinel_collection = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
Diese Sammlung enthält alle Sentinel-2-Bilder im öffentlichen Katalog. Es gibt viele. In der Regel möchten Sie die Sammlung filtern, wie hier oder hier gezeigt.
Aus einer Bildliste erstellen
Mit dem Konstruktor ee.ImageCollection() oder der praktischen Methode ee.ImageCollection.fromImages() werden Bildsammlungen aus Listen von Bildern erstellt. Sie können auch neue Bildersammlungen erstellen, indem Sie vorhandene Sammlungen zusammenführen. Beispiel:
Code-Editor (JavaScript)
// Create arbitrary constant images. var constant1 = ee.Image(1); var constant2 = ee.Image(2); // Create a collection by giving a list to the constructor. var collectionFromConstructor = ee.ImageCollection([constant1, constant2]); print('collectionFromConstructor: ', collectionFromConstructor); // Create a collection with fromImages(). var collectionFromImages = ee.ImageCollection.fromImages( [ee.Image(3), ee.Image(4)]); print('collectionFromImages: ', collectionFromImages); // Merge two collections. var mergedCollection = collectionFromConstructor.merge(collectionFromImages); print('mergedCollection: ', mergedCollection); // Create a toy FeatureCollection var features = ee.FeatureCollection( [ee.Feature(null, {foo: 1}), ee.Feature(null, {foo: 2})]); // Create an ImageCollection from the FeatureCollection // by mapping a function over the FeatureCollection. var images = features.map(function(feature) { return ee.Image(ee.Number(feature.get('foo'))); }); // Print the resultant collection. print('Image collection: ', images);
import ee import geemap.core as geemap
Colab (Python)
# Create arbitrary constant images. constant_1 = ee.Image(1) constant_2 = ee.Image(2) # Create a collection by giving a list to the constructor. collection_from_constructor = ee.ImageCollection([constant_1, constant_2]) display('Collection from constructor:', collection_from_constructor) # Create a collection with fromImages(). collection_from_images = ee.ImageCollection.fromImages( [ee.Image(3), ee.Image(4)] ) display('Collection from images:', collection_from_images) # Merge two collections. merged_collection = collection_from_constructor.merge(collection_from_images) display('Merged collection:', merged_collection) # Create a toy FeatureCollection features = ee.FeatureCollection( [ee.Feature(None, {'foo': 1}), ee.Feature(None, {'foo': 2})] ) # Create an ImageCollection from the FeatureCollection # by mapping a function over the FeatureCollection. images = features.map(lambda feature: ee.Image(ee.Number(feature.get('foo')))) # Display the resultant collection. display('Image collection:', images)
In diesem Beispiel wird ein ImageCollection erstellt, indem eine Funktion, die ein Image zurückgibt, einem FeatureCollection zugeordnet wird. Weitere Informationen zur Zuordnung finden Sie im Abschnitt Mapping over an ImageCollection. Weitere Informationen zu Feature-Sammlungen finden Sie im Abschnitt „FeatureCollection“.
Aus einer Liste von COGs erstellen
Erstellen Sie ein ImageCollection aus Cloud Optimized GeoTIFFs (COGs) in Cloud Storage. Beispiel:
Code-Editor (JavaScript)
// All the GeoTiffs are in this folder. var uriBase = 'gs://gcp-public-data-landsat/LC08/01/001/002/' + 'LC08_L1GT_001002_20160817_20170322_01_T2/'; // List of URIs, one for each band. var uris = ee.List([ uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B2.TIF', uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B3.TIF', uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B4.TIF', uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF', ]); // Make a collection from the list of images. var images = uris.map(ee.Image.loadGeoTIFF); var collection = ee.ImageCollection(images); // Get an RGB image from the collection of bands. var rgb = collection.toBands().rename(['B2', 'B3', 'B4', 'B5']); Map.centerObject(rgb); Map.addLayer(rgb, {bands: ['B4', 'B3', 'B2'], min: 0, max: 20000}, 'rgb');
import ee import geemap.core as geemap
Colab (Python)
# All the GeoTiffs are in this folder. uri_base = ( 'gs://gcp-public-data-landsat/LC08/01/001/002/' + 'LC08_L1GT_001002_20160817_20170322_01_T2/' ) # List of URIs, one for each band. uris = ee.List([ uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B2.TIF', uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B3.TIF', uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B4.TIF', uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF', ]) # Make a collection from the list of images. images = uris.map(lambda uri: ee.Image.loadGeoTIFF(uri)) collection = ee.ImageCollection(images) # Get an RGB image from the collection of bands. rgb = collection.toBands().rename(['B2', 'B3', 'B4', 'B5']) m = geemap.Map() m.center_object(rgb) m.add_layer(rgb, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 20000}, 'rgb') m
Weitere Informationen zum Laden von Bildern aus Cloud Optimized GeoTIFFs Für Produktionssammlungen sollten Sie die COGs stattdessen als Assets registrieren. Informationen zu den Vor- und Nachteilen finden Sie unter COGs aus Cloud Storage lesen.
Aus einem Zarr v2-Array erstellen
Erstellen Sie ein ImageCollection aus einem Zarr v2-Array in Cloud Storage, indem Sie Bildschnitte entlang einer höheren Dimension erstellen.
Beispiel:
Code-Editor (JavaScript)
var timeStart = 1000000; var timeEnd = 1000048; var zarrV2ArrayImages = ee.ImageCollection.loadZarrV2Array({ uri: 'gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray', proj: 'EPSG:4326', axis: 0, starts: [timeStart], ends: [timeEnd] }); print(zarrV2ArrayImages); Map.addLayer(zarrV2ArrayImages, {min: -0.0001, max: 0.00005}, 'Evaporation');
import ee import geemap.core as geemap
Colab (Python)
time_start = 1000000 time_end = 1000048 zarr_v2_array_images = ee.ImageCollection.loadZarrV2Array( uri='gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray', proj='EPSG:4326', axis=0, starts=[time_start], ends=[time_end], ) display(zarr_v2_array_images) m = geemap.Map() m.add_layer( zarr_v2_array_images, {'min': -0.0001, 'max': 0.00005}, 'Evaporation' ) m