[gdal-dev] does vsicurl support reading multiple byte ranges with a single HTTP request?

Even Rouault even.rouault at spatialys.com
Wed Mar 23 12:25:03 PDT 2016


Le mercredi 23 mars 2016 20:11:43, Vish Uma a écrit :
> I am using vsicurl to read a given extent of values from a GeoTIFF file
> over HTTP. I found that the library is making multiple requests with
> different range headers(8 requests in my case) to read all of the data
> that is needed. Does VSICURL support reading these bytes ranges in a
> single request by specifying the range as "Range: bytes=100-200, 300-400".

VSICURL yes, but the readers that use it, generally no since that require them 
to be modified to "plan" their reads in advance, which is sometimes not 
possible, or not practical.

> This entry in the 1.9 release notes seems to suggest it is possible
> "VSI*L: Add ReadMultiRange?() virtual method to read several ranges of
> data in single call; add an optimized implementation for /vsicurl/"
> (https://trac.osgeo.org/gdal/wiki/Release/1.9.0-News) but it is not what I
> am observing. 

This is only used in the GTiff driver if specifying GTIFF_DIRECT_IO=YES as 
configuration option / environment variable. This is restricted to a few 
formulations of GeoTIFF though. See http://gdal.org/frmt_gtiff.html ( there was 
already some support in 1.9, but with more restrictions, like limited to 
single band datasets. )

> Thank You,Vish

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the gdal-dev mailing list