This is an automated email from the ASF dual-hosted git repository. jsorel pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit d3b056299bd2872e4e4baaf117e0c2d5e96a8a74 Author: jsorel <[email protected]> AuthorDate: Fri Aug 8 15:55:56 2025 +0200 Fix unsupported infinite and nan values in coveragejson --- .../sis/storage/coveragejson/CoverageJsonStoreProvider.java | 5 +++-- .../org/apache/sis/storage/coveragejson/CoverageResource.java | 8 +++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStoreProvider.java b/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStoreProvider.java index 723c9e6e8a..e4ab613434 100644 --- a/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStoreProvider.java +++ b/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageJsonStoreProvider.java @@ -26,6 +26,7 @@ import org.apache.sis.storage.DataStoreProvider; import org.apache.sis.storage.GridCoverageResource; import org.apache.sis.storage.ProbeResult; import org.apache.sis.storage.StorageConnector; +import org.apache.sis.storage.WritableAggregate; import org.apache.sis.storage.base.Capability; import org.apache.sis.storage.base.StoreMetadata; import org.apache.sis.storage.base.URIDataStoreProvider; @@ -44,8 +45,8 @@ import org.apache.sis.util.Version; */ @StoreMetadata(formatName = CoverageJsonStoreProvider.NAME, fileSuffixes = {"covjson"}, - capabilities = Capability.READ, - resourceTypes = {Aggregate.class, GridCoverageResource.class}) + capabilities = {Capability.READ, Capability.CREATE, Capability.WRITE}, + resourceTypes = {WritableAggregate.class, GridCoverageResource.class}) public class CoverageJsonStoreProvider extends DataStoreProvider { public static final String NAME = "CoverageJSON"; diff --git a/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageResource.java b/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageResource.java index 0af27f6fab..c7fa60c943 100644 --- a/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageResource.java +++ b/incubator/src/org.apache.sis.storage.coveragejson/main/org/apache/sis/storage/coveragejson/CoverageResource.java @@ -669,7 +669,13 @@ final class CoverageResource extends AbstractGridCoverageResource { while (ite.next()) { ite.getPixel(pixel); for (int i = 0; i < nbSample; i++) { - arrays[i].values.add(pixel[i]); + double v = pixel[i]; + if (!Double.isFinite(v)) { + //json do not want infinite or NaN + arrays[i].values.add(null); + } else { + arrays[i].values.add(v); + } } }
