From 5dcc9bd695a58e113aecc1404d9e66b349587f77 Mon Sep 17 00:00:00 2001 From: floriandeboissieu Date: Wed, 17 Jan 2024 15:58:11 +0100 Subject: [PATCH] Fix wrong georeferencing of angles grid in S2Resampler.java --- .../main/java/org/esa/s2tbx/s2msi/resampler/S2Resampler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/s2tbx-s2msi-resampler/src/main/java/org/esa/s2tbx/s2msi/resampler/S2Resampler.java b/s2tbx-s2msi-resampler/src/main/java/org/esa/s2tbx/s2msi/resampler/S2Resampler.java index 7929ed99a9..4ba8e432fa 100644 --- a/s2tbx-s2msi-resampler/src/main/java/org/esa/s2tbx/s2msi/resampler/S2Resampler.java +++ b/s2tbx-s2msi-resampler/src/main/java/org/esa/s2tbx/s2msi/resampler/S2Resampler.java @@ -315,7 +315,8 @@ private boolean updateAngleBands(Product multiSizeProduct, Product targetProduct anglesGridByDetector[1].getHeight()); int extendedWidth = anglesGridByDetector[0].getWidth() + 2; int extendedHeight = anglesGridByDetector[0].getHeight() + 2; - AffineTransform originalAffineTransform5000 = new AffineTransform(anglesGridByDetector[0].getResolutionX(), 0.0f, 0.0f, -anglesGridByDetector[0].getResolutionX(), anglesGridByDetector[0].originX, anglesGridByDetector[0].originY); + float resx = anglesGridByDetector[0].getResolutionX(); + AffineTransform originalAffineTransform5000 = new AffineTransform(resx, 0.0f, 0.0f, -resx, anglesGridByDetector[0].originX-resx/2, anglesGridByDetector[0].originY+resx/2); AffineTransform extendedAffineTransform5000 = (AffineTransform) originalAffineTransform5000.clone(); extendedAffineTransform5000.translate(-1d,-1d); MultiLevelImage zenithMultiLevelImage = S2ResamplerUtils.createMultiLevelImage(extendedZenithData,extendedWidth,extendedHeight,extendedAffineTransform5000);