Earth Engine gère les données vectorielles avec le type Geometry
. La spécification GeoJSON décrit en détail les types de géométries compatibles avec Earth Engine, y compris Point
(une liste de coordonnées dans une projection), LineString
(une liste de points), LinearRing
(un LineString
fermé) et Polygon
(une liste de LinearRing
où le premier est une coque et les anneaux suivants sont des trous). Earth Engine est également compatible avec MultiPoint
, MultiLineString
et MultiPolygon
. La collection de géométries GeoJSON est également prise en charge, bien qu'elle porte le nom MultiGeometry
dans Earth Engine.
Créer des objets Geometry
Vous pouvez créer des géométries de manière interactive à l'aide des outils de géométrie de l'éditeur de code. Pour en savoir plus, consultez la page de l'éditeur de code Earth Engine. Pour créer un Geometry
par programmation, fournissez au constructeur la ou les listes de coordonnées appropriées. Exemple :
Éditeur de code (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]] ]);
Dans les exemples précédents, notez que la distinction entre un LineString
et un LinearRing
est que le LinearRing
est "fermé" en ayant la même coordonnée au début et à la fin de la liste.
Un Geometry
individuel peut être constitué de plusieurs géométries. Pour diviser un Geometry
multi-parties en géométries constituantes, utilisez geometry.geometries()
. Exemple :
Éditeur de code (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);