[gdal-dev] ERROR when requesting raster data outside coverage of VRT

Andrew C Aitchison andrew at aitchison.me.uk
Wed Apr 26 03:48:29 PDT 2017

On Wed, 26 Apr 2017, Casper BÞrgesen wrote:

> Hi,
> I am trying to read some floating point data from a VRT file. The
> VRT file references a set of VRT files which again references a set
> of GeoTIFF files.
> Using Python I call dataset.ReadAsArray(x, y, width, height) to
> request the data. In my case I end up requesting data which is
> outside the bounds of the VRT file resulting in the following error:
> ERROR 5: my.vrt, band 1: Access window out of range in RasterIO().
> Requested (1129975,637475) of size 2550x2550 on raster of 1132500x885000.

I am not sure whether you noticed that

   1129975 + 2550 = 1132525 > 1132500

and thus the requested window is partially outside the VRT's bounds.

> If I was working with a normal GeoTIFF file I could calculate if I
> was outside the bounds and crop my request accordingly. But since I
> am working with a VRT file I don't know how to determine if the VRT
> file has coverage or not. I vaguely remember a similar issue with
> gdal_translate which was fixed to allow requesting data partially
> and completely outside the bounds of the VRT file and just return
> zero (?) on the cells outside.

I think cropping the request as you would for a normal GeoTIFF
should be sufficient.

Andrew C Aitchison

More information about the gdal-dev mailing list