Wprowadzenie do JavaScriptu w Earth Engine

Ten samouczek zawiera tylko tyle informacji o JavaScript, ile wystarczy, aby zacząć pisać skrypty Earth Engine. Więcej szczegółowych samouczków dotyczących JavaScriptu znajdziesz w tych materiałach dla deweloperów Mozilli. Wprowadzenie do programowania z przykładami w języku JavaScript znajdziesz w książce Eloquent JavaScript. Sugestie dotyczące stylu kodowania JavaScript znajdziesz w przewodniku po stylu JavaScriptu Google. W tym samouczku będziesz pisać kod JavaScript w edytorze kodu Earth Engine. Zanim zaczniesz, zapoznaj się ze środowiskiem edytora kodu, korzystając z przewodnika po edytorze kodu.

Hello World

Czas napisać pierwszy kod JavaScript dla Earth Engine. W przeglądarce Chrome otwórz stronę code.earthengine.google.com i skopiuj do edytora kodu ten kod:

Edytor kodu (JavaScript)

print('Hello World!');

Kliknij Uruchom i sprawdź, czy na karcie Konsola wyświetla się „Hello world!”. Wiersz powyżej to instrukcja JavaScript. W języku JavaScript instrukcje kończą się średnikiem. Programy Earth Engine składają się z zestawu takich instrukcji. Możesz zapobiec uruchamianiu kodu bez usuwania go, dodając komentarz. Jednym ze sposobów na zmianę kodu w komentarz jest umieszczenie 2 ukośników // przed kodem, którego nie chcesz uruchamiać. Na przykład:

Edytor kodu (JavaScript)

// print('Hello World!');

Dobrą praktyką jest umieszczanie w kodzie wielu komentarzy, które opisują, co próbujesz zrobić. Dobrze jest też usuwać zakomentowany kod, który już nic nie robi. Obie te metody poprawią czytelność kodu.

Podstawowe typy danych JavaScriptu

Strings

Używanie zmiennych do przechowywania obiektów i typów podstawowych ułatwia czytanie kodu. Na przykład zmienna, która przechowuje obiekt ciągu znaków, jest definiowana przez pojedyncze ' lub podwójne " cudzysłowy (ale nie należy ich mieszać), przy czym preferowane są pojedyncze cudzysłowy. Utwórz nowy ciąg znaków i zapisz go w zmiennej o nazwie greetString:

Edytor kodu (JavaScript)

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

Numbers

Pamiętaj, że zmienne są definiowane za pomocą słowa kluczowego var. Zmienne mogą też przechowywać liczby:

Edytor kodu (JavaScript)

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

Zauważ, że w tym przykładzie, gdy funkcja print() otrzymuje 2 argumenty rozdzielone przecinkami, każdy z nich jest wyświetlany w innym wierszu.

Listy

Listy definiuj za pomocą nawiasów kwadratowych []. Lista liczb, na przykład:

Edytor kodu (JavaScript)

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

Listy mogą też przechowywać ciągi znaków lub inne obiekty. Na przykład:

Edytor kodu (JavaScript)

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

Obiekty

Obiekty w JavaScripcie to słowniki par key: value. Utwórz obiekt (lub słownik) za pomocą nawiasów klamrowych {}, na przykład:

Edytor kodu (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);

Pamiętaj, że możesz uzyskać wartość ze słownika, podając klucz. Ten przykład pokazuje, jak to zrobić w przypadku obiektów w JavaScripcie. W dalszej części dowiesz się, jak to zrobić w przypadku słowników, które znajdują się na serwerze Earth Engine.

Funkcje

Funkcje to kolejny sposób na poprawę czytelności i możliwości ponownego wykorzystania kodu przez grupowanie zestawów operacji. Zdefiniuj funkcję za pomocą słowa kluczowego function. Nazwy funkcji zaczynają się od litery i kończą parą nawiasów. Funkcje często przyjmują parametry, które określają, co funkcja ma robić. Te parametry znajdują się w nawiasach (). Zestaw instrukcji tworzących funkcję znajduje się w nawiasach klamrowych. Słowo kluczowe return wskazuje, jakie są dane wyjściowe funkcji. Istnieje kilka sposobów deklarowania funkcji, ale tutaj użyjemy czegoś takiego:

Edytor kodu (JavaScript)

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

Przyjrzyjmy się poszczególnym wierszom. Pierwszy wiersz tworzy nową funkcję i przypisuje ją do zmiennej myFunction. Ta zmienna mogła mieć dowolną nazwę. Określa, jak później wywołać funkcję. Wyrażenia w nawiasach po nazwie funkcji (czyli parametr1, parametr2, parametr3) to nazwy parametrów. Mogą być dowolne, ale dobrą praktyką jest nadawanie im unikalnych nazw, które różnią się od kodu poza funkcją. Niezależnie od tego, jak je nazwiesz, funkcja będzie używać tych nazw do odwoływania się do wartości, które są do niej przekazywane podczas wywołania. Wartość parametru po przekazaniu do funkcji jest nazywana argumentem. Chociaż funkcje mogą używać zmiennych zadeklarowanych poza funkcją (zmienne globalne), argumenty funkcji nie są widoczne poza funkcją. Funkcje mogą przyjmować dowolną liczbę parametrów, nawet zero. Oto prosty przykład funkcji, która po prostu zwraca swój argument:

Edytor kodu (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!'));

To jest przykład funkcji zdefiniowanej przez użytkownika. Dostępnych jest też wiele wbudowanych funkcji Earth Engine. Aby dowiedzieć się więcej o tych wbudowanych funkcjach, otwórz kartę Dokumentacja w edytorze kodu. Oto bardzo prosty przykład funkcji Earth Engine:

Edytor kodu (JavaScript)

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

W następnej sekcji dowiesz się więcej o obiektach i metodach Earth Engine.