Earth Engine は、Geometry タイプのベクターデータを処理します。GeoJSON 仕様では、Earth Engine でサポートされているジオメトリのタイプ(Point(特定のプロジェクションの座標のリスト)、LineString(ポイントのリスト)、LinearRing(閉じた LineString)、Polygon(LinearRing のリスト。最初のシェルと後続のリングが穴)など)について詳しく説明しています。Earth Engine は、MultiPoint、MultiLineString、MultiPolygon もサポートしています。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]] ]);
上記の例では、LineString と LinearRing の違いは、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);