[gdal-dev] Zip files and VISFileFromMemBuffer()
Even Rouault
even.rouault at spatialys.com
Tue Jan 31 08:42:23 PST 2017
On mardi 31 janvier 2017 17:33:23 CET Sean Gillies wrote:
> Hey all,
>
> The tests in
> https://svn.osgeo.org/gdal/branches/1.9/autotest/gcore/vsizip.py show how
> to create a zip archive in memory and create directories and files within
> it. I'm looking for a shortcut.
>
> Given a sequence of bytes representing an existing zip file that contains a
> TIFF and a VRT (referencing the TIFF), is it possible to make a VSI file
> from this buffer (using VISFileFromMemBuffer()) and then access the VRT
> using a path like /vsizip/vsimem/archive.zip/example.vrt protocol?
Hi Sean,
That sounds like you tested it and something went wrong ? Perhaps check the path to the
source in the VRT and the value of the relativeToVRT attribute.
Your above strategy does work for me:
$ gdal_translate byte.tif byte.vrt -of VRT
Input file size is 20, 20
$ zip byte.tif.zip byte.tif byte.vrt
adding: byte.tif (deflated 96%)
adding: byte.vrt (deflated 53%)
$ python
>>> from osgeo import gdal
>>> data = open('byte.tif.zip', 'rb').read()
>>> gdal.FileFromMemBuffer('/vsimem/archive.zip', data)
>>> ds = gdal.Open('/vsizip/vsimem/archive.zip/byte.vrt')
>>> ds.GetRasterBand(1).Checksum()
4672
Even
--
Spatialys - Geospatial professional services
http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20170131/79881c7b/attachment-0001.html>
More information about the gdal-dev
mailing list