Earth Engine 处理的矢量数据类型为 Geometry
。GeoJSON 规范详细介绍了 Earth Engine 支持的几何图形类型,包括 Point
(某个投影中的坐标列表)、LineString
(点列表)、LinearRing
(封闭的 LineString
)和 Polygon
(LinearRing
列表,其中第一个是壳,后续的环是孔)。Earth Engine 还支持 MultiPoint
、MultiLineString
和 MultiPolygon
。也支持 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]] ]);
在前面的示例中,请注意 LineString
和 LinearRing
之间的区别在于,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);