From 42e91a086e8bfe0d09a8c05b25d4034898587d2d Mon Sep 17 00:00:00 2001 From: Matthias Mohr Date: Sat, 25 May 2024 18:21:44 +0200 Subject: [PATCH] Fixed reducer names --- src/api/jobs.js | 10 ++++++++-- src/processes/all.js | 2 +- src/processes/any.js | 2 +- src/processes/count.js | 7 ++++--- src/processes/first.js | 2 +- src/processes/last.js | 2 +- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/api/jobs.js b/src/api/jobs.js index dd46d2e..fce8151 100644 --- a/src/api/jobs.js +++ b/src/api/jobs.js @@ -254,6 +254,7 @@ export default class JobsAPI { ]; const assets = {}; for(const file of files) { + console.log(file.stat); const fileName = path.relative(folder, file.path); const href = Utils.getApiUrl("/storage/" + job.token + "/" + fileName); const type = Utils.extensionToMediaType(fileName); @@ -271,13 +272,18 @@ export default class JobsAPI { assets[fileName] = { href: href, roles: ["data"], - type: type + type: type, + "file:size": file.stat.size, + created: file.stat.birthtime, + updated: file.stat.mtime }; } } const item = { stac_version: packageInfo.stac_version, - stac_extensions: [], + stac_extensions: [ + "https://stac-extensions.github.io/file/v2.0.0/schema.json", + ], id: job._id, type: "Feature", geometry: null, diff --git a/src/processes/all.js b/src/processes/all.js index d85aacc..37696c1 100644 --- a/src/processes/all.js +++ b/src/processes/all.js @@ -4,7 +4,7 @@ import GeeProcessing from './utils/processing.js'; export default class all extends GeeProcess { executeSync(node) { - return GeeProcessing.reduceNumericalFunction(node, 'allNonZero'); + return GeeProcessing.reduceNumericalFunction(node, ['allNonZero', 'all']); } } diff --git a/src/processes/any.js b/src/processes/any.js index 1638e4c..934ed69 100644 --- a/src/processes/any.js +++ b/src/processes/any.js @@ -4,7 +4,7 @@ import GeeProcessing from './utils/processing.js'; export default class any extends GeeProcess { executeSync(node) { - return GeeProcessing.reduceNumericalFunction(node, 'anyNonZero'); + return GeeProcessing.reduceNumericalFunction(node, ['anyNonZero', 'any']); } } diff --git a/src/processes/count.js b/src/processes/count.js index 04c013e..c78f254 100644 --- a/src/processes/count.js +++ b/src/processes/count.js @@ -7,18 +7,19 @@ export default class count extends GeeProcess { const condition = node.getArgument("condition"); let reducer; if (condition === true) { - reducer = ee => ee.Reducer.countEvery; + // Seems buggy: https://issuetracker.google.com/issues/342705677 + reducer = 'countEvery'; } else if (condition === null) { // openEO asks to not count infinity, nan and no data values // GEE doesn't handle infinity and nan and often uses null or 0 as no data values. // As such the closest we can get is to count all values that are not null. - reducer = ee => ee.Reducer.count; + reducer = 'count'; } else { throw node.invalidArgument("condition", "Unsupported value, must be one of `null` or `true`."); } - return GeeProcessing.reduceNumericalFunction(node, reducer); + return GeeProcessing.reduceNumericalFunction(node, [reducer, 'count']); } } diff --git a/src/processes/first.js b/src/processes/first.js index 6faf824..fe8dafc 100644 --- a/src/processes/first.js +++ b/src/processes/first.js @@ -6,7 +6,7 @@ export default class first extends GeeProcess { executeSync(node) { const ignore_nodata = node.getArgument('ignore_nodata', true); const reducer = ignore_nodata ? 'firstNonNull' : 'first'; - return GeeProcessing.reduceNumericalFunction(node, reducer); + return GeeProcessing.reduceNumericalFunction(node, [reducer, 'first']); } } diff --git a/src/processes/last.js b/src/processes/last.js index 72be885..76d6e9e 100644 --- a/src/processes/last.js +++ b/src/processes/last.js @@ -6,7 +6,7 @@ export default class last extends GeeProcess { executeSync(node) { const ignore_nodata = node.getArgument('ignore_nodata', true); const reducer = ignore_nodata ? 'lastNonNull' : 'last'; - return GeeProcessing.reduceNumericalFunction(node, reducer); + return GeeProcessing.reduceNumericalFunction(node, [reducer, 'last']); } }