Skip to content

Epic: Conservative VRT support contract for GeoTIFF release #2342

@brendancol

Description

@brendancol

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions