Объявление : Все некоммерческие проекты, зарегистрированные для использования Earth Engine до
15 апреля 2025 года, должны
подтвердить некоммерческое право на сохранение доступа к Earth Engine.
Обзор геометрии
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
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);
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-24 UTC.
[null,null,["Последнее обновление: 2025-07-24 UTC."],[[["\u003cp\u003eEarth Engine uses the \u003ccode\u003eGeometry\u003c/code\u003e type to represent vector data, supporting various shapes like points, lines, and polygons, as defined in the GeoJSON specification.\u003c/p\u003e\n"],["\u003cp\u003eGeometries can be created interactively with the Code Editor tools or programmatically by providing coordinate lists to \u003ccode\u003eGeometry\u003c/code\u003e constructors.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eLinearRing\u003c/code\u003e geometries are closed shapes where the starting and ending coordinates are the same, unlike \u003ccode\u003eLineString\u003c/code\u003e geometries.\u003c/p\u003e\n"],["\u003cp\u003eMulti-part geometries, such as \u003ccode\u003eMultiPoint\u003c/code\u003e or \u003ccode\u003eMultiPolygon\u003c/code\u003e, can be broken down into individual geometries using the \u003ccode\u003egeometries()\u003c/code\u003e method.\u003c/p\u003e\n"]]],["Earth Engine utilizes the `Geometry` type for vector data, supporting GeoJSON geometries like `Point`, `LineString`, `LinearRing`, and `Polygon`, along with their multi-part counterparts (`MultiPoint`, etc.). Geometries can be created interactively or programmatically by providing coordinate lists to constructors, as shown in the provided JavaScript code. `LinearRing` differs from `LineString` by being closed. Multi-part geometries can be disassembled into individual components using the `geometry.geometries()` method.\n"],null,["# Geometry Overview\n\nEarth Engine handles vector data with the `Geometry` type. The\n[GeoJSON spec](http://geojson.org/geojson-spec.html) describes in\ndetail the type of geometries supported by Earth Engine, including `Point`\n(a list of coordinates in some projection), `LineString` (a list of points),\n`LinearRing` (a closed `LineString`), and `Polygon` (a\nlist of `LinearRing`s where the first is a shell and subsequent rings are\nholes). Earth Engine also supports `MultiPoint`, `MultiLineString`,\nand `MultiPolygon`. The GeoJSON GeometryCollection is also supported, although\nit has the name `MultiGeometry` within Earth Engine.\n\nCreating Geometry objects\n-------------------------\n\nYou can create geometries interactively using the Code Editor geometry tools. See the\n[Earth Engine Code Editor page](/earth-engine/guides/playground#geometry-tools) for more\ninformation. To create a `Geometry` programmatically, provide the\nconstructor with the proper list(s) of coordinates. For example:\n\n### Code Editor (JavaScript)\n\n```javascript\nvar point = ee.Geometry.Point([1.5, 1.5]);\n\nvar lineString = ee.Geometry.LineString(\n [[-35, -10], [35, -10], [35, 10], [-35, 10]]);\n\nvar linearRing = ee.Geometry.LinearRing(\n [[-35, -10], [35, -10], [35, 10], [-35, 10], [-35, -10]]);\n\nvar rectangle = ee.Geometry.Rectangle([-40, -20, 40, 20]);\n\nvar polygon = ee.Geometry.Polygon([\n [[-5, 40], [65, 40], [65, 60], [-5, 60], [-5, 60]]\n]);\n```\n\nIn the previous examples, note that the distinction between a `LineString`\nand a `LinearRing` is that the `LinearRing` is \"closed\" by\nhaving the same coordinate at both the start and end of the list.\n\nAn individual `Geometry` may consist of multiple geometries. To break a\nmulti-part `Geometry` into its constituent geometries, use\n`geometry.geometries()`. For example:\n\n### Code Editor (JavaScript)\n\n```javascript\n// Create a multi-part feature.\nvar multiPoint = ee.Geometry.MultiPoint([[-121.68, 39.91], [-97.38, 40.34]]);\n\n// Get the individual geometries as a list.\nvar geometries = multiPoint.geometries();\n\n// Get each individual geometry from the list and print it.\nvar pt1 = geometries.get(0);\nvar pt2 = geometries.get(1);\nprint('Point 1', pt1);\nprint('Point 2', pt2);\n```"]]