Folks, I've just commited code in gdal 1.6.0dev SVN trunk that enables GDAL to decompress on-the-fly data from GZIP (.gz) and ZIP (.zip) archives.
This is implemented as 2 virtual file systems (like /vsimem for example), /vsigzip and /vsizip. Only read-only access is supported. Note that performance will not be very impressive, as random access to ZIP file is slow by nature, although some optimizations have been made to make it faster and generally usable. ---------------------------------- To read from a .gz file, ---------------------------------- gdalinfo /vsigzip/path/to/the/file.gz were path/to/the/file.gz is relative or absolute. The first time that a .gz file is read, a small .gz.properties file will be generated (if possible) to capture the uncompressed data size. This will make following opening of that dataset much faster. -------------------------------------- * To read from a .zip file, ------------------------------------- gdalinfo /vsizip/path/to/the/file.zip/path/inside/the/zip/file were path/to/the/file.zip is relative or absolute and path/inside/the/zip/file is the relative path to the file inside the archive. For example gdalinfo /vsizip/myarchive.zip/subdir1/file1.tif The ReadDir() method is implemented for the .zip archives, so a driver will be able to find files relative to the given file inside the archive. For example, you can read a CADRG dataset from the zipped archive of the a.toc file and all its NITF tiles. Small syntaxic sugar : if the .zip file contains only one file located at its root, just mentionning "/vsizip/path/to/the/file.zip" will work. ------------------------------------------------ The fact that this new capability is implemented as virtual file systems imply that it will only work for GDAL drivers supporting the "large file API". A list of such drivers is : PNG, JPEG, ILWIS, GTiff, GIF, JP2KAK, NITF, ADRG, DTED, SRTMHGT, BMP, LCP, HFA (Erdas Imagine), AAIGRID. Other drivers may work too (I just looked for those advertizing the GDAL_DCAP_VIRTUALIO capability) (See http://trac.osgeo.org/gdal/ticket/1369 for the history of that feature.) Best regards Even _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
