Goal
Keep VRT support for real user workflows, but make it a conservative advanced feature with a documented, enforced subset.
VRT is valuable for mosaics and interoperability, but full GDAL VRT parity is not a realistic release promise for this module. The release should support simple mosaics well and fail closed outside that subset.
Supported For This Release
- Simple GDAL VRT mosaics backed by GeoTIFF sources.
- Compatible source CRS, dtype, transform orientation, pixel size, band count, and band layout.
- Windowed reads where source and destination windows map cleanly.
- Lazy/dask reads over the same supported subset.
- Explicit nodata handling.
- Mixed-band nodata rejection by default, with only documented opt-ins.
missing_sources='raise' as the default behavior.
Not Promised For This Release
- Full GDAL VRT compatibility.
- Warped VRTs / reprojection VRTs.
- Nested VRTs.
- Arbitrary resampling semantics beyond the implemented and tested subset.
- Mixed CRS, mixed dtype, mixed resolution, or mixed band metadata unless explicitly supported.
- Complex mask/alpha/source semantics not represented in the GeoTIFF attrs contract.
Work Items
- Add a VRT capability validator that runs after VRT parse and before read execution where feasible.
- Centralize validation so
read_vrt and open_geotiff(... .vrt ...) fail consistently.
- Validate CRS compatibility, dtype compatibility, source/destination rect sanity, band count, nodata policy, transform compatibility, and resampling support.
- Add tests for supported simple mosaics.
- Add negative tests for unsupported VRT features.
- Ensure missing-source behavior is explicit and tested for
raise and warn.
- Add docs and docstrings that describe VRT as advanced simple-mosaic support, not GDAL replacement.
Acceptance Criteria
- Supported simple VRT mosaics work through eager and dask paths.
- Unsupported VRT features fail with actionable errors.
- Mixed or ambiguous metadata cannot silently flatten into one output raster.
- VRT tests assert values, coords, and attrs.
- Documentation plainly states the VRT subset and non-goals.
Goal
Keep VRT support for real user workflows, but make it a conservative advanced feature with a documented, enforced subset.
VRT is valuable for mosaics and interoperability, but full GDAL VRT parity is not a realistic release promise for this module. The release should support simple mosaics well and fail closed outside that subset.
Supported For This Release
missing_sources='raise'as the default behavior.Not Promised For This Release
Work Items
read_vrtandopen_geotiff(... .vrt ...)fail consistently.raiseandwarn.Acceptance Criteria