Panoramica della geometria

Earth Engine gestisce i dati vettoriali con il tipo Geometry. La specifica GeoJSON descrive in dettaglio il tipo di geometrie supportate da Earth Engine, tra cui Point (un elenco di coordinate in una determinata proiezione), LineString (un elenco di punti), LinearRing (un LineString chiuso) e Polygon (un elenco di LinearRing in cui il primo è un guscio e gli anelli successivi sono fori). Earth Engine supporta anche MultiPoint, MultiLineString e MultiPolygon. È supportata anche la raccolta di geometrie GeoJSON, anche se in Earth Engine ha il nome MultiGeometry.

Creazione di oggetti Geometry

Puoi creare geometrie in modo interattivo utilizzando gli strumenti di geometria di Code Editor. Per ulteriori informazioni, consulta la pagina dell'editor di codice di Earth Engine. Per creare un Geometry in modo programmatico, fornisci al costruttore gli elenchi di coordinate appropriati. Ad esempio:

Editor di codice (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]]
]);

Negli esempi precedenti, tieni presente che la differenza tra un LineString e un LinearRing è che il LinearRing è "chiuso" per avere la stessa coordinata all'inizio e alla fine dell'elenco.

Un singolo Geometry può essere costituito da più geometrie. Per suddividere un Geometry composto da più parti nelle sue geometrie costituenti, utilizza geometry.geometries(). Ad esempio:

Editor di codice (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);