ジオメトリの概要

Earth Engine は、Geometry タイプのベクターデータを処理します。GeoJSON 仕様では、Earth Engine でサポートされているジオメトリのタイプ(Point(特定のプロジェクションの座標のリスト)、LineString(ポイントのリスト)、LinearRing(閉じた LineString)、PolygonLinearRing のリスト。最初のシェルと後続のリングが穴)など)について詳しく説明しています。Earth Engine は、MultiPointMultiLineStringMultiPolygon もサポートしています。GeoJSON GeometryCollection もサポートされていますが、Earth Engine 内では MultiGeometry という名前になっています。

Geometry オブジェクトを作成する

ジオメトリは、Code Editor のジオメトリ ツールを使用してインタラクティブに作成できます。詳細については、Earth Engine コードエディタのページをご覧ください。Geometry をプログラムで作成するには、コンストラクタに適切な座標リストを指定します。次に例を示します。

コードエディタ(JavaScript)

var point = ee.Geometry.Point([1.5, 1.5]);

var lineString = ee.Geometry.LineString(
  [[-35, -10], [35, -10], [35, 10], [-35, 10]]);

var linearRing = ee.Geometry.LinearRing(
  [[-35, -10], [35, -10], [35, 10], [-35, 10], [-35, -10]]);

var rectangle = ee.Geometry.Rectangle([-40, -20, 40, 20]);

var polygon = ee.Geometry.Polygon([
  [[-5, 40], [65, 40], [65, 60], [-5, 60], [-5, 60]]
]);

上記の例では、LineStringLinearRing の違いは、LinearRing はリストの開始と終了の両方で同じ座標を持つことで「閉じられている」点です。

個々の Geometry は複数のジオメトリで構成できます。複数部分の Geometry を構成ジオメトリに分割するには、geometry.geometries() を使用します。次に例を示します。

コードエディタ(JavaScript)

// Create a multi-part feature.
var multiPoint = ee.Geometry.MultiPoint([[-121.68, 39.91], [-97.38, 40.34]]);

// Get the individual geometries as a list.
var geometries = multiPoint.geometries();

// Get each individual geometry from the list and print it.
var pt1 = geometries.get(0);
var pt2 = geometries.get(1);
print('Point 1', pt1);
print('Point 2', pt2);