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