You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Test-coverage sweep pass 5 over xrspatial/rasterize.py (2026-06-09). Two parameter-coverage gaps, both MEDIUM.
all_touched=True is tested only with polygon input (rasterio parity in test_rasterize_all_touched_supercover_2169.py, monotonicity and thin-polygon cases in test_rasterize_accuracy.py, GPU race tests in test_rasterize_gpu_race_2167.py). No test on any backend passes a LineString with all_touched=True. The flag is currently a no-op for lines, which diverges from the rasterio behavior the docstring promises; that is filed separately as rasterize(all_touched=True) has no effect on LineString geometries #3102. Whichever way rasterize(all_touched=True) has no effect on LineString geometries #3102 is resolved, the interaction needs pinning so a behavior change is visible in CI.
_parse_input raises TypeError("geometries must be a GeoDataFrame or iterable of (geometry, value) pairs") for non-iterable input (rasterize.py:2834-2837). Nothing exercises it. The other validation guards in rasterize() were pinned in passes 1 through 4; this one was missed.
Plan: test-only PR. Pin lines + all_touched to the current contract (output equals all_touched=False and equals rasterio's default mode) across numpy / cupy / dask+numpy / dask+cupy, add a strict xfail for rasterio all_touched parity linked to #3102, and pin the TypeError path.
Test-coverage sweep pass 5 over
xrspatial/rasterize.py(2026-06-09). Two parameter-coverage gaps, both MEDIUM.all_touched=Trueis tested only with polygon input (rasterio parity intest_rasterize_all_touched_supercover_2169.py, monotonicity and thin-polygon cases intest_rasterize_accuracy.py, GPU race tests intest_rasterize_gpu_race_2167.py). No test on any backend passes a LineString withall_touched=True. The flag is currently a no-op for lines, which diverges from the rasterio behavior the docstring promises; that is filed separately as rasterize(all_touched=True) has no effect on LineString geometries #3102. Whichever way rasterize(all_touched=True) has no effect on LineString geometries #3102 is resolved, the interaction needs pinning so a behavior change is visible in CI._parse_inputraisesTypeError("geometries must be a GeoDataFrame or iterable of (geometry, value) pairs")for non-iterable input (rasterize.py:2834-2837). Nothing exercises it. The other validation guards in rasterize() were pinned in passes 1 through 4; this one was missed.Plan: test-only PR. Pin lines + all_touched to the current contract (output equals
all_touched=Falseand equals rasterio's default mode) across numpy / cupy / dask+numpy / dask+cupy, add a strict xfail for rasterio all_touched parity linked to #3102, and pin the TypeError path.