This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git
from ae65a8be08 Merge branch 'geoapi-3.1' add 06ac1e9b3d Fix a wrong license header. This is one of the numerous files that we ported from the Geotk project, and we forgot to change the header of that one. add 06fc3757ff Implement the `getFileSet()` method in `GeoTiffStore`. add 93b7969729 Upgrade GeoAPI version for resolving a test failure during GeoAPI build. add b6025b282d Remove an identifier wrongly associated to format specification in metadata. add 4006d7b477 Fix a NullPointerException in portrayal (incubator). add 387c4e1001 Fix shapefile record reader not skipping trailing bytes add b294df8a45 Add style painter declaration in META-INF add f19ffb083d Add clarification in documentations related to image operations. Update of the link to GeoTIFF specification in metadata, replacing OSGeo track by OGC web site. Add a `Strings.appendWithHeuristic(…)` internal method for some `toString()` implementations. The rest of this commit contains some usages of `var` in place of redundant type declarations. add 4e446feef3 More clarification and control on the characteristics (cell area/center, rounding mode) of transformation of grid extent between grid geometries. As a side-effect of this work, add a `GridGeometry.contains(GridGeometry)` and related methods (used mostly for assertions at this time). The above are used for identifying and fixing an erroneous offset in the use of the GDAL data store. add 0196e6e12b Update JTS version to 1.20.0 add ddb1c86630 Fix a NullPointerException with HDF5 files having unnamed dimensions. add 3f88ee02c2 Add an "opaque overlay" merge strategy for `CoverageAggregator`. Detect automatically when the "slices" are actually tiles in a mosaic, in which case the the "opaque overlay" strategy can be automatically selected. Improves `ImageOverlay` implementation for avoiding to copy tiles when possible. add 4be2f9fa8f Add a `Locale` argument to `MetadataBuilder.parseLegalNotice(…)`. Opportunistic code refactoring related to `InternationalString`. add 8c31b5d538 Add a `readNullTerminatedString(Charset)` method in `ChannelDataInput`. add fbaf9c4b0c Relax the interface implemented by `ByteRangeChannel`. This is for making easier to implement wrappers around other channels that are not sure to be seekable. add 8203b0337b Provide default method in `TreeTable.Node` interface for unmodifiable nodes. add 0cc353e119 Complete the translation (or "grid shift") methods by convenience methods doing the translation in the reverse direction. It avoids the need for the caller to negate the value, and in extreme case can avoid an integer overflow. add 62afc80973 Add methods in `GridDerivation` for providing more information on the subsampling. add cd3eb5eaf8 Move `ReshapedImage` to an internal package for reuse by other modules, and add a constructor for creating a translated image. It will be needed for work on aggregation in later commit. add a7888b6e69 Javadoc and minor cleaning. add 9ee2b4da8f Improve `CoverageAggregator` for better support of image mosaic, including when a subsampling is requested. A difficulty is that `GridCoverageResource` can read a coverage with a subsampling different than requested, and there is no guarantee that the different tiles in a mosaic will choose the same subsampling factors. add 2a8655e255 Change of axis order in GeoTIFF writer should accept directions such as "North along 90°E". add d7d2aed41e Fix an `AssertionError` when writing a `MultiPixelPackedSampleModel`. add 2b04bd8532 Fix a `NullPointerException` in the JavaFX application. add 628fa843c5 Make the JavaFX application easier to launch with the optional UCAR netCDF library. add f63533fbb6 Improves the encoding of map projection in GeoTIFF files: * Fix the missing EPSG code for prime meridian. * Replace "Pseudo-Sinusoidal" by "Sinusoidal". add f797799d32 Missing translation when writing a GeoTIFF file with grid coordinates that do not start at zero. add 64feb29631 Merge branch 'geoapi-4.0' into geoapi-3.1 new fed83f0af1 Merge branch 'geoapi-3.1' 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: .../apache/sis/buildtools/gradle/Assembler.java | 2 +- .../org/apache/sis/coverage/SampleRangeFormat.java | 6 +- .../sis/coverage/grid/BufferedGridCoverage.java | 4 +- .../apache/sis/coverage/grid/DomainLinearizer.java | 4 +- .../apache/sis/coverage/grid/GridCoverage2D.java | 23 +- .../apache/sis/coverage/grid/GridDerivation.java | 257 ++++++++---- .../org/apache/sis/coverage/grid/GridExtent.java | 235 +++++++---- .../org/apache/sis/coverage/grid/GridGeometry.java | 237 +++++++++-- .../apache/sis/coverage/grid/PixelTranslation.java | 28 +- .../sis/coverage/grid/ResampledGridCoverage.java | 10 +- .../apache/sis/coverage/grid/SliceGeometry.java | 2 +- .../sis/coverage/privy/CommonDomainFinder.java | 18 +- .../main/org/apache/sis/feature/FeatureFormat.java | 9 +- .../main/org/apache/sis/image/ComputedImage.java | 2 +- .../main/org/apache/sis/image/ComputedTiles.java | 12 +- .../main/org/apache/sis/image/ImageOverlay.java | 59 ++- .../main/org/apache/sis/image/ImageProcessor.java | 9 +- .../main/org/apache/sis/image/PlanarImage.java | 9 +- .../main/org/apache/sis/image/TileCache.java | 5 +- .../apache/sis/image/privy/AssertionMessages.java | 87 ++++ .../grid => image/privy}/ReshapedImage.java | 51 ++- .../apache/sis/image/privy/TilePlaceholder.java | 5 +- .../sis/coverage/grid/GridDerivationTest.java | 138 ++++--- .../apache/sis/coverage/grid/GridExtentTest.java | 60 ++- .../apache/sis/coverage/grid/GridGeometryTest.java | 87 +++- .../coverage/grid/ResampledGridCoverageTest.java | 1 + .../grid => image/privy}/ReshapedImageTest.java | 12 +- .../org/apache/sis/metadata/privy/Identifiers.java | 2 +- .../main/org/apache/sis/metadata/sql/Citations.sql | 2 +- .../apache/sis/xml/bind/lan/LocaleAndCharset.java | 10 +- .../org/apache/sis/xml/bind/lan/PT_FreeText.java | 10 +- .../apache/sis/xml/bind/gco/StringAdapterTest.java | 2 +- .../sis/xml/bind/lan/FreeTextMarshallingTest.java | 2 +- .../coverage/MultiResolutionCoverageLoader.java | 2 +- .../org/apache/sis/map/coverage/RenderingData.java | 30 +- .../sis/referencing/gazetteer/LocationFormat.java | 7 +- .../org/apache/sis/geometry/EnvelopeReducer.java | 7 +- .../main/org/apache/sis/geometry/Envelopes.java | 30 +- .../org/apache/sis/parameter/ParameterFormat.java | 41 +- .../main/org/apache/sis/referencing/CRS.java | 6 +- .../apache/sis/referencing/GeodeticCalculator.java | 6 +- .../sis/referencing/ImmutableIdentifier.java | 131 +++--- .../apache/sis/referencing/NamedIdentifier.java | 24 +- .../sis/referencing/StandardDefinitions.java | 14 +- .../org/apache/sis/referencing/cs/AxisName.java | 2 +- .../main/org/apache/sis/referencing/cs/Codes.java | 6 +- .../sis/referencing/cs/CoordinateSystems.java | 33 +- .../cs/DefaultCoordinateSystemAxis.java | 4 +- .../sis/referencing/cs/DirectionAlongMeridian.java | 4 +- .../org/apache/sis/referencing/cs/Normalizer.java | 12 +- .../operation/builder/LinearTransformBuilder.java | 28 +- .../referencing/operation/builder/Linearizer.java | 11 +- .../operation/builder/ProjectedTransformTry.java | 6 +- .../sis/referencing/operation/gridded/Tile.java | 6 +- .../operation/provider/MapProjection.java | 19 +- .../operation/provider/PseudoMercator.java | 10 + .../operation/provider/PseudoSinusoidal.java | 10 + .../sis/referencing/privy/AxisDirections.java | 2 +- .../sis/referencing/NamedIdentifierTest.java | 2 +- .../sis/referencing/cs/CoordinateSystemsTest.java | 22 +- .../operation/builder/LinearizerTest.java | 3 +- .../projection/MercatorMethodComparison.java | 10 +- .../operation/transform/MathTransformTestCase.java | 2 +- .../sis/test/integration/ConsistencyTest.java | 12 +- .../org/apache/sis/storage/geotiff/DataCube.java | 6 +- .../org/apache/sis/storage/geotiff/DataSubset.java | 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 14 + .../sis/storage/geotiff/ImageFileDirectory.java | 2 +- .../sis/storage/geotiff/MultiResolutionImage.java | 2 +- .../sis/storage/geotiff/reader/CRSBuilder.java | 4 +- .../sis/storage/geotiff/writer/GeoEncoder.java | 158 +++++--- .../apache/sis/storage/netcdf/MetadataReader.java | 16 +- .../apache/sis/storage/netcdf/base/Dimension.java | 2 +- .../sis/storage/netcdf/base/RasterResource.java | 14 +- .../sis/storage/netcdf/MetadataReaderTest.java | 2 - .../main/org/apache/sis/storage/gpx/Metadata.java | 10 +- .../org/apache/sis/io/stream/ByteRangeChannel.java | 4 +- .../org/apache/sis/io/stream/ChannelDataInput.java | 135 ++++++- .../apache/sis/io/stream/FileCacheByteChannel.java | 2 +- .../apache/sis/io/stream/HyperRectangleWriter.java | 34 +- .../main/org/apache/sis/io/stream/Region.java | 2 +- .../apache/sis/storage/GridCoverageResource.java | 4 +- .../main/org/apache/sis/storage/URLDataSource.java | 25 +- .../sis/storage/aggregate/AggregatedResource.java | 182 ++++++++- .../aggregate/BandAggregateGridResource.java | 78 ++-- .../aggregate/ConcatenatedGridCoverage.java | 391 ++++++++---------- .../aggregate/ConcatenatedGridResource.java | 442 +++++++++++---------- .../sis/storage/aggregate/CoverageAggregator.java | 77 ++-- .../sis/storage/aggregate/DimensionSelector.java | 99 +++-- .../apache/sis/storage/aggregate/GridSlice.java | 233 +++++++---- .../sis/storage/aggregate/GridSliceLocator.java | 210 ++++------ .../org/apache/sis/storage/aggregate/Group.java | 79 +++- .../sis/storage/aggregate/GroupAggregate.java | 175 ++------ .../apache/sis/storage/aggregate/GroupByCRS.java | 50 +-- .../sis/storage/aggregate/GroupBySample.java | 57 ++- .../sis/storage/aggregate/GroupByTransform.java | 121 ++++-- .../sis/storage/aggregate/MergeStrategy.java | 222 ++++++++--- .../sis/storage/base/GridResourceWrapper.java | 1 + .../org/apache/sis/storage/base/LegalSymbols.java | 107 ++++- .../sis/storage/base/MemoryGridResource.java | 44 +- .../apache/sis/storage/base/MetadataBuilder.java | 8 +- .../apache/sis/storage/base/TiledGridCoverage.java | 201 +++++++--- .../apache/sis/storage/base/TiledGridResource.java | 16 +- .../org/apache/sis/storage/esri/WritableStore.java | 1 + .../apache/sis/storage/image/WritableStore.java | 8 +- .../org/apache/sis/storage/internal/Resources.java | 11 +- .../sis/storage/internal/Resources.properties | 5 +- .../sis/storage/internal/Resources_fr.properties | 5 +- .../apache/sis/io/stream/ChannelDataInputTest.java | 111 +++++- .../sis/io/stream/HyperRectangleWriterTest.java | 44 ++ .../aggregate/BandAggregateGridResourceTest.java | 4 +- .../storage/aggregate/CoverageAggregatorTest.java | 107 ++++- .../sis/storage/aggregate/CoverageMosaicTest.java | 379 ++++++++++++++++++ .../sis/storage/aggregate/OpaqueGridResource.java | 11 +- .../sis/storage/base/MetadataBuilderTest.java | 59 +-- .../main/org/apache/sis/io/TableAppender.java | 7 +- .../main/org/apache/sis/io/TabularFormat.java | 10 +- .../main/org/apache/sis/math/StatisticsFormat.java | 9 +- .../main/org/apache/sis/util/CharSequences.java | 16 +- .../sis/util/DefaultInternationalString.java | 39 +- .../sis/util/collection/DefaultTreeTable.java | 25 +- .../org/apache/sis/util/collection/TreeTable.java | 21 +- .../sis/util/collection/TreeTableFormat.java | 12 +- .../org/apache/sis/util/privy/AbstractMap.java | 8 +- .../main/org/apache/sis/util/privy/Strings.java | 61 ++- .../org/apache/sis/test/LogRecordCollector.java | 2 +- .../sis/util/DefaultInternationalStringTest.java | 8 +- .../sis/util/SimpleInternationalStringTest.java | 8 +- .../sis/util/collection/TreeTableFormatTest.java | 2 +- .../sis/storage/shapefile/shp/ShapeRecord.java | 6 +- netbeans-project/ivy.xml | 2 +- optional/src/org.apache.sis.gui/bundle/bin/sisfx | 12 + .../apache/sis/gui/coverage/CoverageCanvas.java | 4 +- .../apache/sis/gui/internal/io/FileAccessItem.java | 2 +- .../main/org/apache/sis/gui/map/MapCanvas.java | 2 +- .../main/org/apache/sis/gui/map/StatusBar.java | 6 +- .../main/org/apache/sis/storage/gdal/Band.java | 17 +- .../org/apache/sis/storage/gdal/TiledCoverage.java | 34 +- .../org/apache/sis/storage/gdal/TiledResource.java | 17 +- settings.gradle.kts | 2 +- 140 files changed, 4190 insertions(+), 2020 deletions(-) create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/privy/AssertionMessages.java rename endorsed/src/org.apache.sis.feature/main/org/apache/sis/{coverage/grid => image/privy}/ReshapedImage.java (87%) rename endorsed/src/org.apache.sis.feature/test/org/apache/sis/{coverage/grid => image/privy}/ReshapedImageTest.java (94%) create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/CoverageMosaicTest.java