Re: WarpedVRT and resampling ?

Sean Gillies

Hi Vincent,

Can you explain what processes produced those images? What program produced the blurry one and what program produced the non-blurry one? Which resampling algorithms were used?

Yes, you can introduce resampling in two places. I think it is not a good idea to do so: if you use the WarpedVRT, you should define its extents so that you don't need to use any resampling at all when you read from it. Also, I don't fully understand the edge effects when you resample in read().

On Fri, Apr 19, 2019 at 9:37 PM <vincent.sarago@...> wrote:
This was previously discussed on multiple Issues and PR:

While working with 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 =, 512, 512, resampling=enums.Resampling.nearest))
Sean try to explain this in

rio-tiler code:

## 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). 

- Only visible when working on Linux (, 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. 



Sean Gillies

Join to automatically receive all group messages.