Eine Bildsammlung bezieht sich auf eine Reihe von Earth Engine-Bildern. Die Sammlung aller Landsat 8-Bilder ist beispielsweise ein ee.ImageCollection
. Wie das SRTM-Bild, mit dem Sie gearbeitet haben, haben auch Bildsammlungen eine ID. Wie bei einzelnen Bildern können Sie die ID einer Bildersammlung ermitteln, indem Sie im Code Editor im Earth Engine-Datenkatalog suchen und sich die Detailseite des Datasets ansehen. Suchen Sie beispielsweise nach „landsat 8 toa“ und klicken Sie auf das erste Ergebnis, das dem Dataset
USGS Landsat 8 Collection 1 Tier 1 TOA Reflectance entsprechen sollte.
Importieren Sie das Dataset entweder über die Schaltfläche Importieren und benennen Sie es in l8
um, oder kopieren Sie die ID in den Konstruktor der Bildsammlung:
Code-Editor (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA');
Bildsammlungen filtern
Diese Sammlung umfasst alle Landsat 8-Szenen, die weltweit erfasst wurden. Oft ist es nützlich, ein einzelnes Bild oder eine Teilmenge von Bildern zu extrahieren, um Algorithmen zu testen. Sie können die Erhebung zeitlich oder räumlich einschränken, indem Sie sie filtern. Wenn Sie die Sammlung beispielsweise nach Bildern filtern möchten, die einen bestimmten Ort abdecken, definieren Sie zuerst Ihr Interessengebiet mit einem Punkt (oder einer Linie oder einem Polygon) mithilfe der Tools zum Zeichnen von Geometrien. Schwenken Sie den Kartenausschnitt zum gewünschten Bereich, bewegen Sie den Mauszeiger auf Geometrieimporte (falls Sie bereits eine oder mehrere Geometrien definiert haben) und klicken Sie auf + Neue Ebene (falls Sie noch keine Importe haben, fahren Sie mit dem nächsten Schritt fort). Wählen Sie das Tool zum Zeichnen von Punkten () aus und setzen Sie einen Punkt in Ihrem Interessengebiet. Geben Sie dem Import den Namen
point
. Filtern Sie nun die Sammlung l8
, um nur die Bilder zu erhalten, die den Punkt schneiden. Fügen Sie dann einen zweiten Filter hinzu, um die Sammlung auf die Bilder zu beschränken, die 2015 aufgenommen wurden:
Code-Editor (JavaScript)
var spatialFiltered = l8.filterBounds(point); print('spatialFiltered', spatialFiltered); var temporalFiltered = spatialFiltered.filterDate('2015-01-01', '2015-12-31'); print('temporalFiltered', temporalFiltered);
filterBounds()
und filterDate()
sind hier Abkürzungsmethoden für die allgemeinere Methode filter()
für Bildsammlungen, die ein ee.Filter()
als Argument verwendet. Weitere Informationen zu diesen Methoden finden Sie im Code-Editor auf dem Tab Dokumentation. Das Argument für filterBounds()
ist der digitalisierte Punkt und die Argumente für filterDate()
sind zwei Datumsangaben, die als Strings ausgedrückt werden.
Beachten Sie, dass Sie die gefilterten Sammlungen print()
können. Sie können nicht mehr als 5.000 Elemente gleichzeitig drucken. Es ist also nicht möglich, z. B. die gesamte l8
-Sammlung zu drucken. Nachdem Sie die Methode print()
ausgeführt haben, können Sie die ausgegebenen Sammlungen in der Konsole ansehen. Wenn Sie ImageCollection
mit dem Zippy () maximieren und dann die Liste der
features
maximieren, wird eine Liste von Bildern angezeigt, die jeweils auch maximiert und untersucht werden können. So können Sie die ID eines einzelnen Bildes herausfinden. Eine weitere, programmatischere Möglichkeit, einzelne Bilder für die Analyse abzurufen, besteht darin, die Sammlung zu sortieren, um das neueste, älteste oder optimale Bild in Bezug auf eine Metadateneigenschaft zu erhalten. Wenn Sie sich beispielsweise die Bildobjekte in den gedruckten Bildsammlungen angesehen haben, haben Sie möglicherweise eine Metadateneigenschaft namens CLOUD_COVER
bemerkt. Mit dieser Eigenschaft können Sie das am wenigsten bewölkte Bild aus dem Jahr 2015 für Ihr Interessengebiet abrufen:
Code-Editor (JavaScript)
// This will sort from least to most cloudy. var sorted = temporalFiltered.sort('CLOUD_COVER'); // Get the first (least cloudy) image. var scene = sorted.first();
Jetzt können Sie das Bild anzeigen.
Exkurs: RGB-Bilder anzeigen
Wenn ein Mehrbandbild in eine Karte eingefügt wird, wählt Earth Engine standardmäßig die ersten drei Bänder des Bildes aus und zeigt sie als Rot, Grün und Blau an. Dabei werden sie entsprechend dem Datentyp gestreckt, wie bereits beschrieben. Normalerweise ist das nicht ausreichend. Wenn Sie beispielsweise das Landsat-Bild (scene
im vorherigen Beispiel) der Karte hinzufügen, ist das Ergebnis unbefriedigend:
Code-Editor (JavaScript)
Map.centerObject(scene, 9); Map.addLayer(scene, {}, 'default RGB');
Die Karte wird zuerst auf das Bild zentriert und auf Zoomstufe 9 eingestellt. Das Bild wird dann mit einem leeren Objekt ({}
) für den Parameter visParams
angezeigt (weitere Informationen finden Sie in der Map.addLayer()
-Dokumentation). Das Bild wird daher mit der Standardvisualisierung angezeigt: Die ersten drei Bänder werden jeweils auf R, G und B abgebildet und auf [0, 1] gedehnt, da die Bänder den Datentyp float
haben. Das bedeutet, dass das Küstenaerosolband („B1“) in Rot, das blaue Band („B2“) in Grün und das grüne Band („B3“) in Blau gerendert wird. Damit das Bild als True-Color-Composite gerendert wird, müssen Sie Earth Engine anweisen, die Landsat 8-Bänder „B4“, „B3“ und „B2“ für Rot, Grün bzw. Blau zu verwenden. Geben Sie an, welche Bänder mit dem Attribut bands
des Objekts visParams
verwendet werden sollen. Weitere Informationen zu Landsat-Bändern
Außerdem müssen Sie min
- und max
-Werte angeben, die für die Darstellung der Reflexion von typischen Erdoberflächenzielen geeignet sind. Obwohl Listen verwendet werden können, um für jedes Band unterschiedliche Werte anzugeben, reicht es hier aus, 0.3
als max
anzugeben und den Standardwert 0 für den Parameter min
zu verwenden. Kombinieren Sie die Visualisierungsparameter in einem Objekt und zeigen Sie Folgendes an:
Code-Editor (JavaScript)
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; Map.addLayer(scene, visParams, 'true-color composite');
Das Ergebnis sollte in etwa so aussehen wie in Abbildung 5. Mit diesem Code werden die Visualisierungsparameter einem Objekt zugewiesen, das möglicherweise in Zukunft verwendet wird. Wie Sie bald sehen werden, ist dieses Objekt nützlich, wenn Sie Bildsammlungen visualisieren.

Probieren Sie aus, verschiedene Bänder zu visualisieren. Eine weitere beliebte Kombination ist „B5“, „B4“ und „B3“, die als Falschfarbenbild bezeichnet wird. Weitere interessante Falschfarbenkomposite
Da Earth Engine für die Analyse großer Datenmengen konzipiert ist, sind Sie nicht darauf beschränkt, nur mit einer Szene zu arbeiten. Jetzt ist es an der Zeit, eine ganze Sammlung als RGB-Composite darzustellen.
Bildersammlungen anzeigen
Das Hinzufügen einer Bildersammlung zu einer Karte ähnelt dem Hinzufügen eines Bildes zu einer Karte. Wenn Sie beispielsweise Bilder aus dem Jahr 2016 in der Sammlung l8
und das zuvor definierte Objekt visParams
verwenden,
Code-Editor (JavaScript)
var l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA'); var landsat2016 = l8.filterDate('2016-01-01', '2016-12-31'); Map.addLayer(landsat2016, visParams, 'l8 collection');
Sie können jetzt herauszoomen und ein durchgehendes Mosaik sehen, in dem Landsat-Bilder aufgenommen werden (d.h. über Land). Wenn Sie den Tab Inspector verwenden und auf das Bild klicken, sehen Sie im Bereich Pixels eine Liste mit Pixelwerten (oder ein Diagramm) und im Bereich Objects eine Liste mit Bildobjekten.
Wenn Sie weit genug herausgezoomt haben, haben Sie wahrscheinlich einige Wolken im Mosaik gesehen. Wenn Sie der Karte ein ImageCollection
hinzufügen, wird es als Composite mit den letzten Werten angezeigt. Das bedeutet, dass nur die neuesten Pixel angezeigt werden (wie beim Aufrufen von mosaic()
für die Sammlung). Daher kann es zu Unregelmäßigkeiten zwischen Pfaden kommen, die zu unterschiedlichen Zeiten erfasst wurden. Das ist auch der Grund, warum viele Bereiche bewölkt erscheinen. Auf der nächsten Seite erfahren Sie, wie Sie die Art und Weise ändern, in der die Bilder zusammengesetzt werden, um diese lästigen Wolken zu entfernen.