Skip to content

feat: add sparse GTiff fixtures - #70

Open
ljstrnadiii wants to merge 1 commit into
developmentseed:mainfrom
ljstrnadiii:sparse-tiff-support
Open

ljstrnadiii wants to merge 1 commit into
developmentseed:mainfrom
ljstrnadiii:sparse-tiff-support

Conversation

@ljstrnadiii

@ljstrnadiii ljstrnadiii commented Sep 11, 2026

Copy link
Copy Markdown

Summary

Adds two fixtures for sparse-tile support: a tile GDAL never writes has TileOffsets == TileByteCounts == 0 (TIFF6/COG sparse convention).

  • rasterio_generated/fixtures/uint8_1band_sparse_nodata.tif — 512x512, single band, 2x2 tiles, GDAL_NODATA=7, only tile (0, 0) written.
  • rasterio_generated/fixtures/uint8_1band_sparse_no_nodata.tif — same, no GDAL_NODATA tag, exercises the zero-fill default.

Generated with plain rasterio.open(driver="GTiff", sparse_ok=True, ...), not write_utils.write_cog — that helper's COG-driver copy may not preserve sparseness.

pixi run generate + pixi run info produce no diff to any other fixture.

Status

Ready for review. Blocks developmentseed/async-tiff#340 and developmentseed/async-geotiff#175 — merge in that order. CI is pending manual workflow approval (action_required), not failing.

Pre-merge checklist

🤖 Generated with Claude Code

GDAL/rasterio support "sparse" tiled TIFFs (SPARSE_OK=YES): a tile the
encoder never wrote has TileOffsets == TileByteCounts == 0.
uint8_1band_sparse_nodata.tif has nodata=7 and only tile (0, 0) written;
uint8_1band_sparse_no_nodata.tif is the same with no GDAL_NODATA tag.

Written directly with the plain GTiff driver rather than write_utils.write_cog,
since that helper's COG-driver copy step may not preserve sparseness.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant