.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "GDAL-VECTOR-INDEX" "1" "Aug 18, 2026" "" "GDAL" .SH NAME gdal-vector-index \- Create a vector index of vector datasets .sp Added in version 3.12. .SH SYNOPSIS .INDENT 0.0 .INDENT 3.5 .sp .EX Usage: gdal vector index [OPTIONS] ... Create a vector index of vector datasets. Positional arguments: \-i, \-\-input Input vector datasets [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 or warning message) [not available in pipelines] 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 dataset 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 layer 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 (\(aq*\(aq and \(aq?\(aq 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 \-\-output\-crs Output 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 .EE .UNINDENT .UNINDENT .SH DESCRIPTION .sp \fBgdal vector index\fP 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 \X'tty: link http://mapserver.org/'\fI\%MapServer\fP\X'tty: link' as a vector tileindex .SH PROGRAM-SPECIFIC OPTIONS .INDENT 0.0 .TP .B \-\-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. .UNINDENT .INDENT 0.0 .TP .B \-\-accept\-different\-crs Whether layers with different CRS are accepted. By default, unless \fI\%\-\-output\-crs\fP is specified, layers that do not have the same CRS as the first index layer will be skipped. Setting \fI\%\-\-accept\-different\-crs\fP may be useful to avoid the CRS consistency check. .UNINDENT .INDENT 0.0 .TP .B \-\-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. .UNINDENT .INDENT 0.0 .TP .B \-\-dataset\-name\-only Whether to write the dataset name only, instead of suffixed with the layer index. .sp \fBWARNING:\fP .INDENT 7.0 .INDENT 3.5 Setting this option will generate a location not compatible of MapServer. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-filename\-filter Pattern that the filenames contained in input directories should follow. \(aq*\(aq is a wildcard character that matches any number of any characters including none. \(aq?\(aq is a wildcard character that matches a single character. Comparisons are done in a case insensitive way. Several filters may be specified. .sp For example: \fB\-\-filename\-filter \(dq*.shp,*.gpkg\(dq\fP .UNINDENT .INDENT 0.0 .TP .B \-\-location\-name The output field name to hold the file path/location to the indexed vectors. The default field name is \fBlocation\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-metadata = Write an arbitrary layer metadata item, for formats that support layer metadata. This option may be repeated. .UNINDENT .INDENT 0.0 .TP .B \-\-output\-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. .UNINDENT .INDENT 0.0 .TP .B \-\-recursive Whether input directories should be explored recursively. .UNINDENT .INDENT 0.0 .TP .B \-\-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 .UNINDENT .INDENT 0.0 .TP .B \-\-source\-crs\-format auto|WKT|EPSG|PROJ The format in which the CRS of each tile must be written. Types can be \fBauto\fP, \fBWKT\fP, \fBEPSG\fP, \fBPROJ\fP\&. This option should be used together with \fI\%\-\-source\-crs\-field\-name\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-source\-layer\-name Add layer of specified name from each source file in the tile index [may be repeated] If none of .UNINDENT .INDENT 0.0 .TP .B \-\-source\-layer\-index Add layer of specified index (0\-based) from each source file in the tile index [may be repeated] .UNINDENT .SH STANDARD OPTIONS .INDENT 0.0 .TP .B \-\-append Whether appending features to existing layer(s) is allowed. This also creates the output dataset if it does not exist yet. .UNINDENT .INDENT 0.0 .TP .B \-\-co, \-\-creation\-option = Many formats have one or more optional dataset creation options that can be used to control particulars about the file created. For instance, the GeoPackage driver supports creation options to control the version. .sp May be repeated. .sp The dataset 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 \fI\%\-\-formats\fP command line option but the documentation for the format is the definitive source of information on driver creation options. See \fI\%Vector drivers\fP format specific documentation for legal creation options for each format. .sp Note that dataset creation options are different from layer creation options. .UNINDENT .INDENT 0.0 .TP .B \-\-lco, \-\-layer\-creation\-option = Many formats have one or more optional layer creation options that can be used to control particulars about the layer created. For instance, the GeoPackage driver supports layer creation options to control the feature identifier or geometry column name, setting the identifier or description, etc. .sp May be repeated. .sp The layer creation options available vary by format driver, and some simple formats have no layer creation options at all. A list of options supported for a format can be listed with the \fI\%\-\-formats\fP command line option but the documentation for the format is the definitive source of information on driver creation options. See \fI\%Vector drivers\fP format specific documentation for legal creation options for each format. .sp Note that layer creation options are different from dataset creation options. .UNINDENT .INDENT 0.0 .TP .B \-f, \-\-of, \-\-format, \-\-output\-format Which output vector format to use. Allowed values may be given by \fBgdal \-\-formats | grep vector | grep rw | sort\fP .UNINDENT .INDENT 0.0 .TP .B \-\-nln, \-\-output\-layer Provides a name for the output vector layer. .UNINDENT .INDENT 0.0 .TP .B \-\-overwrite Allow program to overwrite existing target file or dataset. Otherwise, by default, \fBgdal\fP errors out if the target file or dataset already exists. .UNINDENT .INDENT 0.0 .TP .B \-\-overwrite\-layer Whether overwriting the existing output vector layer is allowed. .UNINDENT .INDENT 0.0 .TP .B \-\-update Whether to open an existing output dataset in update mode. .UNINDENT .SH RETURN STATUS CODE .sp The program returns status code 0 in case of success, and non\-zero in case of error (non\-blocking errors emitted as warnings are considered as a successful execution). .SH EXAMPLES .SS Example 1 .sp Produce a GeoPackage with a record for every layer that the utility found in the \fBcountries\fP folder. Each record holds information that points to the location of each input vector file and also a bounding rectangle shape showing its bounds: .INDENT 0.0 .INDENT 3.5 .sp .EX gdal vector index countries/*.shp index.gpkg .EE .UNINDENT .UNINDENT .SS Example 2 .sp The \fI\%\-\-output\-crs\fP option can also be used to transform all input vector envelopes into the same output projection: .INDENT 0.0 .INDENT 3.5 .sp .EX gdal vector index \-\-output\-crs EPSG:4326 \-\-source\-crs\-field\-name=src_srs countries/*.shp index.gpkg .EE .UNINDENT .UNINDENT .SH AUTHOR Even Rouault .SH COPYRIGHT 1998-2026 .\" Generated by docutils manpage writer. .