Einführung in JavaScript für die Earth Engine

In dieser Anleitung wird nur so viel JavaScript behandelt, wie Sie für den Einstieg in das Schreiben von Earth Engine-Skripten benötigen. Ausführlichere JavaScript-Anleitungen finden Sie in diesen Mozilla-Entwicklerressourcen. Eine Einführung in die Programmierung mit Beispielen in JavaScript finden Sie unter Eloquent JavaScript. Vorschläge zum JavaScript-Codierungsstil finden Sie im Google JavaScript Style Guide. In dieser Anleitung schreiben Sie JavaScript im Code-Editor von Earth Engine. Bevor Sie beginnen, sollten Sie sich mit der Anleitung zum Code-Editor vertraut machen.

Hallo Welt!

Es ist an der Zeit, Ihr erstes JavaScript für Earth Engine zu schreiben. Rufen Sie in Chrome code.earthengine.google.com auf und kopieren Sie Folgendes in den Code-Editor:

Code-Editor (JavaScript)

print('Hello World!');

Klicken Sie auf Ausführen und sehen Sie sich an, wie „Hello world!“ auf dem Tab „Konsole“ ausgegeben wird. Die Zeile oben ist eine JavaScript-Anweisung. In JavaScript enden Anweisungen mit einem Semikolon. Earth Engine-Programme bestehen aus einer Reihe von Anweisungen wie dieser. Sie können verhindern, dass Code ausgeführt wird, ohne ihn zu löschen, indem Sie ihn auskommentieren. Eine Möglichkeit, Code auszukommentieren, besteht darin, zwei Schrägstriche // vor den Code zu setzen, der nicht ausgeführt werden soll. Beispiel:

Code-Editor (JavaScript)

// print('Hello World!');

Es hat sich bewährt, den Code mit vielen Kommentaren zu versehen, um zu beschreiben, was Sie beabsichtigen. Außerdem sollten Sie auskommentierten Code löschen, der nichts mehr bewirkt. Beide Vorgehensweisen verbessern die Lesbarkeit des Codes.

Einfache JavaScript-Datentypen

Strings

Variablen zum Speichern von Objekten und Primitiven verbessern die Lesbarkeit des Codes. Eine Variable, in der ein Stringobjekt gespeichert wird, wird beispielsweise durch einfache ' oder doppelte " Anführungszeichen definiert (aber nicht mischen). Einfache Anführungszeichen werden bevorzugt. Erstellen Sie einen neuen String und speichern Sie ihn in einer Variablen namens greetString:

Code-Editor (JavaScript)

// Use single (or double) quotes to make a string.
var greetString = 'Ahoy there!';
// Use parentheses to pass arguments to functions.
print(greetString);

iWork Numbers

Variablen werden mit dem Keyword var definiert. Variablen können auch Zahlen speichern:

Code-Editor (JavaScript)

// Store a number in a variable.
var number = 42;
print('The answer is:', number);

In diesem Beispiel sehen Sie, dass bei zwei durch Kommas getrennten Argumenten für print() jedes Argument in einer separaten Zeile ausgegeben wird.

Listen

Listen werden mit eckigen Klammern [] definiert. Eine Liste mit Zahlen, z. B.:

Code-Editor (JavaScript)

// Use square brackets [] to make a list.
var listOfNumbers = [0, 1, 1, 2, 3, 5];
print('List of numbers:', listOfNumbers);

In Listen können auch Strings oder andere Objekte gespeichert werden. Beispiel:

Code-Editor (JavaScript)

// Make a list of strings.
var listOfStrings = ['a', 'b', 'c', 'd'];
print('List of strings:', listOfStrings);

Objekte

Objekte in JavaScript sind Wörterbücher mit key: value-Paaren. Erstellen Sie ein Objekt (oder ein Dictionary) mit geschweiften Klammern {}, z. B.:

Code-Editor (JavaScript)

// Use curly brackets {} to make a dictionary of key:value pairs.
var object = {
  foo: 'bar',
  baz: 13,
  stuff: ['this', 'that', 'the other thing']
};
print('Dictionary:', object);
// Access dictionary items using square brackets.
print('Print foo:', object['foo']);
// Access dictionary items using dot notation.
print('Print stuff:', object.stuff);

Sie können einen Wert aus einem Dictionary abrufen, indem Sie den Schlüssel angeben. In diesem Beispiel wird gezeigt, wie Sie das für JavaScript-Objekte tun. Später erfahren Sie, wie Sie das für Wörterbücher auf dem Earth Engine-Server tun.

Funktionen

Funktionen sind eine weitere Möglichkeit, die Lesbarkeit und Wiederverwendbarkeit von Code zu verbessern, indem Sie Gruppen von Vorgängen zusammenfassen. Definieren Sie eine Funktion mit dem Keyword function. Funktionsnamen beginnen mit einem Buchstaben und enden mit einem Klammerpaar. Funktionen verwenden häufig Parameter, die angeben, was die Funktion tun soll. Diese Parameter werden in die Klammern () gesetzt. Die Anweisungen, aus denen die Funktion besteht, werden in geschweifte Klammern gesetzt. Das Schlüsselwort return gibt an, was die Funktionsausgabe ist. Es gibt mehrere Möglichkeiten, eine Funktion zu deklarieren. Hier verwenden wir jedoch Folgendes:

Code-Editor (JavaScript)

var myFunction = function(parameter1, parameter2, parameter3) {
  statement;
  statement;
  statement;
  return statement;
};

Sehen wir uns die einzelnen Zeilen an. In der ersten Zeile wird eine neue Funktion erstellt und der Variablen myFunction zugewiesen. Diese Variable hätte einen beliebigen Namen haben können. Damit wird definiert, wie die Funktion später aufgerufen wird. Die Begriffe in den Klammern nach dem Funktionsnamen (d. h. „parameter1“, „parameter2“, „parameter3“) sind die Parameternamen. Sie hätten auch anders benannt werden können. Es empfiehlt sich jedoch, ihnen eindeutige Namen zu geben, die sich vom Code außerhalb der Funktion unterscheiden. Unabhängig davon, wie Sie sie benennen, verwendet die Funktion diese Namen, um auf die Werte zu verweisen, die beim Aufrufen an die Funktion übergeben werden. Der Wert eines Parameters, nachdem er an eine Funktion übergeben wurde, wird als Argument bezeichnet. Funktionen können zwar Variablen verwenden, die außerhalb der Funktion deklariert wurden (globale Variablen), Funktionsargumente sind jedoch außerhalb der Funktion nicht sichtbar. Funktionen können beliebig viele Parameter haben, auch null. Hier ist ein einfaches Beispiel für eine Funktion, die nur ihr Argument zurückgibt:

Code-Editor (JavaScript)

// The reflect function takes a single parameter: element.
var reflect = function(element) {
  // Return the argument.
  return element;
};
print('A good day to you!', reflect('Back at you!'));

Hier sehen Sie ein Beispiel für eine benutzerdefinierte Funktion. Es gibt auch viele integrierte Earth Engine-Funktionen. Weitere Informationen zu diesen integrierten Funktionen finden Sie auf dem Tab „Dokumente“ im Code-Editor. Hier ist ein sehr einfaches Beispiel für eine Earth Engine-Funktion:

Code-Editor (JavaScript)

var aString = ee.Algorithms.String(42);

Im nächsten Abschnitt erfahren Sie mehr über Earth Engine-Objekte und -Methoden.