This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit aa236a8a8c866e8503afadb588fd7a3b4d220908 Author: Martin Desruisseaux <[email protected]> AuthorDate: Fri Aug 14 17:54:53 2026 +0200 Fix the initial zoom of large untiled images. --- .../main/org/apache/sis/gui/coverage/CoverageCanvas.java | 2 +- .../org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java index 3db57d7497..58935a0a54 100644 --- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java +++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/coverage/CoverageCanvas.java @@ -894,7 +894,7 @@ public class CoverageCanvas extends MapCanvasAWT { data.gridCrsName = gridCrsName; data.setImageSpace(domain, ranges, xyDimensions); initialize(visibleArea); - setObjectiveBounds(bounds); + setObjectiveBounds(bounds); // Overwrite the objective bounds specified by `visibleArea`. } /** diff --git a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java index 766211a845..d472d81ac7 100644 --- a/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java +++ b/optional/src/org.apache.sis.gui/main/org/apache/sis/gui/map/MapCanvas.java @@ -221,6 +221,7 @@ public abstract class MapCanvas extends PlanarCanvas { * Optionally contains the initial "objective to display" CRS to use if a predetermined * value is desired instead of an automatically computed one. The grid extent is ignored, * except for fetching the grid center if a non-linear transform needs to be linearized. + * Can be {@code null} if no initial state has been specified. * * @see #initialize(GridGeometry) * @see #invalidObjectiveToDisplay @@ -1412,7 +1413,12 @@ public abstract class MapCanvas extends PlanarCanvas { * If a CRS is present, it is used for deciding if we need to swap or flip axes. */ @SuppressWarnings("LocalVariableHidesMemberVariable") - final Envelope objectiveBounds = getObjectiveBounds(); + final Envelope objectiveBounds; + if (init != null && init.isDefined(GridGeometry.ENVELOPE)) { + objectiveBounds = init.getEnvelope(); + } else { + objectiveBounds = getObjectiveBounds(); + } if (objectiveBounds != null) { final MatrixSIS m; objectiveCRS = objectiveBounds.getCoordinateReferenceSystem();
