Bilder und Bildbänder visualisieren

Sie können jetzt mit dem Schreiben von Earth Engine-JavaScript beginnen. Kopieren Sie dazu den folgenden Code in den Code-Editor:

Code-Editor (JavaScript)

// Instantiate an image with the Image constructor.
var image = ee.Image('CGIAR/SRTM90_V4');

// Zoom to a location.
Map.setCenter(-112.8598, 36.2841, 9); // Center on the Grand Canyon.

// Display the image on the map.
Map.addLayer(image);

Klicken Sie oben im Code-Editor auf den Button Ausführen. Auf der Karte wird ein sehr graues Bild angezeigt. Keine Sorge, du wirst es bald besser aussehen lassen. Wenn Ihnen die Syntax eines Teils dieses Beispiels nicht vertraut ist, lesen Sie die Anleitung zu JavaScript für Earth Engine.

Image Constructor

Die erste Neuerung in diesem Beispiel ist der Bildkonstruktor ee.Image(). Das Argument, das dem Konstruktor übergeben wird, ist die String-ID eines Bildes im Earth Engine Data Catalog. Eine vollständige Liste der möglichen Argumente für den Image-Konstruktor finden Sie im Tab Docs links im Code-Editor. Der Tab Dokumente enthält die aktuellsten Informationen zu den Funktionen von Earth Engine.

Wenn Sie eine Bild-ID ermitteln möchten, suchen Sie im Earth Engine Data Catalog mit dem Suchtool oben im Code-Editor. Geben Sie beispielsweise „elevation“ in das Suchfeld ein. Es wird eine Liste von Rastern zurückgegeben. Klicken Sie auf den Eintrag „SRTM Digital Elevation Data Version 4“, um weitere Informationen zu diesem Dataset aufzurufen. Rechts neben der Dataset-Beschreibung befindet sich das Feld Image ID (Image-ID). Beachten Sie, dass die Bild-ID im Beispiel aus der Bild-ID in der Dataset-Beschreibung kopiert wird.

Eine Alternative zum Kopieren und Einfügen von Bild-IDs ist die Verwendung der Schaltfläche Importieren in der Dataset-Beschreibung oder des Links Importieren auf der rechten Seite der Suchergebnisse. Wenn Sie auf den Importlink oder die Importschaltfläche klicken, wird automatisch eine Variable in einem speziellen Abschnitt namens Imports oben im Skript erstellt. Sie können die Variable umbenennen, indem Sie im Abschnitt „Importe“ auf ihren Namen klicken.

Karte konfigurieren

Der zweite neue Teil dieses Beispiels ist der Aufruf von Map.setCenter(). Diese Methode für das Map-Objekt, das die Kartendarstellung im Code-Editor repräsentiert, zentriert die Karte auf den angegebenen Längen- und Breitengrad (in Dezimalgrad) und die Zoomstufe, wobei 1 herausgezoomt ist, sodass die Karte die gesamte Erdoberfläche zeigt. Größere Zahlen zoomen von dort aus heran. Alle Methoden für das Map-Objekt finden Sie im Abschnitt „Map“ auf dem Tab Docs auf der linken Seite des Code-Editors.

Ebene zur Karte hinzufügen

In der letzten Zeile des Beispiels wird die Methode addLayer() des Objekts Map verwendet, um der Kartenanzeige im Code-Editor ein Bild hinzuzufügen.

Glückwunsch! Sie haben Ihr erstes Earth Engine-Script erstellt. Im nächsten Abschnitt erfahren Sie, wie Sie das Bild etwas besser aussehen lassen können.

Exkurs: Bilder in der Earth Engine

Bilder in Earth Engine (weitere Informationen finden Sie auf dieser Seite) bestehen aus einem oder mehreren Bändern. Jedes Band in einem Bild hat einen eigenen Namen, eigene Pixelwerte, eine eigene Pixelauflösung und eine eigene Projektion. Wie Sie bald feststellen werden, hat das SRTM-Bild ein Band: „elevation“.

Wenn Sie einer Karte mit Map.addLayer() ein Bild hinzufügen, muss die Earth Engine bestimmen, wie die Werte in den Bildbändern Farben auf dem Display zugeordnet werden sollen. Wenn einer Karte ein Bild mit einem einzelnen Band hinzugefügt wird, wird das Band in der Earth Engine standardmäßig in Graustufen angezeigt. Dabei wird der Mindestwert Schwarz und der Höchstwert Weiß zugewiesen. Wenn Sie keine Mindest- und Höchstwerte angeben, verwendet Earth Engine Standardwerte. Das Bild, das Sie gerade der Karte hinzugefügt haben, wird beispielsweise als Graustufenbild angezeigt, das auf den gesamten Datenbereich oder eine vorzeichenbehaftete 16-Bit-Ganzzahl [-32768, 32767] gestreckt ist. (float-Bänder werden standardmäßig auf [0, 1] und byte-Bänder auf [0, 255] gestreckt).

Du kannst den Datentyp des Bildes herausfinden, indem du es ausgibst und das Bildobjekt auf dem Tab Konsole untersuchst. Fügen Sie beispielsweise Folgendes nach dem vorherigen Code ein:

Code-Editor (JavaScript)

print('SRTM image', image);

Wenn Sie auf „Ausführen“ klicken, wird in der Console ein Objekt angezeigt. Wenn Sie die Objekteigenschaften untersuchen möchten, maximieren Sie sie, indem Sie auf das Zippy-Symbol () links neben dem Objekt oder der Eigenschaft klicken. Maximieren Sie das Bildobjekt, das Attribut „bands“, das Band „elevation“ bei Index „0“ und das Attribut „data_type“ des Bands „elevation“, um zu sehen, dass es sich um den Datentyp signed int16 handelt.

Ebenenvisualisierung anpassen

Wenn Sie die Art und Weise ändern möchten, wie die Daten gestreckt werden, können Sie dem Map.addLayer()-Aufruf einen anderen Parameter übergeben. Mit dem zweiten Parameter, visParams, können Sie die Mindest- und Höchstwerte angeben, die angezeigt werden sollen. Wenn Sie herausfinden möchten, welche Werte Sie verwenden sollten, aktivieren Sie den Tab Inspector und klicken Sie auf die Karte, um sich einen Überblick über die Pixelwerte zu verschaffen. Alternativ können Sie den Ebenenmanager verwenden, um die Daten interaktiv zu strecken. Beobachten Sie dann die Mindest- und Höchstwerte, die den Perzentilen oder Standardabweichungsstreckungen entsprechen. Angenommen, Sie stellen durch solche Tests fest, dass die Daten auf [0, 3000] gestreckt werden sollten. Verwenden Sie Folgendes, um das Bild mit diesem Bereich anzuzeigen:

Code-Editor (JavaScript)

Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');

Der Parameter visParams ist ein Objekt mit Attributen, die min und max angeben. (Weitere Informationen zu JavaScript-Objekten finden Sie im JavaScript-Tutorial oder in dieser externen Referenz.) Der dritte Parameter für Map.addLayer() ist der Name der Ebene, die im Ebenenmanager angezeigt wird. Das Ergebnis sollte ungefähr so aussehen wie in Abbildung 1. Bewegen Sie den Mauszeiger rechts auf das Feld Ebenen, um die Auswirkung der Umbenennung dieser Ebene zu sehen.

Tutorial_api_01_elevation.png
Abbildung 1. Höhenbild als Graustufen, gestreckt auf [0, 3000].

Wenn Sie ein einzelnes Band mit einer Farbpalette anzeigen möchten, fügen Sie dem visParams-Objekt das Attribut palette hinzu:

Code-Editor (JavaScript)

Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']},
    'custom palette');

Das Ergebnis sollte in etwa wie in Abbildung 2 aussehen.

Tutorial_api_02_palette.png
Abbildung 2. Höhenbild als Farbverlauf von Blau nach Rot, gestreckt auf [0, 3000].

Exkurs: Paletten

Mit Paletten können Sie das Farbschema für Einzelbandbilder festlegen. Eine Palette ist eine durch Kommas getrennte Liste von Farbstrings, die linear zwischen den Maximal- und Minimalwerten in den Visualisierungsparametern interpoliert werden (oder Standardwerte gemäß dem Bandtyp, wie zuvor beschrieben). Pixel, die kleiner oder gleich dem Minimum sind, werden beispielsweise mit der ersten Farbe in der Liste angezeigt. Pixel, die größer oder gleich dem Maximum sind, werden mit der letzten Farbe in der Liste angezeigt. Zwischenfarben werden linear auf Zwischenpixelwerte gestreckt.

Die Farben werden mithilfe des Webstandard-CSS-Farbwertschemas definiert (weitere Informationen finden Sie in dieser externen Referenz). Farben können mit ihrem Namen oder als hexadezimale Strings angegeben werden, die die Kombination aus Rot, Grün und Blau angeben. Der niedrigste Wert an jeder der drei Positionen ist 00 (entspricht der Dezimalzahl 0), der höchste ist FF (entspricht der Dezimalzahl 255). Der String „000000“ steht für die Farbe Schwarz, „FFFFFF“ für Weiß, „FF0000“ für Rot, „00FF00“ für Grün und „0000FF“ für Blau. Weitere Informationen finden Sie im Abschnitt Farbpaletten. Andere Streckungen sind mit Styled Layer Descriptors möglich, wie in diesem Abschnitt beschrieben.

Später in dieser Anleitung erfahren Sie, wie Sie Multiband-Bilder anzeigen. Zuerst erfahren Sie auf der nächsten Seite, wie Sie Berechnungen mit Bildern durchführen.