From 68dde1d87465636566ecf14f47dcf56d265d2a28 Mon Sep 17 00:00:00 2001 From: rng Date: Fri, 21 Nov 2025 14:40:43 +1100 Subject: [PATCH] Move normalize operation to the cache value, reduce CPU --- .../aodn/ogcapi/server/core/parser/stac/IntersectsImpl.java | 3 +-- .../au/org/aodn/ogcapi/server/core/util/GeometryUtils.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/parser/stac/IntersectsImpl.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/parser/stac/IntersectsImpl.java index 16f8245a..7ed32eb5 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/parser/stac/IntersectsImpl.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/parser/stac/IntersectsImpl.java @@ -35,8 +35,7 @@ public IntersectsImpl(Expression expression1, Expression expression2, CQLCrsType try { String geojson = GeometryUtils.convertToGeoJson(literal, cqlCrsType); geometry = GeometryUtils - .readGeometry(geojson) - .map(GeometryUtils::normalizePolygon); + .readGeometry(geojson); } catch(Exception ex) { logger.warn("Exception in parsing, query result will be wrong", ex); diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/util/GeometryUtils.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/util/GeometryUtils.java index 1d629f6e..6ba52b0f 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/util/GeometryUtils.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/util/GeometryUtils.java @@ -238,7 +238,7 @@ public Optional readCachedGeometry(Object input) { } else { j = (String) input; } - return Optional.of(json.read(j)); + return Optional.of(GeometryUtils.normalizePolygon(json.read(j))); } catch (IOException e) { // Do nothing }