You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/04/16 17:14:12 UTC
[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1. The main work since previous merge is the integration of the "feat/resource-processor" branch. It brings "band aggregation" operations on images, grid coverages and grid resources.
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 33688738c620102d6ce5fdb5a36e3d0d91f95261
Merge: 1437fa191c 175b9f0ced
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Sun Apr 16 19:12:56 2023 +0200
Merge branch 'geoapi-4.0' into geoapi-3.1.
The main work since previous merge is the integration of the "feat/resource-processor" branch.
It brings "band aggregation" operations on images, grid coverages and grid resources.
.../apache/sis/gui/coverage/CoverageCanvas.java | 59 +-
.../apache/sis/gui/coverage/CoverageControls.java | 5 +-
.../apache/sis/gui/coverage/CoverageStyling.java | 120 ++-
.../org/apache/sis/gui/map/ValuesFormatter.java | 7 +-
.../apache/sis/internal/gui/ImageConverter.java | 13 +-
.../apache/sis/internal/gui/control/ColorCell.java | 33 +-
.../internal/gui/control/ColorColumnHandler.java | 31 +-
.../apache/sis/internal/gui/control/ColorRamp.java | 51 +-
.../sis/internal/gui/control/ValueColorMapper.java | 12 -
.../sis/internal/gui/control/package-info.java | 2 +-
.../sis/gui/coverage/CoverageStylingApp.java | 5 +-
.../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 +-
.../org/apache/sis/coverage/BandedCoverage.java | 9 +-
.../java/org/apache/sis/coverage/Category.java | 4 +-
.../org/apache/sis/coverage/SampleDimension.java | 109 ++-
.../coverage/grid/BandAggregateGridCoverage.java | 323 +++++++
.../sis/coverage/grid/BufferedGridCoverage.java | 22 +-
.../sis/coverage/grid/ConvertedGridCoverage.java | 2 +-
.../coverage/grid/CoordinateOperationFinder.java | 5 +-
.../apache/sis/coverage/grid/DefaultEvaluator.java | 12 +-
.../sis/coverage/grid/DerivedGridCoverage.java | 27 +-
.../apache/sis/coverage/grid/DimensionReducer.java | 5 +-
.../sis/coverage/grid/DimensionalityReduction.java | 989 +++++++++++++++++++++
.../sis/coverage/grid/DisjointExtentException.java | 9 +-
.../coverage/grid/FractionalGridCoordinates.java | 6 +-
.../org/apache/sis/coverage/grid/GridCoverage.java | 84 +-
.../apache/sis/coverage/grid/GridCoverage2D.java | 2 +
.../sis/coverage/grid/GridCoverageBuilder.java | 26 +-
.../sis/coverage/grid/GridCoverageProcessor.java | 451 +++++++++-
.../org/apache/sis/coverage/grid/GridExtent.java | 261 +++---
.../org/apache/sis/coverage/grid/GridGeometry.java | 10 +-
.../apache/sis/coverage/grid/GridOrientation.java | 2 +-
.../apache/sis/coverage/grid/ImageRenderer.java | 103 ++-
.../sis/coverage/grid/ReducedGridCoverage.java | 160 ++++
.../sis/coverage/grid/ResampledGridCoverage.java | 3 +-
.../apache/sis/coverage/grid/SliceGeometry.java | 25 +-
.../java/org/apache/sis/filter/LogicalFilter.java | 5 +-
.../java/org/apache/sis/image/AnnotatedImage.java | 12 +-
.../org/apache/sis/image/BandAggregateImage.java | 338 +++++++
.../java/org/apache/sis/image/BandSelectImage.java | 152 +++-
.../org/apache/sis/image/BandSharedRaster.java | 181 ++++
.../java/org/apache/sis/image/BandSharing.java | 377 ++++++++
.../apache/sis/image/BandedSampleConverter.java | 180 ++--
.../main/java/org/apache/sis/image/Colorizer.java | 348 ++++++++
.../java/org/apache/sis/image/ComputedImage.java | 88 +-
.../java/org/apache/sis/image/ImageAdapter.java | 6 +-
.../java/org/apache/sis/image/ImageProcessor.java | 408 ++++++++-
.../java/org/apache/sis/image/Interpolation.java | 6 +-
.../main/java/org/apache/sis/image/MaskImage.java | 2 +-
.../org/apache/sis/image/MultiSourceImage.java | 148 +++
.../org/apache/sis/image/MultiSourceLayout.java | 414 +++++++++
.../org/apache/sis/image/MultiSourcePrefetch.java | 178 ++++
.../java/org/apache/sis/image/PlanarImage.java | 95 +-
.../java/org/apache/sis/image/RecoloredImage.java | 47 +-
.../java/org/apache/sis/image/ResampledImage.java | 10 +-
.../org/apache/sis/image/SourceAlignedImage.java | 8 +-
.../main/java/org/apache/sis/image/Transferer.java | 55 +-
.../java/org/apache/sis/image/UserProperties.java | 124 +++
.../java/org/apache/sis/image/Visualization.java | 244 +++--
.../apache/sis/image/WritableComputedImage.java | 177 ++++
.../java/org/apache/sis/index/tree/PointTree.java | 2 +-
.../sis/internal/coverage/CommonDomainFinder.java | 376 ++++++++
.../sis/internal/coverage/MultiSourceArgument.java | 623 +++++++++++++
.../sis/internal/coverage}/RangeArgument.java | 46 +-
.../sis/internal/coverage/SampleDimensions.java | 56 +-
.../j2d/{Colorizer.java => ColorModelBuilder.java} | 256 ++++--
.../internal/coverage/j2d/ColorModelFactory.java | 336 ++++---
.../sis/internal/coverage/j2d/ColorModelType.java | 2 +-
.../sis/internal/coverage/j2d/ColorsForRange.java | 166 +++-
.../sis/internal/coverage/j2d/ImageLayout.java | 34 +-
.../sis/internal/coverage/j2d/ImageUtilities.java | 78 +-
.../coverage/j2d/MultiBandsIndexColorModel.java | 23 +-
.../sis/internal/coverage/j2d/ObservableImage.java | 289 ++++++
.../sis/internal/coverage/j2d/RasterFactory.java | 34 +-
.../internal/coverage/j2d/SampleModelFactory.java | 2 +-
.../internal/coverage/j2d/ScaledColorModel.java | 15 +-
.../internal/coverage/j2d/ScaledColorSpace.java | 31 +-
.../internal/coverage/j2d/WritableTiledImage.java | 8 +-
.../sis/internal/coverage/j2d/WriteSupport.java | 100 ---
.../apache/sis/internal/coverage/package-info.java | 2 +-
.../org/apache/sis/internal/feature/Resources.java | 40 +
.../sis/internal/feature/Resources.properties | 8 +
.../sis/internal/feature/Resources_fr.properties | 8 +
.../apache/sis/internal/filter/CopyVisitor.java | 712 +++++++++++++++
.../apache/sis/internal/filter/EditVisitor.java | 56 ++
.../apache/sis/internal/filter/package-info.java | 2 +-
.../sis/internal/filter/sqlmm/SpatialFunction.java | 23 +-
.../grid/BandAggregateGridCoverageTest.java | 183 ++++
.../coverage/grid/ConvertedGridCoverageTest.java | 24 +-
.../coverage/grid/DimensionalityReductionTest.java | 194 ++++
.../apache/sis/coverage/grid/GridGeometryTest.java | 40 +-
.../apache/sis/image/BandAggregateImageTest.java | 536 +++++++++++
.../org/apache/sis/image/BandSelectImageTest.java | 79 +-
.../org/apache/sis/image/ImageProcessorTest.java | 62 +-
.../apache/sis/image/StatisticsCalculatorTest.java | 2 +-
.../java/org/apache/sis/image/TiledImageMock.java | 66 +-
.../sis/internal/coverage}/RangeArgumentTest.java | 18 +-
...lorizerTest.java => ColorModelBuilderTest.java} | 20 +-
.../sis/internal/filter/CopyVisitorTest.java | 77 ++
.../sis/internal/filter/FilterFactoryMock.java | 562 ++++++++++++
.../apache/sis/internal/filter/FunctionMock.java | 91 ++
.../sis/internal/filter/ValueReferenceMock.java | 82 ++
.../apache/sis/test/suite/FeatureTestSuite.java | 9 +-
.../apache/sis/internal/metadata/sql/Dialect.java | 31 +-
.../org/apache/sis/util/iso/DefaultScopedName.java | 2 +-
.../java/org/apache/sis/test/sql/TestDatabase.java | 24 +-
.../sis/internal/map/coverage/RenderingData.java | 26 +-
.../java/org/apache/sis/geometry/Envelopes.java | 2 +-
.../referencing/provider/DatumShiftGridLoader.java | 4 +-
.../apache/sis/parameter/ParameterValueList.java | 2 +-
.../main/java/org/apache/sis/referencing/CRS.java | 40 +-
.../referencing/factory/sql/AuthorityCodes.java | 2 +-
.../operation/DefaultPassThroughOperation.java | 141 +--
.../operation/builder/LinearTransformBuilder.java | 2 +-
.../referencing/operation/projection/Mercator.java | 4 +-
.../operation/transform/MathTransforms.java | 37 +
.../operation/transform/PassThroughTransform.java | 127 ++-
.../operation/transform/TransformSeparator.java | 55 +-
.../operation/transform/MathTransformTestCase.java | 4 +-
.../transform/PassThroughTransformTest.java | 65 +-
.../apache/sis/internal/system/Configuration.java | 2 +-
.../org/apache/sis/internal/util/Numerics.java | 13 +
.../java/org/apache/sis/measure/NumberRange.java | 7 +-
.../main/java/org/apache/sis/measure/Range.java | 23 +-
.../java/org/apache/sis/measure/SystemUnit.java | 2 +-
.../java/org/apache/sis/util/ArgumentChecks.java | 112 ++-
.../main/java/org/apache/sis/util/ArraysExt.java | 140 +--
.../src/main/java/org/apache/sis/util/Version.java | 2 +-
.../sis/util/collection/WeakValueHashMap.java | 89 +-
.../java/org/apache/sis/util/package-info.java | 2 +-
.../org/apache/sis/util/resources/Vocabulary.java | 5 +
.../sis/util/resources/Vocabulary.properties | 1 +
.../sis/util/resources/Vocabulary_fr.properties | 1 +
.../java/org/apache/sis/measure/RangeTest.java | 17 +-
.../org/apache/sis/measure/UnitFormatTest.java | 2 +-
.../java/org/apache/sis/measure/UnitsTest.java | 2 +-
.../org/apache/sis/util/ArgumentChecksTest.java | 6 +-
.../java/org/apache/sis/util/ArraysExtTest.java | 32 +-
.../apache/sis/storage/geotiff/GeoCodesTest.java | 1 -
.../org/apache/sis/internal/netcdf/Convention.java | 3 +-
.../org/apache/sis/internal/netcdf/Raster.java | 11 +-
.../apache/sis/internal/netcdf/RasterResource.java | 6 +-
.../apache/sis/internal/sql/feature/Database.java | 31 +-
.../sis/internal/sql/feature/ValueGetter.java | 139 ++-
.../sis/internal/sql/feature/package-info.java | 2 +-
.../apache/sis/internal/sql/postgis/Postgres.java | 9 +-
.../sis/internal/sql/postgis/RasterReader.java | 3 +-
.../sis/internal/sql/postgis/package-info.java | 2 +-
.../sql/feature/TemporalValueGetterTest.java | 238 +++++
.../org/apache/sis/storage/sql/SQLStoreTest.java | 104 +--
.../apache/sis/storage/sql/TestOnAllDatabases.java | 99 +++
.../org/apache/sis/test/suite/SQLTestSuite.java | 1 +
.../sis/internal/storage/GridResourceWrapper.java | 4 +
.../sis/internal/storage/MemoryFeatureSet.java | 10 +-
.../sis/internal/storage/MemoryGridResource.java | 44 +-
.../org/apache/sis/internal/storage/Resources.java | 14 +-
.../sis/internal/storage/Resources.properties | 2 -
.../sis/internal/storage/Resources_fr.properties | 2 -
.../sis/internal/storage/TiledGridCoverage.java | 2 +-
.../sis/internal/storage/TiledGridResource.java | 4 +-
.../sis/internal/storage/esri/AsciiGridStore.java | 2 +-
.../sis/internal/storage/esri/RasterStore.java | 18 +-
.../sis/internal/storage/esri/RawRasterReader.java | 6 +-
.../sis/internal/storage/esri/RawRasterStore.java | 2 +-
.../apache/sis/internal/storage/folder/Store.java | 2 +-
.../internal/storage/image/WorldFileResource.java | 2 +-
.../sis/internal/storage/io/IOUtilities.java | 6 +-
.../org/apache/sis/storage/AbstractFeatureSet.java | 14 +-
.../sis/storage/AbstractGridCoverageResource.java | 14 +-
.../org/apache/sis/storage/AbstractResource.java | 20 +-
.../java/org/apache/sis/storage/CoverageQuery.java | 123 ++-
.../org/apache/sis/storage/CoverageSubset.java | 186 ++--
.../java/org/apache/sis/storage/FeatureSubset.java | 4 +-
.../apache/sis/storage/GridCoverageResource.java | 6 +-
.../org/apache/sis/storage/StorageConnector.java | 44 +-
.../storage/aggregate/AggregatedFeatureSet.java | 13 +-
.../sis/storage/aggregate/AggregatedResource.java | 22 +-
.../aggregate/BandAggregateGridResource.java | 450 ++++++++++
.../storage/aggregate/ConcatenatedFeatureSet.java | 8 +-
.../aggregate/ConcatenatedGridCoverage.java | 2 +-
.../aggregate/ConcatenatedGridResource.java | 99 ++-
.../sis/storage/aggregate/CoverageAggregator.java | 252 +++++-
.../apache/sis/storage/aggregate/GridSlice.java | 79 +-
.../sis/storage/aggregate/GridSliceLocator.java | 3 +-
.../org/apache/sis/storage/aggregate/Group.java | 4 +-
.../sis/storage/aggregate/GroupAggregate.java | 33 +-
.../apache/sis/storage/aggregate/GroupByCRS.java | 4 +-
.../sis/storage/aggregate/GroupBySample.java | 8 +-
.../sis/storage/aggregate/GroupByTransform.java | 8 +-
.../sis/storage/aggregate/JoinFeatureSet.java | 10 +-
.../sis/storage/aggregate/MergeStrategy.java | 7 +-
.../internal/storage/MemoryGridResourceTest.java | 2 -
.../org/apache/sis/storage/CoverageSubsetTest.java | 130 +++
.../aggregate/BandAggregateGridResourceTest.java | 228 +++++
.../storage/aggregate/CoverageAggregatorTest.java | 6 +-
...AggregatorTest.java => OpaqueGridResource.java} | 35 +-
.../apache/sis/test/suite/StorageTestSuite.java | 3 +-
197 files changed, 13406 insertions(+), 2171 deletions(-)
diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
index 38890ea54a,fd62fcd1b8..b346aadd96
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
@@@ -76,8 -71,18 +74,18 @@@ public class DefaultPassThroughOperatio
* @see #getOperation()
*/
@SuppressWarnings("serial") // Most SIS implementations are serializable.
- private CoordinateOperation operation;
+ private SingleOperation operation;
+ /**
+ * Zero-based indices of the modified source coordinates.
+ *
+ * <p><b>Consider this field as final!</b>
+ * This field is modified only at unmarshalling time by {@link #setIndices(int[])}</p>
+ *
+ * @see #getModifiedCoordinates()
+ */
+ private int[] modifiedCoordinates;
+
/**
* Constructs a pass-through operation from a set of properties.
* The properties given in argument follow the same rules than for the
@@@ -114,13 -119,30 +122,30 @@@
public DefaultPassThroughOperation(final Map<String,?> properties,
final CoordinateReferenceSystem sourceCRS,
final CoordinateReferenceSystem targetCRS,
- final CoordinateOperation operation,
+ final SingleOperation operation,
final int firstAffectedCoordinate,
final int numTrailingCoordinates)
+ {
+ this(properties, sourceCRS, targetCRS, operation, operation.getMathTransform(), firstAffectedCoordinate, numTrailingCoordinates);
+ }
+
+ /**
+ * Work around for RFE #4093999 in Sun's bug database
+ * ("Relax constraint on placement of this()/super() call in constructors").
+ */
+ private DefaultPassThroughOperation(final Map<String,?> properties,
+ final CoordinateReferenceSystem sourceCRS,
+ final CoordinateReferenceSystem targetCRS,
- final CoordinateOperation operation,
++ final SingleOperation operation,
+ final MathTransform subTransform,
+ final int firstAffectedCoordinate,
+ final int numTrailingCoordinates)
{
super(properties, sourceCRS, targetCRS, null,
- MathTransforms.passThrough(firstAffectedCoordinate, operation.getMathTransform(), numTrailingCoordinates));
+ MathTransforms.passThrough(firstAffectedCoordinate, subTransform, numTrailingCoordinates));
this.operation = operation;
+ modifiedCoordinates = ArraysExt.range(firstAffectedCoordinate,
+ firstAffectedCoordinate + subTransform.getSourceDimensions());
}
/**