Scroll to navigation

SOZIP(1) GDAL SOZIP(1)

NAME

sozip - Generate a seek-optimized (SOZip) file.

New in version 3.7.

SYNOPSIS

sozip [--help] [--help-general]

[--quiet|--verbose]
[[-g|--grow] | [--overwrite]]
[-r|--recurse-paths]
[-j|--junk-paths]
[-l|--list]
[--optimize-from=<input.zip>]
[--validate]
[--enable-sozip={auto|yes|no}]
[--sozip-chunk-size=<value>]
[--sozip-min-file-size=<value>]
[--content-type=<value>]
<zip_filename> [<filename>]...


DESCRIPTION

The sozip utility can be used to:

  • create a SOZip (Seek-Optimized ZIP) file
  • append files to an existing ZIP/SOZip file
  • list the contents of a ZIP/SOZip file
  • validate a SOZip file
  • convert an existing Zip file in a SOZip optimized one

Show this help message and exit

--help-general
Gives a brief usage message for the generic GDAL commandline options and exit.

Quiet mode. No progress message is emitted on the standard output.

Verbose mode.


Grow an existing zip file with the content of the specified filename(s). This is the default mode of the utility. This switch is here for compatibility with Info-ZIP zip utility

Overwrite the target zip file if it already exists.


List the files contained in the zip file in an output similar to Info-ZIP unzip utility, but with the addition of a column indicating whether each file is seek-optimized.

Validates a SOZip file. Baseline ZIP validation is done in a light way, limited to being able to browse through ZIP records with the InfoZIP-based ZIP reader used by GDAL. But validation of the SOZip-specific aspects is done in a more thorougful way.


Travels the directory structure of the specified directory/directories recursively.


Store just the name of a saved file (junk the path), and do not store directory names. By default, sozip will store the full path (relative to the current directory).

Re-process {input.zip} to generate a SOZip-optimized .zip. Options --enable-sozip, --sozip-chunk-size and --sozip-min-file-size may be used in that mode.

In auto mode, a file is seek-optimized only if its size is above the value of --sozip-chunk-size. In yes mode, all input files will be seek-optimized. In no mode, no input files will be seek-optimized.

Chunk size for a seek-optimized file. Defaults to 32768 bytes. The value is specified in bytes, or K and M suffix can be respectively used to specify a value in kilo-bytes or mega-bytes.

Minimum file size to decide if a file should be seek-optimized, in --enable-sozip=auto mode. Defaults to 1 MB byte. The value is specified in bytes, or K, M or G suffix can be respectively used to specify a value in kilo-bytes, mega-bytes or giga-bytes.

Store the Content-Type for the file being added as a key-value pair in the extra field extension 'KV' (0x564b) dedicated to storing key-value pair metadata

<zip_filename>
Filename of the zip file to create/append to/list.

<filename>
Filename of the file to add.

MULTITHREADING

The GDAL_NUM_THREADS configuration option can be set to ALL_CPUS or a integer value to specify the number of threads to use for SOZip-compressed files. Defaults to ALL_CPUS.

C API

Functionality of this utility can be done from C with CPLAddFileInZip() or VSICopyFile().

EXAMPLES

Create a, potentially seek-optimized, ZIP file with the content of my.gpkg:

sozip my.gpkg.zip my.gpkg


Create a, potentially seek-optimized, ZIP file from the content of a source directory:

sozip -r my.gpkg.zip source_dir/


Create a, potentially seek-optimized, ZIP file from an existing ZIP file.

sozip --convert-from=in.zip out.zip


List the contents of a ZIP file and display which files are seek-optimized:

sozip -l my.gpkg.zip


Validates a SOZip file:

sozip --validate my.gpkg.zip


AUTHOR

Even Rouault <even.rouault@spatialys.com>

COPYRIGHT

1998-2024

November 1, 2024