Earth Engine обрабатывает векторные данные типа Geometry
. Спецификация GeoJSON подробно описывает тип геометрии, поддерживаемой Earth Engine, включая Point
(список координат в некоторой проекции), LineString
(список точек), LinearRing
(замкнутый LineString
) и Polygon
(список LinearRing
, где первое кольцо — это оболочка, а последующие кольца — отверстия). Earth Engine также поддерживает MultiPoint
, MultiLineString
и MultiPolygon
. GeoJSON GeometryCollection также поддерживается, хотя в Earth Engine она называется MultiGeometry
.
Создание объектов геометрии
Вы можете создавать геометрию в интерактивном режиме, используя инструменты геометрии редактора кода. Дополнительную информацию см. на странице редактора кода 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);