Как я могу получить длину каждого элемента LinearRing в Google Earth Engine

Я использую JavaScript в Google Earth Engine (очень новичок в обоих из них), чтобы получить длину каждой стороны здания (глядя вниз с карты).

Сначала я нарисовал LinearRing по периметру здания, которое хранится в переменной rectangle. Я хотел бы извлечь длины каждой из строк в rectangle и распечатать их все.

Код, который у меня есть ниже:

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)

Это дает мне ошибку:

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

Преобразованный код JS в GEE для var rectangle для справки выглядит следующим образом:

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]

Спасибо!


person Jay    schedule 08.12.2016    source источник


Ответы (1)


Попробуйте вызвать .coordinates(), а не .geometries() в своем прямоугольнике.

Если у вас есть FeatureCollection, .geometries() предоставит вам геометрию всех элементов в этой коллекции, а .coordinates() вернет координаты одной Geometry.

person aks    schedule 20.12.2016