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

desruisseaux pushed a commit to branch geoapi-3.1
in repository https://gitbox.apache.org/repos/asf/sis.git

commit edc8e9e83eedcd936e9b1e23ad0902296ad26fb5
Merge: ae3809ff1c 27465f381e
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Tue Oct 1 18:36:18 2024 +0200

    Merge branch 'geoapi-4.0' into geoapi-3.1. The main works are:
    - Addition of the optional `org.apache.sis.storage.gdal` module.
    - More work on GSF and GIMI modules (incubator).
    - API change in subsampling: `int` → `long`.
    - Functionality of `ResourceOnFileSystem` made public.
    - Documentation.

 .../apache/sis/buildtools/gradle/Dependency.java   |   11 +-
 .../org/apache/sis/cloud/aws/s3/FileService.java   |    1 -
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |    1 -
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |    1 -
 .../sis/cloud/aws/{internal => s3}/Resources.java  |    6 +-
 .../aws/{internal => s3}/Resources.properties      |    0
 .../cloud/aws/{internal => s3}/Resources_en.java   |    4 +-
 .../cloud/aws/{internal => s3}/Resources_fr.java   |    4 +-
 .../aws/{internal => s3}/Resources_fr.properties   |    0
 .../sis/cloud/aws/s3/KeyPathMatcherTest.java       |   13 +
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |    8 +-
 .../org.apache.sis.feature/main/module-info.java   |    1 +
 .../sis/coverage/grid/BufferedGridCoverage.java    |    1 +
 .../apache/sis/coverage/grid/GridDerivation.java   |  177 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |   63 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   27 +-
 .../apache/sis/coverage/grid/ImageRenderer.java    |   15 +-
 .../sis/coverage/privy/ColorModelBuilder.java      |   13 +-
 .../sis/coverage/privy/ColorModelFactory.java      |    8 +-
 .../org/apache/sis/coverage/privy/ImageLayout.java |   40 +-
 .../apache/sis/coverage/privy/ImageUtilities.java  |   36 +-
 .../apache/sis/coverage/privy/ObservableImage.java |    2 +-
 .../apache/sis/coverage/privy/RangeArgument.java   |   16 +-
 .../apache/sis/coverage/privy/RasterFactory.java   |    4 +-
 .../apache/sis/coverage/privy/TilePlaceholder.java |   16 +-
 .../main/org/apache/sis/image/DataType.java        |   39 +-
 .../main/org/apache/sis/image/ImageProcessor.java  |    2 +-
 .../org/apache/sis/image/MultiSourceLayout.java    |    2 +-
 .../main/org/apache/sis/image/Transferer.java      |    2 +-
 .../sis/coverage/grid/GridDerivationTest.java      |   16 +-
 .../apache/sis/coverage/grid/GridExtentTest.java   |    4 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |    2 +-
 .../apache/sis/coverage/privy/ImageLayoutTest.java |    8 +
 .../sis/coverage/privy/ImageUtilitiesTest.java     |    8 -
 .../sis/coverage/privy/RangeArgumentTest.java      |    2 +-
 .../apache/sis/image/BandAggregateImageTest.java   |    2 +-
 .../sis/metadata/iso/citation/Citations.java       |   58 +-
 .../main/org/apache/sis/metadata/sql/Citations.sql |   33 +-
 .../main/org/apache/sis/metadata/sql/Metadata.sql  |    4 +-
 .../apache/sis/metadata/sql/MetadataFallback.java  |   26 +-
 .../sis/metadata/iso/citation/CitationsTest.java   |    2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |    3 +-
 .../test/org/apache/sis/xml/test/InfiniteSet.java  |    2 +-
 .../main/module-info.java                          |    2 +
 .../main/org/apache/sis/io/wkt/AbstractParser.java |    6 +-
 .../main/org/apache/sis/io/wkt/Element.java        |    5 +-
 .../main/org/apache/sis/io/wkt/Warnings.java       |   14 +-
 .../referencing/datum/DefaultVerticalDatum.java    |   10 +-
 .../factory/ConcurrentAuthorityFactory.java        |   24 +-
 .../referencing/factory/GeodeticObjectFactory.java |    4 +-
 .../operation/provider/NorthPoleRotation.java      |    3 +-
 .../operation/provider/SouthPoleRotation.java      |    3 +-
 .../operation/transform/ProjectiveTransform.java   |    2 +-
 .../apache/sis/storage/landsat/LandsatStore.java   |    3 +-
 .../apache/sis/storage/landsat/MetadataReader.java |   14 +-
 .../sis/storage/landsat/MetadataReaderTest.java    |  282 ++--
 .../sis/storage/geotiff/CompressedSubset.java      |   34 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   34 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   66 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   11 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    |   55 +-
 .../sis/storage/geotiff/MultiResolutionImage.java  |   11 +-
 .../geotiff/reader/ImageMetadataBuilder.java       |    2 -
 .../apache/sis/storage/netcdf/MetadataReader.java  |   68 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |    7 +-
 .../sis/storage/netcdf/NetcdfStoreProvider.java    |   12 +-
 .../org/apache/sis/storage/netcdf/base/Axis.java   |   18 +-
 .../apache/sis/storage/netcdf/base/CRSBuilder.java |   16 +-
 .../apache/sis/storage/netcdf/base/Convention.java |    8 +-
 .../apache/sis/storage/netcdf/base/Decoder.java    |   31 +-
 .../apache/sis/storage/netcdf/base/FeatureSet.java |   26 +-
 .../sis/storage/netcdf/base/GridMapping.java       |   11 +-
 .../org/apache/sis/storage/netcdf/base/HYCOM.java  |  124 --
 .../sis/storage/netcdf/base/NamedElement.java      |    6 +
 .../org/apache/sis/storage/netcdf/base/Node.java   |   27 +-
 .../sis/storage/netcdf/base/RasterResource.java    |   13 +-
 .../apache/sis/storage/netcdf/base/Variable.java   |   94 +-
 .../storage/netcdf/base/VariableTransformer.java   |  312 ++++
 .../sis/storage/netcdf/classic/ChannelDecoder.java |   32 +-
 .../sis/storage/netcdf/classic/GridInfo.java       |   22 +-
 .../sis/storage/netcdf/classic/VariableInfo.java   |   51 +-
 .../sis/storage/netcdf/ucar/DecoderWrapper.java    |   65 +-
 .../sis/storage/netcdf/ucar/GridWrapper.java       |    3 +-
 .../sis/storage/netcdf/ucar/VariableWrapper.java   |   14 +-
 .../sis/storage/netcdf/MetadataReaderTest.java     |  104 +-
 .../sis/storage/sql/feature/FeatureAnalyzer.java   |    7 +-
 .../sis/storage/sql/feature/TableReference.java    |    2 +-
 .../org.apache.sis.storage/main/module-info.java   |    3 +
 .../apache/sis/io/stream/HyperRectangleWriter.java |    2 +-
 .../main/org/apache/sis/io/stream/Region.java      |    4 +-
 .../sis/storage/AbstractGridCoverageResource.java  |    2 +-
 .../main/org/apache/sis/storage/FeatureNaming.java |   28 +-
 .../main/org/apache/sis/storage/Resource.java      |  206 ++-
 .../apache/sis/storage/base/MetadataBuilder.java   |  155 +-
 .../org/apache/sis/storage/base/PRJDataStore.java  |   35 +-
 .../sis/storage/base/ResourceOnFileSystem.java     |   71 -
 .../sis/storage/base/TiledDeferredImage.java       |   15 +-
 .../apache/sis/storage/base/TiledGridCoverage.java |  853 +++++++---
 .../apache/sis/storage/base/TiledGridResource.java |  384 ++++-
 .../org/apache/sis/storage/base/URIDataStore.java  |   37 +-
 .../sis/storage/base/URIDataStoreProvider.java     |    9 +-
 .../main/org/apache/sis/storage/csv/Store.java     |   31 +-
 .../org/apache/sis/storage/esri/RasterStore.java   |   16 +-
 .../apache/sis/storage/esri/RawRasterReader.java   |    4 +-
 .../apache/sis/storage/esri/RawRasterStore.java    |    5 +-
 .../main/org/apache/sis/storage/folder/Store.java  |    6 +-
 .../apache/sis/storage/folder/WritableStore.java   |   39 +-
 .../sis/storage/image/WorldFileResource.java       |   18 +-
 .../apache/sis/storage/image/WorldFileStore.java   |   13 +-
 .../org/apache/sis/storage/internal/Resources.java |    5 +
 .../sis/storage/internal/Resources.properties      |    1 +
 .../sis/storage/internal/Resources_fr.properties   |    1 +
 .../sis/io/stream/HyperRectangleReaderTest.java    |   10 +-
 .../sis/io/stream/HyperRectangleWriterTest.java    |    2 +-
 .../io/stream/SubsampledRectangleWriterTest.java   |    2 +-
 .../sis/storage/esri/AsciiGridStoreTest.java       |   59 +-
 .../sis/storage/test/CoverageReadConsistency.java  |   12 +-
 .../src/org.apache.sis.util/main/module-info.java  |    4 +
 .../main/org/apache/sis/math/Vector.java           |    2 +-
 .../main/org/apache/sis/system/Cleaners.java}      |   28 +-
 .../apache/sis/system/ReferenceQueueConsumer.java  |   13 +-
 .../main/org/apache/sis/system/Shutdown.java       |    2 +-
 .../main/org/apache/sis/util/Version.java          |   53 +-
 .../main/org/apache/sis/util/collection/Cache.java |    1 +
 .../org/apache/sis/util/privy/CollectionsExt.java  |   69 +-
 .../main/org/apache/sis/util/privy/Constants.java  |   11 +
 .../main/org/apache/sis/util/resources/Errors.java |    5 +
 .../apache/sis/util/resources/Errors.properties    |    1 +
 .../apache/sis/util/resources/Errors_fr.properties |    1 +
 .../org/apache/sis/test/LogRecordCollector.java    |    2 +-
 .../test/org/apache/sis/util/VersionTest.java      |    9 +
 .../apache/sis/util/privy/CollectionsExtTest.java  |    4 +-
 geoapi/snapshot                                    |    2 +-
 incubator/build.gradle.kts                         |    4 +-
 .../apache/sis/storage/geopackage/GpkgStore.java   |   26 +-
 .../org/apache/sis/storage/gimi/GimiProvider.java  |    2 +-
 .../org/apache/sis/storage/gimi/GimiStore.java     |   17 +-
 .../apache/sis/storage/gimi/GimiTileMatrix.java    |    4 +-
 .../org/apache/sis/storage/gimi/ResourceGrid.java  |   64 +-
 .../storage/gimi/ResourceImageUncompressed.java    |  134 +-
 .../apache/sis/storage/gimi/ResourcePyramid.java   |   62 +-
 .../storage/gimi/internal/MatrixGridRessource.java |   32 +-
 .../sis/storage/gimi/internal/ScaleSortedMap.java  |    2 +-
 .../isobmff/gimi/ModelTransformationProperty.java  |    9 +
 .../gimi/isobmff/gimi/WellKnownText2Property.java  |    9 +
 .../gimi/isobmff/iso23001_17/TAIClockInfo.java     |    4 +-
 .../main/module-info.java                          |    2 +
 .../main/org/apache/sis/storage/gsf/Attitude.java  |   11 +-
 .../main/org/apache/sis/storage/gsf/Comment.java   |   10 +-
 .../main/org/apache/sis/storage/gsf/DataID.java    |    9 +-
 .../main/org/apache/sis/storage/gsf/GSF.java       | 1780 ++++++--------------
 .../apache/sis/storage/gsf/GSFException.java}      |   16 +-
 .../apache/sis/storage/gsf/GSFRecordReader.java    |  122 +-
 .../main/org/apache/sis/storage/gsf/GSFStore.java  |  102 ++
 .../apache/sis/storage/gsf/GSFStoreProvider.java   |  212 +++
 .../apache/sis/storage/gsf/HVNavigationError.java  |    9 +-
 .../main/org/apache/sis/storage/gsf/Header.java    |    9 +-
 .../main/org/apache/sis/storage/gsf/History.java   |   10 +-
 .../apache/sis/storage/gsf/NavigationError.java    |   10 +-
 .../main/org/apache/sis/storage/gsf/Position.java  |   13 +-
 .../apache/sis/storage/gsf/PositionOffsets.java    |    8 +-
 .../sis/storage/gsf/ProcessingParameters.java      |    8 +-
 .../main/org/apache/sis/storage/gsf/Records.java   |   10 +-
 .../apache/sis/storage/gsf/SBSensorSpecific.java   |   48 +-
 .../main/org/apache/sis/storage/gsf/SVP.java       |    9 +-
 .../org/apache/sis/storage/gsf/ScaleFactors.java   |   10 +-
 .../main/org/apache/sis/storage/gsf/ScaleInfo.java |   10 +-
 .../apache/sis/storage/gsf/SensorParameters.java   |   10 +-
 .../org/apache/sis/storage/gsf/SensorSpecific.java |  141 +-
 .../org/apache/sis/storage/gsf/SingleBeamPing.java |   10 +-
 .../org/apache/sis/storage/gsf/StructClass.java    |   32 +-
 .../org/apache/sis/storage/gsf/SwathBathyPing.java |    8 +-
 .../apache/sis/storage/gsf/SwathBathySummary.java  |   10 +-
 .../main/org/apache/sis/storage/gsf/TimeSpec.java  |    8 +-
 .../sis/storage/gsf/panama/LibraryLoader.java      |  125 ++
 .../sis/storage/gsf/panama/LibraryStatus.java      |   26 +-
 .../sis/storage/gsf/panama/NativeFunctions.java    |   84 +
 .../sis/storage/gsf/panama}/package-info.java      |   16 +-
 .../gsf/specific/{BDBSpecific.java => BDB.java}    |   11 +-
 .../{CmpSassSpecific.java => CmpSass.java}         |   12 +-
 .../specific/{DeltaTSpecific.java => DeltaT.java}  |   11 +-
 .../specific/{EM100Specific.java => EM100.java}    |   18 +-
 .../gsf/specific/{EM12Specific.java => EM12.java}  |  171 +-
 .../specific/{EM121ASpecific.java => EM121A.java}  |  227 +--
 .../gsf/specific/{EM3Specific.java => EM3.java}    |  268 +--
 .../{EM3ImagerySpecific.java => EM3Imagery.java}   |  242 +--
 .../specific/{EM3RawSpecific.java => EM3Raw.java}  |  442 +----
 .../sis/storage/gsf/specific/EM3RawTxSector.java   |  238 +--
 .../sis/storage/gsf/specific/EM3RunTime.java       |  679 +-------
 .../gsf/specific/{EM4Specific.java => EM4.java}    |  418 +----
 .../{EM4ImagerySpecific.java => EM4Imagery.java}   |  339 +---
 .../sis/storage/gsf/specific/EM4TxSector.java      |  262 +--
 .../specific/{EM950Specific.java => EM950.java}    |  155 +-
 .../sis/storage/gsf/specific/EMPUStatus.java       |  167 +-
 .../apache/sis/storage/gsf/specific/EMRunTime.java |  790 +--------
 .../{EchotracSpecific.java => Echotrac.java}       |   83 +-
 .../{ElacMkIISpecific.java => ElacMkII.java}       |  179 +-
 ...GeoSwathPlusSpecific.java => GeoSwathPlus.java} |  626 +------
 .../specific/{KMALLSpecific.java => KMALL.java}    |   11 +-
 .../sis/storage/gsf/specific/KMALLExtraDet.java    |   94 +-
 ...n7100ImagerySpecific.java => KMALLImagery.java} |  100 +-
 .../sis/storage/gsf/specific/KMALLTxSector.java    |  334 +---
 ...Klein5410BssSpecific.java => Klein5410Bss.java} |  434 +----
 ...agerySpecific.java => Klein5410BssImagery.java} |  138 +-
 .../specific/{MGD77Specific.java => MGD77.java}    |  155 +-
 .../specific/{NOSHDBSpecific.java => NOSHDB.java}  |   60 +-
 .../{R2SonicSpecific.java => R2Sonic.java}         |  806 +--------
 ...nicImagerySpecific.java => R2SonicImagery.java} |  695 +-------
 .../{Reson7100Specific.java => Reson7100.java}     | 1196 ++-----------
 ...LImagerySpecific.java => Reson7100Imagery.java} |   60 +-
 .../{Reson8100Specific.java => Reson8100.java}     |  674 +-------
 ...0ImagerySpecific.java => Reson8100Imagery.java} |   51 +-
 ...ResonTSeriesSpecific.java => ResonTSeries.java} | 1542 ++---------------
 ...agerySpecific.java => ResonTSeriesImagery.java} |   74 +-
 .../specific/{SBAmpSpecific.java => SBAmp.java}    |  155 +-
 .../specific/{SBBDBSpecific.java => SBBDB.java}    |  218 +--
 .../{SBEchotracSpecific.java => SBEchotrac.java}   |  146 +-
 .../specific/{MGD77Specific.java => SBMGD77.java}  |  186 +-
 .../sis/storage/gsf/specific/SBMGD77Specific.java  |  400 -----
 .../{SBNOSHDBSpecific.java => SBNOSHDB.java}       |   98 +-
 .../{SBNavisoundSpecific.java => SBNavisound.java} |   74 +-
 .../specific/{SeaBatSpecific.java => SeaBat.java}  |  155 +-
 .../{SeaBat8101Specific.java => SeaBat8101.java}   |  434 +----
 .../{SeaBatSpecific.java => SeaBatII.java}         |  218 ++-
 .../sis/storage/gsf/specific/SeaBatIISpecific.java |  490 ------
 .../{SeaBeam2112Specific.java => SeaBeam2112.java} |  257 +--
 .../{SeabeamSpecific.java => Seabeam.java}         |   35 +-
 .../specific/{SeamapSpecific.java => Seamap.java}  |  256 +--
 .../{TypeIIISpecific.java => TypeIII.java}         |  155 +-
 .../sis/storage/shapefile/ShapefileStore.java      |   17 +-
 .../sis/storage/shapefile/ShapefileStoreTest.java  |   31 +-
 netbeans-project/nbproject/project.properties      |    1 +
 optional/README.md                                 |    3 +
 optional/build.gradle.kts                          |   19 +-
 optional/src/org.apache.sis.gui/bundle/README      |    5 +-
 .../org/apache/sis/gui/coverage/GridTileCache.java |    4 +-
 .../org/apache/sis/gui/dataset/PathAction.java     |   27 +-
 .../org/apache/sis/gui/map/GestureFollower.java    |    2 +-
 .../main/org/apache/sis/gui/map/MapCanvas.java     |    2 +-
 .../sis/gui/metadata/IdentificationInfo.java       |   26 +-
 .../org/apache/sis/gui/metadata/MetadataTree.java  |   12 +-
 .../org.apache.sis.storage.DataStoreProvider       |    4 +
 .../main/module-info.java                          |   59 +
 .../main/org/apache/sis/storage/gdal/Band.java     |  368 ++++
 .../sis/storage/gdal/ColorInterpretation.java      |   78 +
 .../main/org/apache/sis/storage/gdal/DataType.java |  193 +++
 .../main/org/apache/sis/storage/gdal/Driver.java   |  380 +++++
 .../org/apache/sis/storage/gdal/ErrorHandler.java  |  253 +++
 .../main/org/apache/sis/storage/gdal/GDAL.java     |  606 +++++++
 .../org/apache/sis/storage/gdal/GDALStore.java     |  511 ++++++
 .../apache/sis/storage/gdal/GDALStoreProvider.java |  325 ++++
 .../main/org/apache/sis/storage/gdal/OpenFlag.java |  153 ++
 .../main/org/apache/sis/storage/gdal/Opener.java   |  204 +++
 .../org/apache/sis/storage/gdal/SpatialRef.java    |  174 ++
 .../org/apache/sis/storage/gdal/Subdataset.java    |   69 +
 .../apache/sis/storage/gdal/SubdatasetList.java    |  167 ++
 .../org/apache/sis/storage/gdal/TiledCoverage.java |  124 ++
 .../org/apache/sis/storage/gdal/TiledResource.java |  615 +++++++
 .../org/apache/sis/storage/gdal/package-info.java  |   44 +
 .../apache/sis/storage/panama/LibraryLoader.java   |  223 +++
 .../apache/sis/storage/panama/LibraryStatus.java   |   89 +
 .../apache/sis/storage/panama/NativeFunctions.java |  225 +++
 .../org/apache/sis/storage/panama}/Resources.java  |   82 +-
 .../sis/storage/panama}/Resources.properties       |   17 +-
 .../apache/sis/storage/panama}/Resources_en.java   |    2 +-
 .../apache/sis/storage/panama}/Resources_fr.java   |    2 +-
 .../sis/storage/panama}/Resources_fr.properties    |   17 +-
 .../apache/sis/storage/panama}/package-info.java   |   14 +-
 .../org/apache/sis/storage/gdal/GDALStoreTest.java |  221 +++
 .../test/org/apache/sis/storage/gdal/test.tiff     |  Bin 0 -> 4009 bytes
 270 files changed, 11148 insertions(+), 17092 deletions(-)

diff --cc 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
index f20c808ffb,258a05277a..83d43908ba
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
@@@ -3053,14 -3081,54 +3083,54 @@@ public class MetadataBuilder 
      public final void setFormatEdition(final CharSequence value) {
          final InternationalString i18n = trim(value);
          if (i18n != null) {
-             @SuppressWarnings("LocalVariableHidesMemberVariable")
-             final DefaultFormat format = format();
-             DefaultCitation c = 
DefaultCitation.castOrCopy(format.getFormatSpecificationCitation());
-             if (c == null) {
-                 c = new DefaultCitation();
-                 format.setFormatSpecificationCitation(c);
+             getFormatCitation().setEdition(i18n);
+         }
+     }
+ 
+     /**
+      * Adds a note about which reader is used. This method should not be 
invoked before
+      * the {@linkplain #addFormatName format name} has been set. Storage 
location is:
+      *
+      * <ul>
+      *   <li>{@code 
metadata/identificationInfo/resourceFormat/formatSpecificationCitation/identifier}</li>
+      *   <li>{@code 
metadata/identificationInfo/resourceFormat/formatSpecificationCitation/otherCitationDetails}</li>
+      * </ul>
+      *
+      * If this method is used together with {@link #setPredefinedFormat 
setPredefinedFormat(…)},
+      * then the predefined format should be set <strong>before</strong> this 
method.
+      *
+      * @param driver   library-specific way to identify the format 
(mandatory).
+      * @param version  the library version, or {@code null} if unknown.
+      */
+     public final void addFormatReader(final Identifier driver, final Version 
version) {
+         CharSequence title = null;
+         Citation authority = driver.getAuthority();
+         if (authority != null) {
+             title = authority.getTitle();
+             if (title != null) {
+                 for (CharSequence t : authority.getAlternateTitles()) {
+                     if (t.length() < title.length()) {
+                         title = t;      // Alternate titles are often 
abbreviations.
+                     }
+                 }
              }
-             c.setEdition(i18n);
+         }
+         final DefaultCitation c = getFormatCitation();
+         addIfNotPresent(c.getIdentifiers(), driver);
 -        addIfNotPresent(c.getOtherCitationDetails(),
++        c.setOtherCitationDetails(
+                 Resources.formatInternational(Resources.Keys.ReadBy_2, (title 
!= null) ? title : driver.getCodeSpace(),
+                         (version != null) ? version : 
Vocabulary.formatInternational(Vocabulary.Keys.Unspecified)));
+     }
+ 
+     /**
+      * Adds a note saying that Apache <abbr>SIS</abbr> has been used for 
decoding the format.
+      * This method should not be invoked before the {@linkplain 
#addFormatName format name} has been set.
+      *
+      * @param  name  the format name, or {@code null} if unspecified.
+      */
+     public void addFormatReaderSIS(final String name) {
+         if (name != null) {
+             addFormatReader(new ImmutableIdentifier(Citations.SIS, 
Constants.SIS, name), Version.SIS);
          }
      }
  
diff --cc 
endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/TiledGridCoverage.java
index 5f70abf546,d654e224a6..324cf33c95
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/TiledGridCoverage.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/TiledGridCoverage.java
@@@ -45,11 -47,9 +47,12 @@@ import org.apache.sis.storage.tiling.Ti
  import org.apache.sis.storage.internal.Resources;
  import org.apache.sis.util.collection.WeakValueHashMap;
  import org.apache.sis.util.resources.Errors;
+ import org.apache.sis.util.privy.Numerics;
  import static org.apache.sis.pending.jdk.JDK18.ceilDiv;
  
 +// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.geometry.MismatchedDimensionException;
 +
  // Specific to the geoapi-3.1 and geoapi-4.0 branches:
  import org.opengis.coverage.CannotEvaluateException;
  
diff --cc geoapi/snapshot
index 99dad58954,8b993c74d8..d71280997a
--- a/geoapi/snapshot
+++ b/geoapi/snapshot
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit 99dad589544973864a78b982a48766b2c6a0e872
 -Subproject commit 8b993c74d8f49b215f6b4aa2747e0f362d97d3e3
++Subproject commit d71280997a414d08eefa588c12415cef390011e2

Reply via email to