Bilder und Bildbänder visualisieren

Kopieren Sie den folgenden Code in den Code-Editor, um mit dem Schreiben von Earth Engine-JavaScript zu beginnen:

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 die Schaltfläche 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, sehen Sie sich das JavaScript-Tutorial für Earth Engine an.

Image Constructor

Das erste Neue in diesem Beispiel ist der Bildkonstruktor ee.Image(). Das dem Konstruktor übergebene Argument ist die String-ID eines Bildes im Earth Engine-Datenkatalog. Eine vollständige Liste der möglichen Argumente für den Bildkonstruktor finden Sie auf dem Tab Docs links neben dem Code-Editor. Auf dem Tab Dokumentation finden Sie die aktuellsten Informationen zu den Funktionen von Earth Engine.

Wenn Sie eine Bild-ID herausfinden möchten, suchen Sie im Earth Engine Data Catalog über das 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 Datensatz aufzurufen. Rechts neben der Dataset-Beschreibung befindet sich das Feld Bild-ID. Die Bild-ID im Beispiel wird aus der Bild-ID in der Dataset-Beschreibung kopiert.

Alternativ zum Kopieren und Einfügen von Bild-IDs können Sie in der Datasetbeschreibung die Schaltfläche Importieren oder rechts in den Suchergebnissen den Link importieren verwenden. Wenn Sie auf den Importlink oder die Importschaltfläche klicken, wird automatisch eine Variable im speziellen Bereich Importe oben in Ihrem Script erstellt. Sie können die Variable umbenennen, indem Sie im Bereich „Importe“ auf ihren Namen klicken.

Karte konfigurieren

Der zweite neue Teil dieses Beispiels ist der Map.setCenter()-Aufruf. Diese Methode für das Map-Objekt, das die Kartendarstellung im Code-Editor darstellt, zentriert die Karte auf dem angegebenen Längen- und Breitengrad (in Dezimalgrad) und der Zoomstufe, wobei 1 so weit herausgezoomt ist, dass die Karte die gesamte Erdoberfläche zeigt. Bei größeren Zahlen wird von dort aus gezoomt. Alle Methoden für das Map-Objekt finden Sie im Abschnitt „Karte“ auf dem Tab „Dokumente“ links im Code-Editor.

Ebene zur Karte hinzufügen

In der letzten Zeile des Beispiels wird die addLayer()-Methode des Map-Objekts verwendet, um der Kartendarstellung 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 optimieren können.

Exkurs: Bilder in Earth Engine

Bilder in Earth Engine (weitere Informationen) 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 sehen werden, hat das SRTM-Bild ein Band: „elevation“.

Wenn Sie einer Karte mit Map.addLayer() ein Bild hinzufügen, muss Earth Engine festlegen, wie die Werte in den Bildbändern den Farben auf dem Display zugeordnet werden. Wenn einer Karte ein Einbandbild hinzugefügt wird, zeigt Earth Engine das Band standardmäßig in Graustufen an. Dabei wird der Minimalwert Schwarz und der Maximalwert Weiß zugewiesen. Wenn Sie nicht angeben, was das Minimum und Maximum sein soll, verwendet Earth Engine Standardwerte. Das Bild, das Sie gerade der Karte hinzugefügt haben, wird beispielsweise als Graustufenbild angezeigt, das über den gesamten Datenbereich oder als 16-Bit-Ganzzahl mit Vorzeichen [-32768, 32767] dargestellt wird. float-Bänder werden standardmäßig auf [0, 1] und byte-Bänder auf [0, 255] gedehnt.

Sie können den Datentyp des Bildes ermitteln, indem Sie es ausgeben und das Bildobjekt auf dem Tab Console untersuchen. Fügen Sie beispielsweise Folgendes nach dem vorherigen Code ein:

Code-Editor (JavaScript)

print('SRTM image', image);

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

Visualisierung von Ebenen anpassen

Wenn Sie die Art und Weise ändern möchten, wie die Daten gestreckt werden, können Sie einen weiteren Parameter für den Map.addLayer()-Aufruf angeben. Mit dem zweiten Parameter, visParams, können Sie die Mindest- und Höchstwerte angeben, die angezeigt werden sollen. Um herauszufinden, welche Werte Sie verwenden sollten, aktivieren Sie den Tab Inspector und klicken Sie auf der Karte, um sich einen Überblick über den Bereich der Pixelwerte zu verschaffen. Alternativ können Sie die Daten auch interaktiv mit der Ebenenverwaltung dehnen und dann die Mindest- und Höchstwerte beobachten, die den Dehnungen für Perzentile oder Standardabweichung entsprechen. Angenommen, Sie stellen durch solche Tests fest, dass die Daten auf [0, 3000] gestreckt werden sollten. So zeigen Sie das Bild mit diesem Bereich an:

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 in der Ebenenverwaltung angezeigt wird. Das Ergebnis sollte in etwa so aussehen wie in Abbildung 1. Bewegen Sie den Mauszeiger auf das Feld Ebenen rechts, um die Auswirkungen der Umbenennung dieser Ebene zu sehen.

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

Wenn Sie ein einzelnes Band mit einer Farbpalette darstellen möchten, fügen Sie dem visParams-Objekt die Eigenschaft palette hinzu:

Code-Editor (JavaScript)

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

Das Ergebnis sollte in etwa so aussehen wie in Abbildung 2.

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

Exkurs: Paletten

Mit Paletten können Sie das Farbschema für Einbandbilder 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 entsprechend dem Bandtyp, wie oben beschrieben). Beispielsweise werden Pixel, die kleiner oder gleich dem Minimum sind, mit der ersten Farbe in der Liste dargestellt. Pixel, die größer oder gleich dem Maximum sind, werden mit der letzten Farbe in der Liste dargestellt. Zwischenfarben werden linear auf Zwischenpixelwerte gestreckt.

Die Farben werden mit dem Webstandard-CSS-Farbwertschema definiert. Weitere Informationen Farben können nach Namen oder als hexadezimale Strings angegeben werden, die die Kombination aus Rot, Grün und Blau angeben. Der niedrigste Wert an einer der drei Positionen ist „00“ (entspricht der Dezimalzahl 0), der höchste ist „FF“ (entspricht der Dezimalzahl 255). Der String „000000“ steht für 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 zu Farbpaletten. Andere Streckungen sind mit Styled Layer Descriptors möglich, wie in diesem Abschnitt beschrieben.

Später in dieser Anleitung erfahren Sie, wie Sie Mehrbandbilder anzeigen. Sehen Sie sich aber zuerst die nächste Seite an, um zu erfahren, wie Sie Berechnungen mit Bildern durchführen.