2016-12-08 5 views
0

Ich benutze JavaScript in Google Earth Engine (sehr neu zu beiden), um die Längen von jeder Seite eines Gebäudes (Blick von der Karte nach unten) view)Wie bekomme ich die Länge jedes Elements in einem LinearRing in Google Earth Engine

Zuerst zeichnete ich eine LinearRing um den Umfang des Gebäudes, die in der Variablen rectangle gespeichert ist. Ich möchte die Längen jeder der Linien in rectangle extrahieren und alle von ihnen drucken.

Der Code, den ich unten so weit haben:

var rectangle = /* color: ffffff */ee.Geometry.LinearRing(
    [[coord_1], 
    [coord_2], 
    [coord_3], 
    [coord_4], 
    [coord_1]]); 

var geometries = rectangle.geometries(); 
var line1 = geometries.get(0); 
var line2 = geometries.get(1); 
print(line2) 

Das gibt mir einen Fehler von:

ComputedObject (Error) 
List.get: List index must be between -1 and 0. Found 1. 

Der konvertierte Code JS in GEE für var rectangle wie diese Referenz aussieht:

var rectangle: LinearRing, 5 vertices 
    type: LinearRing 
    coordinates: List (5 elements) 
    0: [coord_1] 
    1: [coord_2] 
    2: [coord_3] 
    3: [coord_4] 
    4: [coord_1] 

Vielen Dank!

Antwort

0

Versuchen Sie, .coordinates() statt .geometries() auf Ihrem Rechteck aufzurufen.

Wenn Sie über eine FeatureCollection verfügen, erhalten Sie mit .geometries() die Geometrien aller Features in dieser Sammlung, während .coordinates() die Koordinaten einer einzelnen Geometrie zurückgibt.

Verwandte Themen