WarpedVRT and resampling ?
vincent.sarago@...
This was previously discussed on multiple Issues and PR:
- https://github.com/mapbox/rasterio/issues/1206 - https://github.com/mapbox/rasterio/pull/1238 - https://github.com/mapbox/rasterio/pull/1239 While working with https://github.com/cogeotiff/rio-tiler on different data format (Int16, Float ...) I've encountered some strange behavior when using non-nearest resampling algorithm. ## Contexte When working with `WarpedVRT` you can choose the resampling algorithm twice: ``` with WarpedVRT(src, resampling=enums.Resampling.nearest) as vrt: arr = vrt.read(out_shape=(1, 512, 512, resampling=enums.Resampling.nearest)) ``` Sean try to explain this in https://github.com/mapbox/rasterio/pull/1238#issuecomment-353123776 rio-tiler code: https://github.com/cogeotiff/rio-tiler/blob/master/rio_tiler/utils.py#L296-L321 ## Behavior On the images attached we can see that there are `blurry` lines on the bottom. Those lines appear on the bottom of the tile returned by `rio-tiler` (bottom of the WarpedVRT returned value). Observation: - Only visible when working on Linux (https://github.com/RemotePixel/amazonlinux-gdal/tree/gdal2.4.0, or with rasterio wheels) - Only with Int16 data with negative NoData - Not visible when using gdalwarp directly - Visible only when not using `resampling=enums.Resampling.nearest` in WarpedVRT params I'm not 100% to understand what is going on and if I should or should not use `enums.Resampling.nearest` as default resampling in WarpedVRT params so I'm looking for guidance here. Thanks, Vincent |
|