This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 9f647391e7615676d45827fcf8d197738b2be9ef
Merge: 442474f820 efcc2b768f
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Thu Jul 9 00:53:09 2026 +0200

    Merge branch 'geoapi-3.1'.
    Contains bug fixes in HEIF reader and more robust support to the case where 
the CRS is missing.

 .../apache/sis/coverage/grid/DefaultEvaluator.java |  27 +++-
 .../apache/sis/coverage/grid/GridCRSBuilder.java   |  43 ++++--
 .../apache/sis/coverage/grid/GridDerivation.java   |  88 ++++++++---
 .../org/apache/sis/coverage/grid/GridExtent.java   |  33 +++-
 .../org/apache/sis/coverage/grid/GridGeometry.java |  79 +++++++---
 .../grid/IncompleteGridGeometryException.java      |   8 +-
 .../sis/coverage/grid/ResampledGridCoverage.java   |   2 +-
 .../sis/coverage/grid/TranslatedTransform.java     |   3 +-
 .../main/org/apache/sis/image/ComputedImage.java   |   1 +
 .../image/internal/shared/BatchComputedImage.java  |   5 +-
 .../image/internal/shared/SampleModelBuilder.java  |   5 +-
 .../sis/coverage/grid/GridDerivationTest.java      |  36 ++++-
 .../org/apache/sis/map/coverage/RenderingData.java |  14 +-
 .../org/apache/sis/geometry/CoordinateFormat.java  |   6 +-
 .../main/org/apache/sis/geometry/package-info.java |   2 +-
 .../apache/sis/referencing/NamedIdentifier.java    |   6 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    |  10 +-
 .../apache/sis/storage/geotiff/reader/Type.java    |   3 +-
 .../sis/storage/geotiff/inflater/CCITTRLETest.java |   1 +
 .../apache/sis/io/stream/HyperRectangleWriter.java |  14 +-
 .../main/org/apache/sis/io/stream/Region.java      | 171 ++++++++++++++++++++-
 .../org/apache/sis/storage/internal/Resources.java |   5 +
 .../sis/storage/internal/Resources.properties      |   1 +
 .../sis/storage/internal/Resources_fr.properties   |   1 +
 .../apache/sis/storage/tiling/TileReadEvent.java   |  21 ++-
 .../sis/storage/tiling/TiledGridCoverage.java      |  42 ++++-
 .../main/org/apache/sis/util/ArraysExt.java        |  20 ++-
 .../main/org/apache/sis/storage/geoheif/Image.java |   2 +-
 .../apache/sis/storage/geoheif/ImageResource.java  |  38 ++++-
 .../org/apache/sis/storage/geoheif/Pyramid.java    |  25 +--
 .../sis/storage/geoheif/UncompressedImage.java     |  53 +++----
 .../isobmff/mpeg/UncompressedFrameConfig.java      |   7 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |   9 +-
 .../apache/sis/gui/coverage/StyleController.java   |   2 +-
 .../org/apache/sis/gui/map/OperationFinder.java    |   2 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java    |   4 +-
 .../org/apache/sis/gui/map/ValuesUnderCursor.java  |  23 ++-
 .../org/apache/sis/gui/referencing/MenuSync.java   |   7 +-
 .../gui/referencing/RecentReferenceSystems.java    |  10 +-
 .../main/org/apache/sis/gui/referencing/Utils.java |   2 +
 40 files changed, 655 insertions(+), 176 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCRSBuilder.java
index d3116da0a7,38682be486..0425941c15
--- 
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCRSBuilder.java
+++ 
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCRSBuilder.java
@@@ -243,13 -241,14 +241,14 @@@ final class GridCRSBuilder extends Refe
       * @throws InvalidGeodeticParameterException if characteristics of the 
grid geometry disallow this operation.
       * @throws FactoryException if another error occurred during the use of a 
referencing factory.
       */
-     final CoordinateReferenceSystem forCoverage(final GridGeometry grid, 
final boolean derived, final Identifier name)
+     final CoordinateReferenceSystem forCoverage(final GridGeometry grid, 
final PixelInCell anchor, final boolean derived, final Identifier name)
              throws FactoryException
      {
+         this.anchor = anchor;
          properties.put(DefiningConversion.NORMALIZED_KEY, Boolean.FALSE);
 -        properties.put(ObjectDomain.SCOPE_KEY, SCOPE);
 +        properties.put(Datum.SCOPE_KEY, SCOPE);
          grid.getGeographicExtent().ifPresent((domain) -> {
 -            properties.put(ObjectDomain.DOMAIN_OF_VALIDITY_KEY, new 
DefaultExtent(null, domain, null, null));
 +            properties.put(Datum.DOMAIN_OF_VALIDITY_KEY, new 
DefaultExtent(null, domain, null, null));
          });
          fullGrid = grid;
          if (derived || grid.isDefined(GridGeometry.CRS | 
GridGeometry.GRID_TO_CRS)) try {
@@@ -481,9 -498,9 +498,9 @@@ toGrid: try 
              }
              AxisDirection direction = directions[j];
              if (direction == null) {
 -                direction = AxisDirection.UNSPECIFIED;
 +                direction = AxisDirections.UNSPECIFIED;
              }
-             axes[j] = csFactory.createCoordinateSystemAxis(properties(name), 
abbreviation, direction, Units.UNITY);
+             axes[j] = csFactory.createCoordinateSystemAxis(properties(name), 
abbreviation, direction, pixel ? Units.PIXEL : Units.UNITY);
          }
          /*
           * Create a coordinate system of affine type if all axes seem spatial.

Reply via email to