GDAL-VECTOR-INDEX(1) GDAL GDAL-VECTOR-INDEX(1)
NAME
gdal-vector-index - Create a vector index of vector datasets
Added in version 3.12.
SYNOPSIS
Usage: gdal vector index [OPTIONS] ...
Create a vector index of vector datasets.
Positional arguments:
-i, --input Input vector datasets (created by algorithm) [may be repeated] [required]
-o, --output Output vector dataset [required]
Common Options:
-h, --help Display help message and exit
--json-usage Display usage as JSON document and exit
--config = Configuration option [may be repeated]
-q, --quiet Quiet mode (no progress bar)
Options:
-f, --of, --format, --output-format Output format
--co, --creation-option = Creation option [may be repeated]
--lco, --layer-creation-option = Layer creation option [may be repeated]
--overwrite Whether overwriting existing output is allowed
Mutually exclusive with --update
--update Whether to open existing dataset in update mode
Mutually exclusive with --overwrite
--overwrite-layer Whether overwriting existing output is allowed
--append Whether appending to existing layer is allowed
--nln, --output-layer Output layer name
--recursive Whether input directories should be explored recursively.
--filename-filter Pattern that the filenames in input directories should follow ('*' and '?' wildcard) [may be repeated]
--location-name Name of the field with the vector path (default: location)
--absolute-path Whether the path to the input datasets should be stored as an absolute path
--dst-crs Destination CRS
--metadata = Add dataset metadata item [may be repeated]
--source-crs-field-name Name of the field to store the CRS of each dataset
--source-crs-format Format in which the CRS of each dataset must be written. SOURCE-CRS-FORMAT=auto|WKT|EPSG|PROJ (default: auto)
--source-layer-name Add layer of specified name from each source file in the tile index [may be repeated]
--source-layer-index Add layer of specified index (0-based) from each source file in the tile index [may be repeated]
--accept-different-crs Whether layers with different CRS are accepted
--accept-different-schemas Whether layers with different schemas are accepted
--dataset-name-only Whether to write the dataset name only, instead of suffixed with the layer index
DESCRIPTION
gdal vector index creates a vector dataset with a record for each input
vector file, an attribute containing the filename (suffixed with comma
and the index of the layer within the dataset) and a polygon geometry
outlining the (rectangular) extent. This output is suitable for use
with MapServer as a vector tileindex
The following options are available:
Standard options
-f, --of, --format, --output-format
Which output vector format to use. Allowed values may be given
by gdal --formats | grep vector | grep rw | sort
--co, --creation-option =
Many formats have one or more optional creation options that can
be used to control particulars about the file created. For
instance, the GeoTIFF driver supports creation options to
control compression, and whether the file should be tiled.
May be repeated.
The creation options available vary by format driver, and some
simple formats have no creation options at all. A list of
options supported for a format can be listed with the --formats
command line option but the documentation for the format is the
definitive source of information on driver creation options.
See Raster drivers format specific documentation for legal
creation options for each format.
-lco =
Layer creation option (format specific)
--overwrite
Allow program to overwrite existing target file or dataset.
Otherwise, by default, gdal errors out if the target file or
dataset already exists.
--update
Whether the output dataset must be opened in update mode.
Implies that it already exists.
--overwrite-layer
Whether overwriting the existing output vector layer is allowed.
--append
Whether appending features to the existing output vector layer
is allowed.
-l, --nln, --layer
Provides a name for the output vector layer.
--recursive
Whether input directories should be explored recursively.
--filename-filter
Pattern that the filenames contained in input directories should
follow. '*' is a wildcard character that matches any number of
any characters including none. '?' is a wildcard character that
matches a single character. Comparisons are done in a case
insensitive way. Several filters may be specified.
For example: --filename-filter "*.shp,*.gpkg"
--location-name
The output field name to hold the file path/location to the
indexed vectors. The default field name is location.
--absolute-path
The absolute path to the vector files is stored in the index
file. By default the vector filenames will be put in the file
exactly as they are specified on the command line.
--dst-crs
Envelopes of the input files will be transformed to the desired
target coordinate reference system. Default creates simple
rectangular polygons in the same coordinate reference system as
the input vectors.
--source-crs-field-name
The name of the field to store the CRS of each tile. This field
name can be used as the value of the TILESRS keyword in
MapServer
--source-crs-format auto|WKT|EPSG|PROJ
The format in which the CRS of each tile must be written. Types
can be auto, WKT, EPSG, PROJ. This option should be used
together with --source-crs-field-name.
--source-layer-name
Add layer of specified name from each source file in the tile
index [may be repeated] If none of
--source-layer-index
Add layer of specified index (0-based) from each source file in
the tile index [may be repeated]
--metadata =
Write an arbitrary layer metadata item, for formats that support
layer metadata. This option may be repeated.
--accept-different-crs
Whether layers with different CRS are accepted. By default,
unless --dst-crs is specified, layers that do not have the same
CRS as the first index layer will be skipped. Setting
--accept-different-crs may be useful to avoid the CRS
consistency check.
--accept-different-schemas
Whether layers with different schemas are accepted. By default,
layers that do not have the same schemas as the first index
layer will be skipped.
--dataset-name-only
Whether to write the dataset name only, instead of suffixed with
the layer index.
WARNING:
Setting this option will generate a location not compatible
of MapServer.
Advanced options
--oo, --open-option =
Dataset open option (format specific).
May be repeated.
--if, --input-format
Format/driver name to be attempted to open the input file(s). It
is generally not necessary to specify it, but it can be used to
skip automatic driver detection, when it fails to select the
appropriate driver. This option can be repeated several times
to specify several candidate drivers. Note that it does not
force those drivers to open the dataset. In particular, some
drivers have requirements on file extensions.
May be repeated.
EXAMPLES
Example 1
Produce a GeoPackage with a record for every layer that the utility
found in the countries folder. Each record holds information that
points to the location of each input vector file and also a bounding
rectangle shape showing its bounds:
gdal vector index countries/*.shp index.gpkg
Example 2
The --dst-crs option can also be used to transform all input vector
envelopes into the same output projection:
gdal vector index --dst-crs EPSG:4326 --source-crs-field-name=src_srs countries/*.shp index.gpkg
AUTHOR
Even Rouault
COPYRIGHT
1998-2026
February 9, 2026 GDAL-VECTOR-INDEX(1)