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

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


    from 2cfb383a96 Merge branch 'geoapi-4.0' into geoapi-3.1
     add 90a499a32d Resolve a "unspecified CRS" exception when reading a 
GeoTIFF with a three-dimensional CRS (a geographic or projected CRS + a 
vertical CRS on user-defined datum).
     add afb365202e Make the code more SecurityException-proof. This commit 
does not introduce new dependency since the Apache SIS code already had some 
`catch (SecurityException)` statements. While the security manager is removed 
in Java 24, SIS can run on Java 11 and some softwares are still running in 
security-constrained environments. This commit will be reverted when Apache SIS 
will require Java 24, or when the `SecurityException` class will be deprecated.
     add 416551cdc7 Add a public `Configuration.shutdown()` method.
     add 7a696fe83a Change the order of `AxesConvention` enumeration values 
from most conservative to most aggressive.
     add 66809d27ae Handle empty files as non-existent files when opening a 
`DataStore` in write mode. This is needed because when requesting a temporary 
file, an empty file is created.
     add e93449f33c Document an extra step needed for a more complete shutdown 
of the system.
     add 6cdeffb8f5 Add a `DataStores.open(Object, String)` method which allows 
to specify the preferred data store implementation.
     add 56de57f5b7 Add a `GridGeometry.getOrigin()` method.
     add e76f36ff59 Avoid a NullPointerException when a GeoTIFF file has 
incomplete georeferencing information.
     add a1b220381e Relax the check for the number of dimensions when the grid 
coverage has less dimensions than expected. Normally, the number of dimensions 
of the tiles should be equal to the number of dimensions declared in the grid 
extent. However, it happens sometime that the `TiledGridResource` is a two 
dimensional image associated to a three-dimensional CRS. This is not 
recommended, but can happen with GeoTIFF for example. What to do with the extra 
dimensions is unclear (the GeoTIF [...]
     add 08710309d3 Upgrade GeoAPI snapshot version. Contains the addition of 
`getReferenceSystemType()` method. This upgrade fixes 
https://issues.apache.org/jira/browse/SIS-470
     add bbe24a2fba Better checks of SampleModel properties before to write a 
GeoTIFF file.
     add 08e4257586 Better checks of ColorModel properties before to write a 
GeoTIFF file.
     add f42386f4e9 Rename `ColorModelBuilder` as `ColorScaleBuilder` for 
reflecting the fact that it is about indexed color model, and for making the 
`ColorModelBuilder` name available for a builder for other cases.
     add c9a672132b Move the `createPackedRGB(…)` and createBandedRGB(…)` 
methods in a new `ColorModelBuilder` class. In gives more flexibility for 
configuring the RGB color model to create.
     add 61589faccb Rename `MultiSourceLayout` and `BandAggregateLayout` for 
making clear that this is about band aggregate only rather than all 
multi-source image.
     add acdc884394 Add an image overlay operation in `ImageProcessor`.
     add 6a22d7e5e9 If an image does not fit the requirement of the TIFF 
specification, reformat the image before to write it in a TIFF file.
     add aeaadf2f05 GeoTIFF writer should throw an exception instead of logging 
a warning when the CRS or the "grid to CRS" transform cannot be encoded.
     add 65d1d016d1 In case of error while writing a GeoTIFF file, restore the 
file to its previous state.
     add a95fbd4ab4 Allow GeoTIFF writer to encode "grid to CRS" where the 
vertical component is non-linear.
     add ae291c6dec Delete leftover temporary files during Geopackage test.
     add 78771af452 Avoid triple-slash for starting a comment, because they are 
reserved for Markdown in latest Java versions.
     add 11790ff20e Accept also regions encoded as character strings instead of 
as an instance of the Region class.
     add 97f67d1dc8 Revisit the S3 documentation for reducing a confusion about 
what S3 call "key". In the context of Apache SIS, a S3 "key" is interpreted as 
a file path. Furthermore, "key" was too easily confused with "access key".
     add 72ce0be904 Upgrade Amazon S3 dependency from 2.26.24 to 2.29.37.
     add 0173414d34 `Extents.getVerticalRange(…)` may throw an exception when a 
value is NaN.
     add ed889b8433 Fix an `IndexArrayOutOfBoundsException` when reading a 
GeoTIFF with a three-dimensional CRS.
     add 6718873520 Add the netCDF attribute names of Mercator data (from 
Copernicus) as an alternative convention when CF attributes were not found. 
Those alternatives are ignored when CF attributes are found.
     add 076c21a2c1 Add a `PlanarImage.getValidArea()` method. `ResampledImage` 
computes this information by reprojecting the valid area of the source.
     add 4349cc81c8 More accurate checks by `ImageOverlay` of which sources are 
worth to keep. This is using the `getValidArea()` method added in the previous 
commit.
     add 8c9c31766b Fix: calculation of contributions in `ImageOverlay` was too 
large. Edit documentation by saying that each image is fully opaque.
     add 1b0067787b Remove the `horizontal` boolean argument in 
`ShapeUtilities.parabolicControlPoint(…)`. It was never used.
     add 69eedf135e Move three `ImageLayout` constants to the classes where 
they are used. Opportunistic renaming of a field for clarity and rewording in 
Javadoc. This is in preparation for moving `ImageLayout` to public API.
     add cc2e967908 Retrofit user-provided arguments as `ImageLayout` 
properties: - The `allowPartialTiles` argument given to `ImageLayout` methods. 
- The `ImageProcessor.autoTileSize` field.
     add e0d5eb16e4 Move `ImageLayout` to public API. The intend is to use it 
as a replacement for `SampleModel` and `ColorModel` arguments in 
`ImageProcessor`.
     add 226c9c5706 Deprecate `ImageProcessor.Resizing`, replaced by 
`ImageLayout`.
     add 49945796f4 Retrofit the `minTile` property of two `ImageLayout` 
subclasses into `ImageLayout` directly.
     add b9f98ce7e1 Add `SampleModel` and `ColorModel` properties into 
`ImageLayout` in replacement for optional arguments given to image processor.
     add 8018b22551 Remove the `ColorModel` property from `ImageLayout` for 
avoiding an overlap with `Colorizer`.
     add 2a7346399c Consolidation in the way that a sample model is created 
from an `ImageLayout` for an image operation. Some `int` arguments are replaced 
by more type-safe objects such as `DataType` or `Dimension`.
     add bb8db50cd2 `BandAggregateLayout` does not need anymore to extend 
`ImageLayout`. This simplication makes easier to complete the constructor, for 
example with the concatenated list of sample dimensions.
     add 482e27bf24 Consolidation of the handling of 
`PlanarImage.SAMPLE_DIMENSIONS_KEY`: - Document that some elements may be null, 
and adjust codes accordingly. - Ensure that `ImageProcessor.statistics(…)` 
never return null values. - Change some internal from `SampleDimensions[]` to 
`List<SampleDimension>`.   It reduces the number of conversions between those 
two types.
     add 49f489db9e Fix an `IndexOutOfBoundsException` when fetching netCDF 
metadata. Adjust the title of GeoTIFF file declared in metadata.
     add cb303c4705 Document the relationship between `ImageCombiner` and 
`ImageProcessor.overlay(…)`.
     new 9160018564 Merge branch 'geoapi-4.0' into geoapi-3.1. Contains bug fix 
related to GeoTIFF and other formats. Contains a new "overlay" image operation 
and improvement in the handling of image properties in "band aggregate" 
operation.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../sis/buildtools/coding/ReorganizeImports.java   |   2 +-
 .../org/apache/sis/buildtools/book/OGC.lst         |   1 +
 .../org/apache/sis/cloud/aws/s3/FileService.java   |  36 +-
 .../main/org/apache/sis/cloud/aws/s3/KeyPath.java  |   4 +-
 .../apache/sis/cloud/aws/s3/ObjectAttributes.java  |   5 +-
 .../org/apache/sis/cloud/aws/s3/package-info.java  |  31 +-
 .../coverage/grid/BandAggregateGridCoverage.java   |  10 +-
 .../coverage/grid/CoordinateOperationFinder.java   |   2 +
 .../org/apache/sis/coverage/grid/GridCoverage.java |   5 +-
 .../sis/coverage/grid/GridCoverageBuilder.java     |   9 +-
 .../sis/coverage/grid/GridCoverageProcessor.java   |   8 +-
 .../apache/sis/coverage/grid/GridDerivation.java   |   6 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java | 219 ++++--
 .../apache/sis/coverage/grid/ImageRenderer.java    |  13 +-
 ...rceArgument.java => BandAggregateArgument.java} |   8 +-
 .../sis/coverage/privy/ColorModelBuilder.java      | 757 +++++----------------
 .../sis/coverage/privy/ColorModelFactory.java      |  57 +-
 .../apache/sis/coverage/privy/ColorModelType.java  |   2 +-
 ...lorModelBuilder.java => ColorScaleBuilder.java} |  55 +-
 .../apache/sis/coverage/privy/ColorsForRange.java  |   6 +-
 .../org/apache/sis/coverage/privy/ImageLayout.java | 458 -------------
 .../apache/sis/coverage/privy/ImageUtilities.java  |  47 +-
 .../apache/sis/coverage/privy/RasterFactory.java   |   2 +-
 .../sis/coverage/privy/SampleDimensions.java       |  27 +-
 .../sis/coverage/privy/SampleModelFactory.java     |  75 +-
 .../org/apache/sis/feature/internal/Resources.java |   3 +-
 .../sis/feature/internal/Resources.properties      |   2 +-
 .../sis/feature/internal/Resources_fr.properties   |   2 +-
 .../org/apache/sis/image/BandAggregateImage.java   | 125 +++-
 ...iSourceLayout.java => BandAggregateLayout.java} | 195 +++---
 .../main/org/apache/sis/image/BandSelectImage.java |  18 +-
 .../apache/sis/image/BandedSampleConverter.java    |  45 +-
 .../main/org/apache/sis/image/Colorizer.java       |  40 +-
 .../main/org/apache/sis/image/ComputedImage.java   |  23 +-
 .../main/org/apache/sis/image/ImageAdapter.java    |   4 +-
 .../main/org/apache/sis/image/ImageCombiner.java   |  32 +-
 .../main/org/apache/sis/image/ImageLayout.java     | 673 ++++++++++++++++++
 .../main/org/apache/sis/image/ImageOverlay.java    | 431 ++++++++++++
 .../main/org/apache/sis/image/ImageProcessor.java  | 227 +++++-
 .../org/apache/sis/image/MultiSourceImage.java     |  41 +-
 .../main/org/apache/sis/image/PlanarImage.java     |  71 +-
 .../main/org/apache/sis/image/RecoloredImage.java  |  63 +-
 .../main/org/apache/sis/image/ResampledImage.java  |  62 +-
 .../org/apache/sis/image/SourceAlignedImage.java   |  10 +
 .../org/apache/sis/image/StatisticsCalculator.java |  13 +-
 .../main/org/apache/sis/image/Transferer.java      |   1 -
 .../main/org/apache/sis/image/Visualization.java   |  78 ++-
 .../apache/sis/image/WritableComputedImage.java    |   2 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |  15 +-
 .../sis/coverage/privy/ColorModelBuilderTest.java  |  13 +-
 .../sis/coverage/privy/SampleModelFactoryTest.java |  18 +-
 .../apache/sis/image/BandAggregateImageTest.java   |  66 +-
 .../sis/image/BandedSampleConverterTest.java       |  17 +-
 .../{coverage/privy => image}/ImageLayoutTest.java |  14 +-
 .../org/apache/sis/image/ImageOverlayTest.java     | 116 ++++
 .../org/apache/sis/image/ResampledImageTest.java   |  22 +-
 .../apache/sis/metadata/iso/extent/Extents.java    |   5 +-
 .../sis/metadata/privy/ReferencingServices.java    |  20 +-
 .../apache/sis/metadata/sql/privy/Initializer.java |   7 +-
 .../sis/metadata/sql/privy/LocalDataSource.java    |   9 +-
 .../main/org/apache/sis/xml/MarshallerPool.java    |  12 +-
 .../apache/sis/xml/bind/IdentifierMapAdapter.java  |  16 +-
 .../sis/xml/bind/ModifiableIdentifierMap.java      |  16 +-
 .../org/apache/sis/xml/bind/TypeRegistration.java  |   8 +-
 ...ngType.java => MD_ReferenceSystemTypeCode.java} |  24 +-
 .../metadata/replace/ReferenceSystemMetadata.java  |  29 +-
 .../xml/bind/metadata/replace/package-info.java    |   2 +
 .../apache/sis/metadata/PropertyAccessorTest.java  |  21 +-
 .../org/apache/sis/map/coverage/RenderingData.java |  19 +-
 .../main/org/apache/sis/io/wkt/Element.java        |  20 +-
 .../main/org/apache/sis/io/wkt/Formatter.java      |  56 +-
 .../apache/sis/referencing/AuthorityFactories.java |   9 +-
 .../main/org/apache/sis/referencing/CommonCRS.java |   5 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |   2 +-
 .../apache/sis/referencing/cs/AxesConvention.java  | 218 +++---
 .../factory/ConcurrentAuthorityFactory.java        |   4 +-
 .../referencing/internal/ServicesForMetadata.java  |  20 +-
 .../operation/CoordinateOperationFinder.java       |  68 +-
 .../operation/provider/MapProjection.java          |  14 +-
 .../transform/AbstractMathTransform2D.java         |  31 +-
 .../transform/ConcatenatedTransform2D.java         |   2 +-
 .../transform/ConcatenatedTransformDirect2D.java   |   2 +-
 .../transform/DefaultMathTransformFactory.java     |  12 +-
 .../InterpolatedGeocentricTransform2D.java         |   4 +-
 .../transform/InterpolatedTransform2D.java         |   4 +-
 .../operation/transform/MolodenskyTransform2D.java |   2 +-
 .../transform/PassThroughTransform2D.java          |   2 +-
 .../operation/transform/ProjectiveTransform2D.java |   2 +-
 .../transform/SpecializableTransform2D.java        |   4 +-
 .../sis/referencing/privy/ShapeUtilities.java      | 105 +--
 .../operation/CoordinateOperationFinderTest.java   |  10 +-
 .../referencing/operation/provider/NADCONTest.java |  10 +-
 .../referencing/operation/provider/NTv2Test.java   |  10 +-
 .../sis/referencing/privy/ShapeUtilitiesTest.java  |  23 +-
 .../referencing/privy/ShapeUtilitiesViewer.java    |  10 +-
 .../apache/sis/storage/geotiff/FormatModifier.java |  14 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  29 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    | 221 +++---
 .../org/apache/sis/storage/geotiff/Writer.java     | 153 +++--
 .../sis/storage/geotiff/reader/CRSBuilder.java     |  68 +-
 .../geotiff/reader/GridGeometryBuilder.java        |  32 +-
 .../sis/storage/geotiff/reader/Localization.java   |   1 +
 .../sis/storage/geotiff/writer/GeoEncoder.java     | 239 ++++---
 .../storage/geotiff/writer/ReformattedImage.java   | 223 ++++--
 .../sis/storage/geotiff/writer/TileMatrix.java     |  83 ++-
 .../sis/storage/geotiff/GeoTiffStoreTest.java      | 111 +++
 .../org/apache/sis/storage/geotiff/WriterTest.java |  26 +-
 .../apache/sis/storage/netcdf/AttributeNames.java  |  30 +
 .../apache/sis/storage/netcdf/MetadataReader.java  |  28 +-
 .../apache/sis/storage/netcdf/base/Convention.java |  13 +-
 .../sis/storage/sql/postgis/RasterReader.java      |   3 +-
 .../sis/storage/xml/stream/StaxStreamReader.java   |  10 +-
 .../sis/storage/xml/stream/StaxStreamWriter.java   |  10 +-
 .../apache/sis/io/stream/ChannelDataOutput.java    |  28 +
 .../org/apache/sis/io/stream/ChannelFactory.java   |  46 +-
 .../apache/sis/io/stream/HyperRectangleWriter.java | 246 +++++--
 .../main/org/apache/sis/io/stream/IOUtilities.java |  16 +
 .../main/org/apache/sis/io/stream/Region.java      |  30 +
 .../org/apache/sis/storage/DataStoreRegistry.java  |  47 +-
 .../main/org/apache/sis/storage/DataStores.java    |  63 +-
 .../sis/storage/IncompatibleResourceException.java |  56 +-
 .../org/apache/sis/storage/ProbeProviderPair.java  |   6 +-
 .../main/org/apache/sis/storage/ProbeResult.java   |  10 +-
 .../org/apache/sis/storage/StorageConnector.java   |  15 +-
 .../aggregate/BandAggregateGridResource.java       |  10 +-
 .../apache/sis/storage/base/MetadataBuilder.java   |  43 +-
 .../apache/sis/storage/base/TiledGridCoverage.java |   8 +-
 .../apache/sis/storage/base/TiledGridResource.java |  47 +-
 .../sis/storage/base/URIDataStoreProvider.java     |  33 +-
 .../sis/storage/base/WritableAggregateSupport.java |   2 +-
 .../storage/base/WritableGridCoverageSupport.java  |   6 +-
 .../apache/sis/storage/esri/AsciiGridStore.java    |  27 +-
 .../org/apache/sis/storage/esri/RasterStore.java   |  23 +-
 .../org/apache/sis/storage/esri/WritableStore.java |   4 +-
 .../apache/sis/storage/event/StoreListeners.java   |   5 +-
 .../apache/sis/storage/image/DataStoreFilter.java  |  21 +-
 .../apache/sis/storage/image/WritableStore.java    |  27 +-
 .../apache/sis/storage/esri/WritableStoreTest.java |   8 +-
 .../org/apache/sis/converter/SystemRegistry.java   |  10 +-
 .../main/org/apache/sis/measure/AngleFormat.java   |  47 +-
 .../sis/pending/jdk/{JDK22.java => JDK20.java}     |  23 +-
 .../main/org/apache/sis/pending/jdk/JDK24.txt      |   1 +
 .../main/org/apache/sis/setup/Configuration.java   |  45 +-
 .../apache/sis/setup/InstallationResources.java    |   7 +-
 .../main/org/apache/sis/system/Reflect.java        |  27 +
 .../main/org/apache/sis/system/Shutdown.java       |  38 +-
 .../org/apache/sis/util/collection/RangeSet.java   |   6 +-
 .../main/org/apache/sis/util/logging/Logging.java  |   5 +-
 .../sis/util/resources/IndexedResourceBundle.java  |  19 +
 geoapi/snapshot                                    |   2 +-
 .../apache/sis/storage/geopackage/GpkgStore.java   |   2 +-
 .../sis/storage/geopackage/GpkgStoreTest.java      |  16 +-
 .../conformance/CoreConformanceTest.java           |   2 +-
 .../sis/storage/shapefile/ShapefileStore.java      |   2 +-
 .../sis/storage/shapefile/dbf/DBFIOTest.java       |   2 +-
 .../sis/storage/shapefile/shp/ShapeIOTest.java     |   2 +-
 netbeans-project/ivy.xml                           |   2 +-
 .../org/apache/sis/gui/coverage/GridTileCache.java |  11 +-
 .../apache/sis/gui/internal/io/FileAccessView.java |   2 +-
 .../sis/gui/metadata/IdentificationInfo.java       |  14 +-
 .../org/apache/sis/gui/metadata/MetadataTree.java  |  15 +-
 .../sis/gui/metadata/StandardMetadataTree.java     |   8 +-
 .../org/apache/sis/gui/metadata/package-info.java  |   2 +-
 .../org/apache/sis/storage/gdal/TiledResource.java |  17 +-
 settings.gradle.kts                                |   3 +-
 165 files changed, 4820 insertions(+), 2755 deletions(-)
 rename 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/privy/{MultiSourceArgument.java
 => BandAggregateArgument.java} (98%)
 copy 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/privy/{ColorModelBuilder.java
 => ColorScaleBuilder.java} (94%)
 delete mode 100644 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/privy/ImageLayout.java
 rename 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/{MultiSourceLayout.java
 => BandAggregateLayout.java} (71%)
 create mode 100644 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageLayout.java
 create mode 100644 
endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/ImageOverlay.java
 rename endorsed/src/org.apache.sis.feature/test/org/apache/sis/{coverage/privy 
=> image}/ImageLayoutTest.java (79%)
 create mode 100644 
endorsed/src/org.apache.sis.feature/test/org/apache/sis/image/ImageOverlayTest.java
 copy 
endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/{SV_CouplingType.java
 => MD_ReferenceSystemTypeCode.java} (76%)
 create mode 100644 
endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/GeoTiffStoreTest.java
 copy 
endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/{JDK22.java => 
JDK20.java} (62%)
 create mode 100644 
endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK24.txt

Reply via email to