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

[実行] をクリックし、[コンソール] タブに「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 サーバー上の辞書に対してこれを行う方法については、後ほど説明します。

関数

関数は、一連のオペレーションをグループ化して、コードの可読性と再利用性を向上させるもう 1 つの方法です。function キーワードを使用して関数を定義します。関数名は英字で始まり、末尾に一対の丸かっこがあります。関数は、関数に何をするかを伝えるパラメータを取ることがよくあります。これらのパラメータは、かっこ () の内側に記述します。関数を構成するステートメントのセットは、中かっこで囲みます。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 には、組み込み関数も多数あります。コードエディタの [ドキュメント] タブで、これらの組み込み関数について確認してください。Earth Engine 関数の非常に簡単な例を次に示します。

コードエディタ(JavaScript)

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

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