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);