几何图形概览

Earth Engine 处理的矢量数据类型为 GeometryGeoJSON 规范详细介绍了 Earth Engine 支持的几何图形类型,包括 Point(某个投影中的坐标列表)、LineString(点列表)、LinearRing(封闭的 LineString)和 PolygonLinearRing 列表,其中第一个是壳,后续的环是孔)。Earth Engine 还支持 MultiPointMultiLineStringMultiPolygon。也支持 GeoJSON GeometryCollection,不过它在 Earth Engine 中名为 MultiGeometry

创建几何图形对象

您可以使用 Code Editor 几何图形工具以交互方式创建几何图形。如需了解详情,请参阅 Earth Engine 代码编辑器页面。如需以编程方式创建 Geometry,请向构造函数提供适当的坐标列表。例如:

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()。例如:

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