I am building VRT's from many single channel, continuous data (i.e. float32) geotiffs.

My desire is that when these VRTs get added to QGIS, they are symbolized in a particular manner. For example, all pixels that have a value of 0.0 - 30.0 are red, 30.0-60.0 are yellow, and 60+ are red...

As far as I can tell, the best way to do this is:

  1. Add a python pixel function that returns a integer value (0,1,2) based on the underlying data value. With this pixel function, the VRT now shows as integer type with values 0,1,2.
  2. Add a color table into the VRT, one entry each for 0, 1, 2

With these updates to a VRT, when added to QGIS they do render as paletted/unique values with the colors I expect from the color table.

My issue is that when zoomed to full extent of the VRT, the seams of the individual tiles are very noticeable. Without getting into unnecessary detail about the data, it doesn't make sense. enter image description here

Eventually, I hit to a zoom level where seams disappear. All zoom-ins from this point forward, no seams: enter image description here

I suspect this is the result of some form of resampling, but where - QGIS or the VRT? I have tried adjusting QGIS blending and oversampling thresholds to no avail.

Any ideas of what is going on here?

1 Answer 1


After building standard overviews gdaladdo sample.vrt - no more seam lines visible at any zoom level

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.