Skip to content

Commit bdb7423

Browse files
authored
Release-gate negative test for ambiguous GeoTIFF metadata (#2361) (#2366)
1 parent 19fc4db commit bdb7423

4 files changed

Lines changed: 517 additions & 3 deletions

File tree

docs/source/reference/release_gate_geotiff.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,15 @@ These gates are not tier rows but they back the rest of the checklist.
540540
* ``test_release_gate_2321.py`` -- meta-gate that asserts every promised
541541
VRT behaviour in this checklist resolves to a real test file and a real
542542
``SUPPORTED_FEATURES`` entry.
543+
* ``xrspatial/geotiff/tests/test_release_gate_negative_2341.py`` --
544+
negative cross-cutting gate from epic #2341 PR 5. Pins that
545+
ambiguous metadata fails closed at every promised read entry point:
546+
conflicting CRS between header and ``.aux.xml`` PAM sidecar
547+
(xfail until PAM sidecar support lands), integer nodata sentinel
548+
that cannot be honoured on a float-promoted raster (xfail against
549+
``#1774`` follow-up), rotated transform without ``allow_rotated=True``
550+
uniformly across eager / dask / windowed paths, and mixed-tier VRT
551+
children when stable-only is requested (xfail against epic ``#2342``).
543552

544553
Placeholder PR cross-references
545554
===============================

xrspatial/geotiff/_geotags.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,11 @@ def _extract_transform(ifd: IFD,
683683
f"M[6]={m[6] if len(m) > 6 else 0.0!r}). "
684684
"Only axis-aligned affine transforms are supported. "
685685
"Pass ``allow_rotated=True`` to read the pixel grid "
686-
"without the geospatial assumption (issue #2115)."
686+
"without the geospatial assumption "
687+
"(``reader.allow_rotated`` is the experimental tier "
688+
"opt-in; see "
689+
"``docs/source/reference/release_gate_geotiff.rst`` "
690+
"for the release-contract row; issue #2115)."
687691
)
688692
# Opt-in: drop georef, stash the rotated matrix on the
689693
# GeoTransform so the validator + attrs-roundtrip code

xrspatial/geotiff/_validation.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,8 +1117,9 @@ def _check_read_rotated_transform(context: Mapping[str, Any]) -> None:
11171117
f"zonal) assume axis-aligned rasters and would silently produce "
11181118
f"wrong results on a rotated grid. Pass ``allow_rotated=True`` "
11191119
f"to read the pixel grid without the geospatial assumption "
1120-
f"(useful when you only want the array, not the geo-aware "
1121-
f"downstream ops). See issue #1987."
1120+
f"(``reader.allow_rotated`` is the experimental tier opt-in; "
1121+
f"see ``docs/source/reference/release_gate_geotiff.rst`` for "
1122+
f"the release-contract row; issue #1987)."
11221123
)
11231124

11241125

0 commit comments

Comments
 (0)