# `gdal raster index`

Added in version 3.11.

Create a vector index of raster datasets.

## Synopsis

    Usage: gdal raster index [OPTIONS] <INPUT>... <OUTPUT>

    Create a vector index of raster datasets.

    Positional arguments:
      -i, --input <INPUT>                                  Input raster datasets [may be repeated] [required]
      -o, --output <OUTPUT>                                Output vector dataset [required]

    Common Options:
      -h, --help                                           Display help message and exit
      --json-usage                                         Display usage as JSON document and exit
      --config <KEY>=<VALUE>                               Configuration option [may be repeated]
      --progress                                           Display progress bar

    Options:
      -f, --of, --format, --output-format <OUTPUT-FORMAT>  Output format
      --co, --creation-option <KEY>=<VALUE>                Creation option [may be repeated]
      --lco, --layer-creation-option <KEY>=<VALUE>         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 layer is allowed
      --append                                             Whether appending to existing layer is allowed
      -l, --nln, --layer <LAYER>                           Layer name
      --recursive                                          Whether input directories should be explored recursively.
      --filename-filter <FILENAME-FILTER>                  Pattern that the filenames in input directories should follow ('*' and '?' wildcard) [may be repeated]
      --min-pixel-size <MIN-PIXEL-SIZE>                    Minimum pixel size in term of geospatial extent per pixel (resolution) that a raster should have to be selected.
      --max-pixel-size <MAX-PIXEL-SIZE>                    Maximum pixel size in term of geospatial extent per pixel (resolution) that a raster should have to be selected.
      --location-name <LOCATION-NAME>                      Name of the field with the raster path (default: location)
      --absolute-path                                      Whether the path to the input datasets should be stored as an absolute path
      --dst-crs <DST-CRS>                                  Destination CRS
      --metadata <KEY>=<VALUE>                             Add dataset metadata item [may be repeated]
      --source-crs-field-name <SOURCE-CRS-FIELD-NAME>      Name of the field to store the CRS of each dataset
      --source-crs-format <SOURCE-CRS-FORMAT>              Format in which the CRS of each dataset must be written. SOURCE-CRS-FORMAT=auto|WKT|EPSG|PROJ (default: auto)

## Description

gdal raster index creates a vector dataset with a record for each input raster file, an attribute containing the filename, and a polygon geometry outlining the raster. This output is suitable for use with MapServer as a raster tileindex

See gdal driver gti create for an extension of this command that create files to be used as input for the GTI driver.

The following options are available:

### Standard options

-f, --of, --format, --output-format <OUTPUT-FORMAT>

  Which output vector format to use. Allowed values may be given by `gdal --formats | grep vector | grep rw | sort`

--co <NAME>=<VALUE>

  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 <NAME>=<VALUE>

  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 <LAYER>

  Provides a name for the output vector layer.

--recursive

  Whether input directories should be explored recursively.

--filename-filter <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 "*.tif,*.tiff"`

--min-pixel-size <val>

  Minimum pixel size in term of geospatial extent per pixel (resolution) that a raster should have to be selected. The pixel size is evaluated after reprojection of its extent to the target CRS defined by `--dst-crs`.

--max-pixel-size <val>

  Maximum pixel size in term of geospatial extent per pixel (resolution) that a raster should have to be selected. The pixel size is evaluated after reprojection of its extent to the target CRS defined by `--dst-crs`.

--location-name <LOCATION-NAME>

  The output field name to hold the file path/location to the indexed rasters. The default field name is `location`.

--absolute-path

  The absolute path to the raster files is stored in the index file. By default the raster filenames will be put in the file exactly as they are specified on the command line.

--dst-crs <DST-CRS>

  Geometries of 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 rasters.

--source-crs-field-name <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`.

--metadata <KEY>=<VALUE>

  Write an arbitrary layer metadata item, for formats that support layer metadata. This option may be repeated.

### Advanced options

--oo <NAME>=<VALUE>

  Dataset open option (format specific).

  May be repeated.

--if <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 image that the utility found in the `doq` folder. Each record holds information that points to the location of the image and also a bounding rectangle shape showing the bounds of the image:

    gdal raster index doq/*.tif doq_index.gpkg

### Example 2

The `--dst-crs` option can also be used to transform all input raster geometries into the same output projection:

    gdal raster index --dst-crs EPSG:4326 --source-crs-field-name=src_srs *.tif tile_index_mixed_crs.gpkg