Follow-up to #43 / PR #49. plan_read (src/zagg/read_plan.py) does the within-granule segment->AOI crossing check with shapely.LineString (euclidean, confirmed fine at 20 m ATL03 spacing). It currently uses shapely unconditionally, with no grid-type awareness.
Open question from the PR thread: make the within-granule check grid-aware — when the output grid is HEALPix/mortie, use mortie linestring coverage instead of shapely.
Decide whether the two concerns stay separate (mortie for shard dispatch upstream, shapely within-granule) or whether plan_read should branch on grid type and call into mortie for the HEALPix case.
Follow-up to #43 / PR #49.
plan_read(src/zagg/read_plan.py) does the within-granule segment->AOI crossing check withshapely.LineString(euclidean, confirmed fine at 20 m ATL03 spacing). It currently uses shapely unconditionally, with no grid-type awareness.Open question from the PR thread: make the within-granule check grid-aware — when the output grid is HEALPix/mortie, use mortie linestring coverage instead of shapely.
Decide whether the two concerns stay separate (mortie for shard dispatch upstream, shapely within-granule) or whether
plan_readshould branch on grid type and call into mortie for the HEALPix case.