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/01/11 11:19:27 UTC

[sis] 01/01: Merge branch 'geoapi-3.1'.

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

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

commit 835b893740268e17d7e1d89de2e0cda84aabab7c
Merge: 459597c6a6 f76afb0622
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Wed Jan 11 12:19:15 2023 +0100

    Merge branch 'geoapi-3.1'.

 .../org/apache/sis/coverage/grid/GridExtent.java   |  27 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |  17 +-
 .../sis/coverage/grid/ResampledGridCoverage.java   |  25 +-
 .../org/apache/sis/filter/ArithmeticFunction.java  |   6 +-
 .../sis/internal/coverage/CoverageCombiner.java    |   4 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |  34 +-
 .../main/java/org/apache/sis/portrayal/Canvas.java |  18 +-
 .../org/apache/sis/portrayal/package-info.java     |   2 +-
 .../sis/internal/referencing/Arithmetic.java       | 291 ++++++
 .../referencing/ExtendedPrecisionMatrix.java       |  92 +-
 .../sis/internal/referencing/j2d/AffineMatrix.java | 224 ++---
 .../referencing/j2d/AffineTransform2D.java         |  59 +-
 .../referencing/provider/Equirectangular.java      |   8 +-
 .../sis/referencing/crs/DefaultTemporalCRS.java    |   2 +-
 .../sis/referencing/cs/CoordinateSystems.java      |  15 +-
 .../apache/sis/referencing/cs/package-info.java    |   2 +-
 .../sis/referencing/datum/BursaWolfParameters.java |  82 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |   6 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    |  41 +-
 .../sis/referencing/datum/TimeDependentBWP.java    |  34 +-
 .../apache/sis/referencing/datum/package-info.java |   2 +-
 .../operation/CoordinateOperationFinder.java       |  11 +-
 .../operation/builder/LinearTransformBuilder.java  |   2 +-
 .../operation/matrix/GeneralMatrix.java            | 490 +++--------
 .../sis/referencing/operation/matrix/Matrices.java | 199 +++--
 .../sis/referencing/operation/matrix/Matrix1.java  |  15 +-
 .../sis/referencing/operation/matrix/Matrix2.java  |  19 +-
 .../sis/referencing/operation/matrix/Matrix3.java  |  21 +-
 .../sis/referencing/operation/matrix/Matrix4.java  |  23 +-
 .../referencing/operation/matrix/MatrixSIS.java    | 293 +++---
 .../operation/matrix/NonSquareMatrix.java          |  83 +-
 .../sis/referencing/operation/matrix/Solver.java   | 176 ++--
 .../operation/matrix/UnmodifiableMatrix.java       |  36 +-
 .../referencing/operation/matrix/package-info.java |  14 +-
 .../operation/projection/AlbersEqualArea.java      |  32 +-
 .../operation/projection/CylindricalEqualArea.java |  35 +-
 .../operation/projection/Initializer.java          | 197 ++---
 .../projection/LambertConicConformal.java          |  38 +-
 .../operation/projection/LongitudeWraparound.java  |   6 +-
 .../referencing/operation/projection/Mercator.java |  15 +-
 .../operation/projection/MeridianArcBased.java     |   9 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |  10 +-
 .../operation/projection/ObliqueStereographic.java |   4 +-
 .../operation/projection/Orthographic.java         |   6 +-
 .../operation/projection/PolarStereographic.java   |  20 +-
 .../operation/projection/TransverseMercator.java   |  26 +-
 .../transform/AbstractLinearTransform.java         |  17 +
 .../operation/transform/CartesianToPolar.java      |   4 +-
 .../operation/transform/ConstantTransform1D.java   |  11 +-
 .../operation/transform/ContextualParameters.java  |  16 +-
 .../transform/EllipsoidToCentricTransform.java     |   7 +-
 .../transform/ExponentialTransform1D.java          |   4 +-
 .../operation/transform/IdentityTransform1D.java   |   2 +-
 .../operation/transform/LinearTransform1D.java     | 139 ++-
 .../operation/transform/MathTransforms.java        |  16 +-
 .../operation/transform/PolarToCartesian.java      |   4 +-
 .../operation/transform/ProjectiveTransform.java   |  79 +-
 .../operation/transform/ScaleTransform.java        | 118 ++-
 .../operation/transform/TransferFunction.java      |   2 +-
 .../operation/transform/TranslationTransform.java  | 114 +--
 .../referencing/datum/DefaultEllipsoidTest.java    |  22 +-
 .../operation/matrix/GeneralMatrixTest.java        |  91 +-
 .../referencing/operation/matrix/MatricesTest.java |  44 +-
 .../referencing/operation/matrix/Matrix1Test.java  |   8 +-
 .../referencing/operation/matrix/Matrix2Test.java  |  28 +-
 .../referencing/operation/matrix/Matrix3Test.java  |  20 +-
 .../referencing/operation/matrix/Matrix4Test.java  |  28 +-
 .../operation/matrix/MatrixTestCase.java           |  61 +-
 .../operation/matrix/NonSquareMatrixTest.java      |  14 +-
 .../referencing/operation/matrix/SolverTest.java   |  12 +-
 .../projection/ConformalProjectionTest.java        |   5 +-
 .../operation/projection/InitializerTest.java      |   4 +-
 .../projection/LambertConicConformalTest.java      |   8 +-
 .../operation/transform/MathTransformTestCase.java |   2 +
 .../transform/ProjectiveTransformTest.java         |  85 +-
 .../operation/transform/ScaleTransformTest.java    |  35 +-
 .../transform/TransformResultComparator.java       |  46 +-
 .../transform/TranslationTransformTest.java        |  65 +-
 .../org/apache/sis/internal/util/DoubleDouble.java | 977 ++++++++-------------
 .../org/apache/sis/internal/util/Numerics.java     |  29 +-
 .../main/java/org/apache/sis/math/Fraction.java    |  97 +-
 .../src/main/java/org/apache/sis/math/Line.java    |  66 +-
 .../java/org/apache/sis/math/MathFunctions.java    |  17 +-
 .../src/main/java/org/apache/sis/math/Plane.java   |  95 +-
 .../main/java/org/apache/sis/math/Statistics.java  |  16 +-
 .../org/apache/sis/measure/LinearConverter.java    |   7 +-
 .../src/main/java/org/apache/sis/util/Numbers.java |  90 +-
 .../apache/sis/internal/util/DoubleDoubleTest.java | 143 +--
 .../test/java/org/apache/sis/util/NumbersTest.java |  16 +-
 .../sis/storage/geotiff/GridGeometryBuilder.java   |  11 +-
 .../apache/sis/storage/aggregate/GridSlice.java    |   5 +-
 91 files changed, 2579 insertions(+), 2872 deletions(-)

diff --cc core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/LambertConicConformalTest.java
index b692025065,ebaccd232b..f981c2a8a5
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/LambertConicConformalTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/LambertConicConformalTest.java
@@@ -26,9 -26,9 +26,8 @@@ import org.apache.sis.internal.referenc
  import org.apache.sis.internal.referencing.provider.LambertConformal2SP;
  import org.apache.sis.internal.referencing.provider.LambertConformalWest;
  import org.apache.sis.internal.referencing.provider.LambertConformalBelgium;
 -import org.apache.sis.internal.referencing.provider.LambertConformalMichigan;
  import org.apache.sis.referencing.operation.transform.CoordinateDomain;
  import org.apache.sis.parameter.Parameters;
- import org.apache.sis.internal.util.DoubleDouble;
  import org.apache.sis.test.DependsOnMethod;
  import org.apache.sis.test.DependsOn;
  import org.apache.sis.test.TestUtilities;
diff --cc core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java
index b82325b3ec,77206da5f1..0894efe463
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java
@@@ -37,10 -40,15 +37,11 @@@ import static java.lang.StrictMath.*
  
  // Test imports
  import org.opengis.test.Validators;
 -import org.opengis.test.referencing.TransformTestCase;
  import org.apache.sis.test.TestUtilities;
  import org.apache.sis.test.ReferencingAssert;
+ import org.apache.sis.referencing.operation.matrix.MatrixTestCase;
  import static org.opengis.test.Assert.*;
  
 -// Branch-dependent imports
 -import org.opengis.test.CalculationType;
 -
  
  /**
   * Base class for tests of {@link AbstractMathTransform} implementations.
diff --cc core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java
index d15a1ebb57,f7c03e26d8..55d147de52
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java
@@@ -83,17 -76,17 +87,17 @@@ public class ProjectiveTransformTest ex
       * Creates a new test suite.
       */
      public ProjectiveTransformTest() {
 -        super(new MathTransformFactoryBase() {
 +        this(new MathTransformFactoryBase() {
              @Override
              public MathTransform createAffineTransform(final Matrix matrix) {
-                 final ProjectiveTransform pt;
+                 final ProjectiveTransform tested;
                  if (matrix.getNumRow() == 3 && matrix.getNumCol() == 3) {
-                     pt = new ProjectiveTransform2D(matrix);
+                     tested = new ProjectiveTransform2D(matrix);
                  } else {
-                     pt = new ProjectiveTransform(matrix);
+                     tested = new ProjectiveTransform(matrix);
                  }
-                 MathTransform tr = pt.optimize();
-                 if (tr != pt) {
+                 final MathTransform reference = tested.optimize();
+                 if (tested != reference) {
                      /*
                       * Opportunistically tests `ScaleTransform` together with `ProjectiveTransform`.
                       * We take `ScaleTransform` as a reference implementation because it is simpler.
diff --cc core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TransformResultComparator.java
index 821da4a8af,f142b8f6ad..8daecc4b93
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TransformResultComparator.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TransformResultComparator.java
@@@ -17,6 -17,6 +17,7 @@@
  package org.apache.sis.referencing.operation.transform;
  
  import java.util.Arrays;
++import org.opengis.util.FactoryException;
  import org.opengis.geometry.DirectPosition;
  import org.opengis.geometry.MismatchedDimensionException;
  import org.opengis.referencing.operation.Matrix;
diff --cc core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TranslationTransformTest.java
index 6c185a45cd,204693baf0..edffba82fd
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TranslationTransformTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/TranslationTransformTest.java
@@@ -50,8 -51,8 +50,8 @@@ public final class TranslationTransform
          final TranslationTransform tr = new TranslationTransform(matrix.getNumRow(), elements);
          assertEquals("sourceDimensions", dimensions, tr.getSourceDimensions());
          assertEquals("targetDimensions", dimensions, tr.getTargetDimensions());
 -        Assert.assertMatrixEquals("matrix", matrix, tr.getMatrix(), 0.0);
 +        assertMatrixEquals("matrix", matrix, tr.getMatrix(), 0.0);
-         assertArrayEquals("elements", elements, tr.getExtendedElements(), 0.0);
+         assertArrayEquals("elements", elements, getElementAsNumbers(tr));
          transform = tr;
          validate();
      }
@@@ -104,8 -93,10 +92,10 @@@
          final TranslationTransform tr = new TranslationTransform(4, elements);
          assertEquals("sourceDimensions", 3, tr.getSourceDimensions());
          assertEquals("targetDimensions", 3, tr.getTargetDimensions());
 -        Assert.assertMatrixEquals("matrix", matrix, tr.getMatrix(), 0.0);
 +        assertMatrixEquals("matrix", matrix, tr.getMatrix(), 0.0);
-         assertArrayEquals("elements", elements, tr.getExtendedElements(), 0.0);
+ 
+         replaceZeroByNull(elements, O);
+         assertArrayEquals("elements", elements, tr.getElementAsNumbers(false));
          transform = tr;
          validate();
      }