Earth Engine の JavaScript の概要

このチュートリアルでは、Earth Engine スクリプトの作成を開始するために必要な JavaScript について説明します。JavaScript の詳細なチュートリアルについては、Mozilla のデベロッパー向けリソースをご覧ください。JavaScript の例を使用したプログラミングの概要については、Eloquent JavaScript をご覧ください。JavaScript のコーディング スタイルに関する推奨事項については、Google JavaScript スタイルガイドをご覧ください。このチュートリアルでは、Earth Engine のコードエディタで JavaScript を記述します。始める前に、コードエディタ ガイドを使用して、コードエディタ環境に慣れておいてください。

Hello World!

それでは、Earth Engine 用の最初の JavaScript を作成しましょう。Chrome ブラウザで code.earthengine.google.com にアクセスし、次のコードをコードエディタにコピーします。

コードエディタ(JavaScript)

print('Hello World!');

[Run] をクリックし、[Console] タブに「Hello world!」と出力されることを確認します。上記の行は JavaScript ステートメントです。JavaScript では、ステートメントはセミコロンで終わります。Earth Engine プログラムは、このような一連のステートメントで構成されています。コードを削除せずに実行を回避するには、コードをコメント化します。コードをコメントアウトする方法の 1 つは、実行したくないコードの前に 2 つのスラッシュ // を付けることです。次に例を示します。

コードエディタ(JavaScript)

// print('Hello World!');

コードに多くのコメントを記述して、何を行おうとしているのかを説明することをおすすめします。また、何も行わないコメント化されたコードを削除することをおすすめします。どちらの方法も、コードの可読性を向上させます。

基本的な JavaScript データ型

文字列

変数を使用してオブジェクトとプリミティブを格納すると、コードの可読性が向上します。たとえば、文字列オブジェクトを格納する変数は、単一引用符 ' または二重引用符 " で定義します(ただし、これらを混在させないでください)。単一引用符を使用することをおすすめします。新しい文字列を作成し、greetString という変数に格納します。

コードエディタ(JavaScript)

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

Numbers

変数はキーワード var で定義されます。変数には、次のように数値を格納することもできます。

コードエディタ(JavaScript)

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

この例では、print() にカンマで区切られた 2 つの引数が渡されると、各引数が異なる行に出力されます。

リスト

リストは角かっこ [] で定義します。数字のリスト。例:

コードエディタ(JavaScript)

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

リストには、文字列やその他のオブジェクトを格納することもできます。次に例を示します。

コードエディタ(JavaScript)

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

オブジェクト

JavaScript のオブジェクトは、key: value ペアの辞書です。中かっこ {} を使用してオブジェクト(または辞書)を作成します。次に例を示します。

コードエディタ(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);

キーを指定することで、辞書から値を取得できます。次の例は、JavaScript オブジェクトでこれを行う方法を示しています。後ほど、Earth Engine サーバー上の辞書に対してこれを行う方法を説明します。

関数

関数は、一連のオペレーションをグループ化することで、コードの可読性と再利用性を向上させるもう一つの方法です。function キーワードを使用して関数を定義します。関数名は英字で始まり、末尾に 1 組の括弧が付きます。関数は多くの場合、関数に何を行うかを指示するパラメータを受け取ります。これらのパラメータは、かっこ () 内に記述します。関数を構成する一連のステートメントは、中かっこ内に記述します。return キーワードは、関数の出力を示します。関数を宣言する方法はいくつかありますが、ここでは次のような方法を使用します。

コードエディタ(JavaScript)

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

各行を 1 つずつ見ていきましょう。最初の行で新しい関数を作成し、変数 myFunction に代入します。この変数には任意の名前を付けることができます。後で関数を呼び出す方法を定義します。関数名の後のかっこ内の用語(parameter1、parameter2、parameter3)はパラメータ名であり、任意の名前を付けることができます。ただし、関数の外部のコードとは異なる一意の名前を付けることをおすすめします。どのような名前を付けても、関数が呼び出されたときに関数に渡される値を参照するために使用される名前になります。関数に渡されたパラメータの値は、引数と呼ばれます。関数は、関数の外部で宣言された変数(グローバル変数)を使用できますが、関数の引数は関数の外部からは参照できません。関数は、必要な数のパラメータを受け取ることができます。パラメータがゼロでもかまいません。引数を返すだけの関数の簡単な例を次に示します。

コードエディタ(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!'));

これはユーザー定義関数の例です。また、多くの組み込み Earth Engine 関数もあります。コードエディタの [Docs] タブで、これらの組み込み関数について確認します。Earth Engine 関数の非常に簡単な例を次に示します。

コードエディタ(JavaScript)

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

次のセクションでは、Earth Engine のオブジェクトとメソッドについて詳しく説明します。