Describe the bug
Remote dask reads of HTTP/fsspec GeoTIFFs can bypass TIFF Orientation handling. read_geotiff_dask() parses remote COG metadata once, then each chunk calls _fetch_decode_cog_http_tiles() directly. That helper decodes tile pixels but does not apply or reject non-default Orientation tags. The eager HTTP wrapper _read_cog_http() has the correct guard/remap, so the same file can produce different pixel order depending on backend.
Expected behavior
All read backends should agree. For non-default Orientation, remote dask reads should either apply the same orientation transform as eager reads or fail clearly if chunked/windowed orientation is not supported.
Screenshots
Not applicable.
Desktop
Not applicable.
Smartphone
Not applicable.
Additional context
Relevant paths:
xrspatial/geotiff/__init__.py: remote dask metadata prefetch and delayed chunk reads.
xrspatial/geotiff/_reader.py: eager HTTP orientation guard/remap.
Describe the bug
Remote dask reads of HTTP/fsspec GeoTIFFs can bypass TIFF Orientation handling.
read_geotiff_dask()parses remote COG metadata once, then each chunk calls_fetch_decode_cog_http_tiles()directly. That helper decodes tile pixels but does not apply or reject non-default Orientation tags. The eager HTTP wrapper_read_cog_http()has the correct guard/remap, so the same file can produce different pixel order depending on backend.Expected behavior
All read backends should agree. For non-default Orientation, remote dask reads should either apply the same orientation transform as eager reads or fail clearly if chunked/windowed orientation is not supported.
Screenshots
Not applicable.
Desktop
Not applicable.
Smartphone
Not applicable.
Additional context
Relevant paths:
xrspatial/geotiff/__init__.py: remote dask metadata prefetch and delayed chunk reads.xrspatial/geotiff/_reader.py: eager HTTP orientation guard/remap.