This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit c75bef2a2562f0ae059011b86702405630b05a15 Author: Martin Desruisseaux <[email protected]> AuthorDate: Thu May 28 16:10:35 2020 +0200 Adjust `testNonSeparableGridToCRS()`. --- .../sis/coverage/grid/ResampledGridCoverage.java | 4 ++-- .../sis/coverage/grid/ResampledGridCoverageTest.java | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ResampledGridCoverage.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ResampledGridCoverage.java index 0a171fb..3f8a4bf 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ResampledGridCoverage.java +++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ResampledGridCoverage.java @@ -407,8 +407,8 @@ final class ResampledGridCoverage extends GridCoverage { private static GridExtent targetExtent(final GridExtent source, final MathTransform cornerToCRS, final MathTransform crsToGrid, final boolean center) throws TransformException { - final MathTransform tr = MathTransforms.concatenate(cornerToCRS, crsToGrid); - final GeneralEnvelope bounds = source.toCRS(tr, tr, null); + final MathTransform sourceToTarget = MathTransforms.concatenate(cornerToCRS, crsToGrid); + final GeneralEnvelope bounds = source.toCRS(sourceToTarget, sourceToTarget, null); if (center) { final double[] vector = new double[bounds.getDimension()]; Arrays.fill(vector, 0.5); diff --git a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java index ae250e7..42cc116 100644 --- a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java +++ b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/ResampledGridCoverageTest.java @@ -155,11 +155,12 @@ public final strictfp class ResampledGridCoverageTest extends TestCase { /* Lower-left quarter */ Arrays.fill(color, Color.GREEN.getRGB()); image.setRGB( 0, QS, QS, QS, color, 0, QS); /* Lower-right quarter */ Arrays.fill(color, Color.BLUE .getRGB()); image.setRGB(QS, QS, QS, QS, color, 0, QS); /* - * Create an image with origin different than 0. The image has a single tile - * with pixel coordinates from (-2, -2) inclusive to (4, 4) exclusive. + * Create an image with origin between -2 and +2. We use a random image location for more + * complete testing, but actually the tests in this class are independent of image origin. + * Note that grid extent origin does not need to be the same than image origin. */ - minX = -2; - minY = -2; + minX = random.nextInt(5) - 2; + minY = random.nextInt(5) - 2; GridGeometry gg = createGridGeometryND(withTime ? HardCodedCRS.WGS84_4D : HardCodedCRS.WGS84_3D, 0, 1, 2, 3, false); final TiledImage shiftedImage = new TiledImage( image.getColorModel(), @@ -470,8 +471,8 @@ public final strictfp class ResampledGridCoverageTest extends TestCase { nonSeparableMatrix.setElement(0, 2, 1); // Make X dependent of Z. nonSeparableMatrix.setElement(1, 2, 1); // Make Y dependent of Z. final MathTransform nonSeparableG2C = MathTransforms.concatenate( - MathTransforms.linear(nonSeparableMatrix), - source.getGridGeometry().getGridToCRS(CELL_CENTER)); + source.getGridGeometry().getGridToCRS(CELL_CENTER), + MathTransforms.linear(nonSeparableMatrix)); { /* * The test in this block is not a `ResampleGridCoverage` test, but rather a @@ -493,11 +494,10 @@ public final strictfp class ResampledGridCoverageTest extends TestCase { source.getCoordinateReferenceSystem()); /* * Real test is below (above code was only initialization). - * The source image is 6×6 but the target image is 7×7 with - * the last row and column left black. + * Target image should be 6×6 pixels, like source image. */ final GridCoverage result = resample(source, targetGeom); - assertPixelsEqual(source.render(null), null, result.render(null), new Rectangle(2*QS, 2*QS)); + assertPixelsEqual(source.render(null), null, result.render(null), null); } /**
