У меня есть точечная функция, которую я использовал, чтобы уменьшить значения из коллекции изображений.
Значения получаются как свойство новой функции путем сопоставления изображений с этим кодом (в частности, получение значений ndvi):
var my_vals = images.map(function (img){
var ndviImg = img.normalizedDifference(['B5', 'B4']);
return ee.Feature(area, ndviImg.reduceRegion(ee.Reducer.mean(), point));
});
Мне нужно, чтобы эти значения были помещены в массив так, Я могу сделать дополнительный расчет на них. Однако функция Feature.getArray () возвращает пустой массив.
var myArray = my_vals.getArray("nd");
print(my_vals); // returns "[]"
Однако я знаю, что значения существуют в свойствах, потому что, если я запускаю следующий код, я могу распечатать список свойств .
var myList = my_vals.aggregate_array("nd");
print(myList) // this prints a list of my values
Моя цель - разделить один список этих значений на другой. Насколько я знаю, мне нужны значения в массиве, чтобы это можно было сделать (я не смог найти способ сделать это с объектом, который возвращает .aggregate_array ()).
Кто-нибудь знает, почему это может быть, или лучший способ получить эти значения таким образом, чтобы я мог программно делать математику, используя их?
Извиняюсь за вопрос новичка здесь, это это проблема, с которой я боролся некоторое время.
Спасибо!