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 c248954 Merge branch 'geoapi-4.0' into geoapi-3.1 add b1f006e Need to discard fully the old data when new data are loaded. add d067cce Subset of wrapper should continue to delegate to the wrapper. add 9824159 Handle reduced-resolution (overview) images as levels in a pyramid of images (Cloud Optimized GeoTIFF convention). add e96b37e `ComputedImage.prefetch(Rectangle)` method for notifying that many tiles will be fetched. It allows implementations to allocate and release resources once for the group of tiles, or to compute them in some specific order (e.g. sequential order during I/O operations). add 57da403 Support the reading of tiles at `RenderedImage.getTile(int, int)` invocation time. This is enabled when loading mode is `RasterLoadingStrategy.AT_GET_TILE_TIME`. add 570e087 Parameter values were not properly compared when the value is a `double[]` array. add 658a46a Partial workaround of unnamed netCDF dimensions considered equal. This workaround does not completely solve the problem because a fix relative to `ucar.nc2.dataset.CoordinateSystem` is also needed. add ddc02b2 Reverse the order of elements in `GridCoverageResource.getResolutions()`: from finest (smallest numbers) to coarsest (larger numbers). add 3c059ab Javadoc clarifications. add 39c8542 Change Interpolation interface to an abstract class. Needed for addition of package-private method in next commit. add 5c39a43 Fix a problem of incompatible (SampleModel, ColorModel) pair when `Visualization` determined that it can not apply interpolations. add fbff2d9 fix(JTS): check crs and geometry dimensions compatibility on affectation add 3963a3a Merge branch 'fix/jts3d' into geoapi-4.0 with modifications: for consistency with `Wrapper.getCoordinatesDimension(…)` expectation, replace all `new Coordinate(x,y)` by `new CoordinateXY(x,y)` in SIS code base. add 942e733 Require CRS dimension to be strictly equal to JTS geometry dimension. This is made possible by configuring `WKTReader` for constructing 2D geometries when there is no explicit Z or M. add a8edb40 Add an implementation of JTS `CoordinateSequenceFactory` interface which stores coordinate values in packed arrays (like what JTS `PackedCoordinateSequence` does) but without retaining a copy in a `SoftReference<Coordinate[]>` (because we want to save memory for bigger uses, such as rendered images). add 3be18dd Use custom `GeometryFactory` in the rest of SIS code. Fix a bug with negative `measures` when the coordinates array length is 0. add 8796eb1 Deprecate `LoggerFactory` for removal. https://issues.apache.org/jira/browse/SIS-531 add 743333d feat(JTS): add JTS.asShape functions to view a JTS Geometry as a Java2D Shape add d3b3ce3 feat(JTS): add fromAwt functions add 60fe007 Review and merge branch 'feat/toShape' into geoapi-4.0. Implementation of `JTS.fromAwt(…)` methods moved to a separated class `ShapeConverter`. Implementation of `AbstractJTSShape` and related classes where refactored. Tests added in `JTSTest` class have been moved to dedicated classes. add 00031c1 Post-merge refactoring: rename classes and move `DecimatedShape` to `j2d` package because it does not depend on JTS. add a1f8e94 Fix a mismatched dimension error when the JTS geometry to transform is associated to a three-dimensional CRS. add ccb51c0 More reliable detecting of Java2D geometries backed by single-precision floating point numbers. add 0fba975 Make Shape implementations serializable. add 8dbfe2e Initial support of PostGIS raster format. This is an adaptation of Johann's work. add ab02e95 Add `InfoStatements.findSRID(CoordinateReferenceSystem)` method and use it in `RasterWriter`. Initial draft of test cases for WKB raster in the context of PostGIS database. add 4f930df Refactor the parsing of hexadecimal strings for making possible to control the decoding algorithm according the database driver. The mechanism is applied on geometries and shared by rasters. Tests are consolidated in a "SpatialFeatures" database schema. add 4ce25c9 Complete the implementation of `GeometryGetter` with the use of `InfoStatements` for fetching the CRS from a SRID code. add 8ee6f79 Make the `Gridcoverage` available as a `Feature` property. With this commit, PostGIS rasters are now available through the Feature API. add 8e338b7 Resolve links during the optimization phase of a filter expression. It allows SQL statements where we previously missed opportunities. add f072a37 Add a test and comment explaining why resolving links is an important optimization. It makes the difference between using or not a database index. add a70874e Implement `FeatureSet.getEnvelope()` with an estimation computed from PostgreSQL statistics. This is derived from Alexis's work on the "fix/fast-envelope" branch. add 8820c6f Execute PostgreSQL `ANALYZE` at most once per table. Add documentation about the rational for not using `ST_Extent`. add dda6e20 Add tests on H2 database. This is derived from Alexis's work on "fix/fast-envelope" branch. add f80bece Fix a test failure caused by the upgrade of PostgreSQL JDBC driver version. The driver now reports ""public"."geometry"" (including inner quotes) as the object type instead of "geometry". add ed91d11 Upgrade UCAR netCDF dependency to latest version. That version was released for patching Log4J security issue. We think that Apache SIS was not impacted because it does not use Log4J at all and the UCAR netCDF library is an optional dependency. Even when the UCAR library is present, we use the bridge to standard `java.util.logging` framework. But we upgrade anyway as a safety. add d1b7ace Spelling fixes. new a63fa19 Merge branch 'geoapi-4.0' into 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: .../main/java/org/apache/sis/console/Command.java | 4 +- .../main/java/org/apache/sis/console/Option.java | 4 +- .../apache/sis/gui/coverage/CoverageCanvas.java | 4 +- .../org/apache/sis/gui/coverage/GridViewSkin.java | 2 +- .../src/main/java/org/apache/sis/cql/CQL.java | 2 +- .../test/java/org/apache/sis/cql/CQLTestCase.java | 2 +- .../org/apache/sis/coverage/grid/GridGeometry.java | 5 +- .../java/org/apache/sis/filter/PropertyValue.java | 65 ++- .../apache/sis/image/BandedSampleConverter.java | 20 +- .../java/org/apache/sis/image/ComputedImage.java | 22 + .../java/org/apache/sis/image/ImageAdapter.java | 21 +- .../java/org/apache/sis/image/Interpolation.java | 50 ++- .../org/apache/sis/image/LanczosInterpolation.java | 4 +- .../java/org/apache/sis/image/PlanarImage.java | 13 + .../java/org/apache/sis/image/PrefetchedImage.java | 22 +- .../java/org/apache/sis/image/ResampledImage.java | 40 +- .../org/apache/sis/image/SourceAlignedImage.java | 21 + .../java/org/apache/sis/image/Visualization.java | 22 +- .../sis/internal/coverage/SampleDimensions.java | 41 ++ .../internal/coverage/j2d/BatchComputedImage.java | 218 +++++++++ .../sis/internal/coverage/j2d/ImageUtilities.java | 73 +++- .../apache/sis/internal/feature/Geometries.java | 5 +- .../feature/j2d/DecimatedPathIterator.java | 166 +++++++ .../sis/internal/feature/j2d/DecimatedShape.java | 85 ++++ .../sis/internal/feature/j2d/EmptyShape.java | 25 +- .../apache/sis/internal/feature/j2d/Factory.java | 5 +- .../sis/internal/feature/j2d/ShapeProperties.java | 4 +- .../sis/internal/feature/j2d/ShapeWrapper.java | 189 ++++++++ .../apache/sis/internal/feature/j2d/Wrapper.java | 5 +- .../sis/internal/feature/j2d/package-info.java | 2 +- .../apache/sis/internal/feature/jts/Factory.java | 221 ++++++++-- .../feature/jts/GeometryCoordinateTransform.java | 4 +- .../org/apache/sis/internal/feature/jts/JTS.java | 40 +- .../feature/jts/PackedCoordinateSequence.java | 485 +++++++++++++++++++++ .../jts/PackedCoordinateSequenceFactory.java | 146 +++++++ .../internal/feature/jts/PathIteratorAdapter.java | 269 ++++++++++++ .../sis/internal/feature/jts/ShapeAdapter.java | 209 +++++++++ .../sis/internal/feature/jts/ShapeConverter.java | 327 ++++++++++++++ .../apache/sis/internal/feature/jts/Wrapper.java | 61 ++- .../sis/internal/feature/jts/package-info.java | 2 +- .../sis/internal/feature/jts/FactoryTest.java | 32 +- .../apache/sis/internal/feature/jts/JTSTest.java | 129 +++++- .../sis/internal/feature/jts/ShapeAdapterTest.java | 221 ++++++++++ .../internal/feature/jts/ShapeConverterTest.java | 200 +++++++++ .../internal/filter/sqlmm/RegistryTestCase.java | 4 +- .../apache/sis/test/suite/FeatureTestSuite.java | 2 + core/sis-metadata/pom.xml | 5 + .../org/apache/sis/metadata/PropertyAccessor.java | 4 +- .../apache/sis/metadata/iso/DefaultMetadata.java | 2 +- .../metadata/iso/citation/DefaultTelephone.java | 2 +- .../main/java/org/apache/sis/xml/Transformer.java | 2 +- .../java/org/apache/sis/test/sql/TestDatabase.java | 38 +- .../java/org/apache/sis/test/sql/package-info.java | 2 +- .../apache/sis/test/xml/DocumentComparator.java | 4 +- .../test/java/org/apache/sis/xml/XLinkTest.java | 4 +- .../coverage/MultiResolutionCoverageLoader.java | 10 +- .../sis/internal/map/coverage/RenderingData.java | 6 +- .../apache/sis/internal/map/SEPortrayerTest.java | 16 +- .../MultiResolutionCoverageLoaderTest.java | 6 +- core/sis-referencing/pom.xml | 5 + .../org/apache/sis/geometry/GeneralEnvelope.java | 2 +- .../internal/referencing/j2d/AbstractShape.java | 82 ++++ .../internal/referencing/j2d/ShapeUtilities.java | 16 +- .../sis/internal/referencing/j2d/package-info.java | 2 +- .../referencing/provider/MillerCylindrical.java | 2 +- .../sis/parameter/DefaultParameterDescriptor.java | 2 +- .../sis/parameter/DefaultParameterValue.java | 4 +- .../org/apache/sis/parameter/TensorParameters.java | 2 +- .../operation/CoordinateOperationRegistry.java | 2 +- .../operation/DefaultConcatenatedOperation.java | 4 +- .../DefaultCoordinateOperationFactory.java | 2 +- .../sis/referencing/operation/matrix/Matrices.java | 4 +- .../referencing/operation/matrix/MatrixSIS.java | 2 +- .../operation/matrix/NonSquareMatrix.java | 2 +- .../transform/CoordinateSystemTransform.java | 4 +- .../operation/transform/PassThroughTransform.java | 4 +- .../referencing/j2d/AbstractShapeTest.java} | 26 +- .../referencing/j2d/ShapeUtilitiesTest.java | 13 +- .../parameter/DefaultParameterValueGroupTest.java | 2 +- .../referencing/factory/sql/EPSGInstallerTest.java | 19 +- .../sis/test/suite/ReferencingTestSuite.java | 3 +- .../org/apache/sis/internal/jdk9/HexFormat.java | 76 ++++ .../org/apache/sis/internal/jdk9/package-info.java | 2 +- .../apache/sis/internal/system/DataDirectory.java | 2 +- .../sis/internal/system/DefaultFactories.java | 2 +- .../java/org/apache/sis/math/DecimalFunctions.java | 2 +- .../src/main/java/org/apache/sis/util/Classes.java | 2 +- .../org/apache/sis/util/logging/DualLogger.java | 4 + .../apache/sis/util/logging/DualLoggerFactory.java | 4 + .../org/apache/sis/util/logging/LoggerAdapter.java | 4 + .../org/apache/sis/util/logging/LoggerFactory.java | 4 + .../java/org/apache/sis/util/logging/Logging.java | 4 + .../org/apache/sis/util/collection/CacheTest.java | 2 +- .../apache/sis/util/collection/RangeSetTest.java | 2 +- ide-project/NetBeans/build.xml | 1 + ide-project/NetBeans/nbproject/project.properties | 8 +- pom.xml | 12 +- .../sis/internal/geotiff/SchemaModifier.java | 20 +- .../org/apache/sis/storage/geotiff/DataCube.java | 5 +- .../org/apache/sis/storage/geotiff/DataSubset.java | 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 13 +- .../sis/storage/geotiff/GridGeometryBuilder.java | 42 +- .../sis/storage/geotiff/ImageFileDirectory.java | 173 ++++++-- .../sis/storage/geotiff/MultiResolutionImage.java | 189 ++++++++ .../org/apache/sis/storage/geotiff/Reader.java | 195 ++++++--- .../org/apache/sis/internal/netcdf/Convention.java | 2 +- .../org/apache/sis/internal/netcdf/Dimension.java | 3 +- .../apache/sis/internal/netcdf/NamedElement.java | 3 +- .../sis/internal/netcdf/ucar/DecoderWrapper.java | 4 +- .../sis/internal/netcdf/ucar/DimensionWrapper.java | 53 ++- .../sis/internal/netcdf/ucar/package-info.java | 2 +- storage/sis-sqlstore/pom.xml | 10 + .../apache/sis/internal/sql/feature/Analyzer.java | 8 +- .../sis/internal/sql/feature/BinaryEncoding.java | 138 ++++++ .../apache/sis/internal/sql/feature/Column.java | 75 +++- .../apache/sis/internal/sql/feature/Database.java | 187 ++++++-- .../sis/internal/sql/feature/EWKBReader.java | 207 --------- .../sis/internal/sql/feature/FeatureAdapter.java | 5 +- .../sis/internal/sql/feature/FeatureAnalyzer.java | 19 +- .../sis/internal/sql/feature/FeatureIterator.java | 26 +- .../sis/internal/sql/feature/FeatureStream.java | 21 +- .../sis/internal/sql/feature/GeometryGetter.java | 126 ++++++ .../sis/internal/sql/feature/InfoStatements.java | 266 ++++++++--- .../sis/internal/sql/feature/QueryAnalyzer.java | 5 +- .../apache/sis/internal/sql/feature/Resources.java | 5 + .../sis/internal/sql/feature/Resources.properties | 1 + .../internal/sql/feature/Resources_fr.properties | 1 + .../org/apache/sis/internal/sql/feature/Table.java | 51 +++ .../sis/internal/sql/feature/TableAnalyzer.java | 7 +- .../sis/internal/sql/feature/TableReference.java | 4 +- .../sis/internal/sql/feature/ValueGetter.java | 82 ++-- .../org/apache/sis/internal/sql/postgis/Band.java | 341 +++++++++++++++ .../sis/internal/sql/postgis/ExtendedInfo.java | 36 +- .../sis/internal/sql/postgis/ExtentEstimator.java | 154 +++++++ .../apache/sis/internal/sql/postgis/Postgres.java | 56 ++- .../sis/internal/sql/postgis/RasterFormat.java | 69 +++ .../sis/internal/sql/postgis/RasterGetter.java | 90 ++++ .../sis/internal/sql/postgis/RasterReader.java | 410 +++++++++++++++++ .../sis/internal/sql/postgis/RasterWriter.java | 313 +++++++++++++ .../sis/internal/sql/postgis/package-info.java | 6 +- .../java/org/apache/sis/storage/sql/SQLStore.java | 3 + .../apache/sis/internal/sql/feature/EWKBTest.java | 125 ------ .../internal/sql/feature/GeometryGetterTest.java | 170 ++++++++ .../sis/internal/sql/feature/ResultSetMock.java | 68 +++ .../apache/sis/internal/sql/postgis/BandTest.java | 65 +++ .../sis/internal/sql/postgis/PostgresTest.java | 160 ++++++- .../sis/internal/sql/postgis/RasterReaderTest.java | 80 ++++ .../sis/internal/sql/postgis/RasterWriterTest.java | 66 +++ .../sis/internal/sql/postgis/TestRaster.java | 151 +++++++ .../org/apache/sis/storage/sql/SQLStoreTest.java | 46 +- .../org/apache/sis/test/suite/SQLTestSuite.java | 5 +- .../sis/internal/sql/feature/hexa_ewkb_4326.csv | 21 - .../sis/internal/sql/feature/hexa_ewkb_4326.sql | 43 -- .../sis/internal/sql/postgis/SpatialFeatures.sql | 70 +++ .../sis/internal/sql/postgis/raster-ushort.wkb | Bin 0 -> 115 bytes .../sis/internal/storage/GridResourceWrapper.java | 15 +- .../sis/internal/storage/TiledDeferredImage.java | 110 +++++ .../sis/internal/storage/TiledGridCoverage.java | 66 ++- .../sis/internal/storage/TiledGridResource.java | 23 +- .../internal/storage/xml/GeographicEnvelope.java | 2 +- .../main/java/org/apache/sis/storage/DataSet.java | 7 +- .../apache/sis/storage/GridCoverageResource.java | 2 +- .../sis/internal/storage/MetadataBuilderTest.java | 2 +- 163 files changed, 7583 insertions(+), 1071 deletions(-) create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/BatchComputedImage.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/DecimatedPathIterator.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/DecimatedShape.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/ShapeWrapper.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/PackedCoordinateSequence.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/PackedCoordinateSequenceFactory.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/PathIteratorAdapter.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/ShapeAdapter.java create mode 100644 core/sis-feature/src/main/java/org/apache/sis/internal/feature/jts/ShapeConverter.java create mode 100644 core/sis-feature/src/test/java/org/apache/sis/internal/feature/jts/ShapeAdapterTest.java create mode 100644 core/sis-feature/src/test/java/org/apache/sis/internal/feature/jts/ShapeConverterTest.java create mode 100644 core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/AbstractShape.java copy core/sis-referencing/src/test/java/org/apache/sis/{referencing/operation/DefaultFormulaTest.java => internal/referencing/j2d/AbstractShapeTest.java} (60%) create mode 100644 core/sis-utility/src/main/java/org/apache/sis/internal/jdk9/HexFormat.java create mode 100644 storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/BinaryEncoding.java delete mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/EWKBReader.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/GeometryGetter.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/postgis/Band.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/postgis/ExtentEstimator.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/postgis/RasterFormat.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/postgis/RasterGetter.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/postgis/RasterReader.java create mode 100644 storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/postgis/RasterWriter.java delete mode 100644 storage/sis-sqlstore/src/test/java/org/apache/sis/internal/sql/feature/EWKBTest.java create mode 100644 storage/sis-sqlstore/src/test/java/org/apache/sis/internal/sql/feature/GeometryGetterTest.java create mode 100644 storage/sis-sqlstore/src/test/java/org/apache/sis/internal/sql/feature/ResultSetMock.java create mode 100644 storage/sis-sqlstore/src/test/java/org/apache/sis/internal/sql/postgis/BandTest.java create mode 100644 storage/sis-sqlstore/src/test/java/org/apache/sis/internal/sql/postgis/RasterReaderTest.java create mode 100644 storage/sis-sqlstore/src/test/java/org/apache/sis/internal/sql/postgis/RasterWriterTest.java create mode 100644 storage/sis-sqlstore/src/test/java/org/apache/sis/internal/sql/postgis/TestRaster.java delete mode 100644 storage/sis-sqlstore/src/test/resources/org/apache/sis/internal/sql/feature/hexa_ewkb_4326.csv delete mode 100644 storage/sis-sqlstore/src/test/resources/org/apache/sis/internal/sql/feature/hexa_ewkb_4326.sql create mode 100644 storage/sis-sqlstore/src/test/resources/org/apache/sis/internal/sql/postgis/SpatialFeatures.sql create mode 100644 storage/sis-sqlstore/src/test/resources/org/apache/sis/internal/sql/postgis/raster-ushort.wkb create mode 100644 storage/sis-storage/src/main/java/org/apache/sis/internal/storage/TiledDeferredImage.java