In dieser Anleitung wird nur so viel JavaScript behandelt, wie Sie für den Einstieg in das Schreiben von Earth Engine-Skripts 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 dem Leitfaden zum Code-Editor vertraut machen.
Hallo Welt!
Jetzt ist es an der Zeit, Ihr erstes JavaScript für die Earth Engine zu schreiben. Rufen Sie in Ihrem Chrome-Browser code.earthengine.google.com auf und kopieren Sie Folgendes in den Code-Editor:
Code-Editor (JavaScript)
print('Hello World!');
Klicken Sie auf Ausführen. Auf dem Tab Konsole wird „Hello world!“ ausgegeben. 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 empfiehlt sich, viele Kommentare in den Code einzufügen, um zu beschreiben, was Sie tun möchten. Es ist auch gut, auskommentierten Code zu löschen, der nichts mehr tut. Beide Vorgehensweisen verbessern die Lesbarkeit des Codes.
Grundlegende JavaScript-Datentypen
Strings
Wenn Sie Variablen zum Speichern von Objekten und Primitiven verwenden, wird der Code besser lesbar. Beispiel: Eine Variable, die ein Stringobjekt speichert, wird durch einfache ' oder doppelte " Anführungszeichen definiert (aber nicht gemischt), wobei einfache Anführungszeichen bevorzugt werden. 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 Schlüsselwort 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 werden zwei durch Kommas getrennte Argumente an print() übergeben. Jedes Argument wird in einer anderen Zeile ausgegeben.
Listen
Listen werden mit eckigen Klammern [] definiert. Eine Liste mit Zahlen, zum Beispiel:
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 Wörterbuch) mit geschweiften Klammern {}, zum Beispiel:
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);
Beachten Sie, dass Sie einen Wert aus einem Dictionary abrufen können, 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 tun, die sich auf dem Earth Engine-Server befinden.
Funktionen
Funktionen sind eine weitere Möglichkeit, die Lesbarkeit und Wiederverwendbarkeit von Code zu verbessern, indem Gruppen von Vorgängen zusammengefasst werden. Definieren Sie eine Funktion mit dem Schlüsselwort function. Funktionsnamen beginnen mit einem Buchstaben und enden mit einem Klammernpaar. Funktionen verwenden häufig Parameter, die der Funktion mitteilen, was zu tun ist. 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 Funktion ausgibt. Es gibt mehrere Möglichkeiten, eine Funktion zu deklarieren. Hier verwenden wir Folgendes:
Code-Editor (JavaScript)
var myFunction = function(parameter1, parameter2, parameter3) { statement; statement; statement; return statement; };
Sehen wir uns die Zeilen einzeln an. In der ersten Zeile wird eine neue Funktion erstellt und der Variablen myFunction zugewiesen. Diese Variable hätte beliebig benannt werden können. Hier wird definiert, wie die Funktion später aufgerufen wird. Die Begriffe in den Klammern nach dem Funktionsnamen (z. B. parameter1, parameter2, parameter3) sind die Parameternamen und könnten auch beliebig benannt werden. 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, sind dies die Namen, die die Funktion verwendet, um auf die Werte zu verweisen, die beim Aufruf 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 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!'));
Dies ist ein Beispiel für eine benutzerdefinierte Funktion. Außerdem gibt es viele integrierte Earth Engine-Funktionen. Weitere Informationen zu diesen integrierten Funktionen finden Sie im Code-Editor auf dem Tab Docs. Hier 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.