Я пытаюсь найти частоту этих значений в определенной области с помощью FrequencyHistogram().
Однако каким-то образом я получил результат в виде числа с плавающей запятой, а не целого числа. Я ожидаю, что количество пикселей должно быть целым числом.
Сценарий примерно такой: растр называется image
Код: Выделить всё
var resultsCollection = ee.FeatureCollection(gridCells).map(function(feature) {
var gridStats = image.reduceRegion({
reducer: ee.Reducer.frequencyHistogram(),
geometry: feature.geometry(),
scale: GRID_CONFIG.scale,
maxPixels: GRID_CONFIG.maxPixels
});
// Handle null results and extract frequency histogram safely
var frequencyHistogram = ee.Algorithms.If(
ee.Algorithms.IsEqual(gridStats.get('convergence'), null),
ee.Dictionary({}),
gridStats.get('convergence')
);
return feature.set('frequency_histogram', frequencyHistogram);
});
Код: Выделить всё
Grid 0-0: {'1': 230561.7607843137, '3': 2752.4901960784314, '2': 21273.96862745098, '4': 492.4980392156863, '5': 6.996078431372549}
И как я могу убедиться, что результат является целым числом? Округление, усечение и преобразование типов не допускаются.
Я открыт для использования другого синтаксиса, кроме FrequencyHistogram(), для достижения ожидаемого результата.
Подробнее здесь: https://stackoverflow.com/questions/797 ... mal-number