Provided by: gdal-bin_3.12.0+dfsg-1_amd64 bug

NAME

       gdal-vector-check-geometry - Check a dataset for invalid or non-simple geometries

       Added in version 3.12.

SYNOPSIS

          Usage: gdal vector check-geometry [OPTIONS] <INPUT> <OUTPUT>

          Check a dataset for invalid geometries

          Positional arguments:
            -i, --input <INPUT>                                  Input vector datasets [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]
            -q, --quiet                                          Quiet mode (no progress bar)

          Options:
            -l, --layer, --input-layer <INPUT-LAYER>             Input layer name(s) [may be repeated]
            -f, --of, --format, --output-format <OUTPUT-FORMAT>  Output format ("GDALG" allowed)
            --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
            --update                                             Whether to open existing dataset in update mode
            --overwrite-layer                                    Whether overwriting existing output is allowed
            --append                                             Whether appending to existing layer is allowed
                                                                 Mutually exclusive with --upsert
            --output-layer <OUTPUT-LAYER>                        Output layer name
            --skip-errors                                        Skip errors when writing features
            --include-valid                                      Include valid inputs in output, with empty geometry
            --geometry-field <GEOMETRY-FIELD>                    Name of geometry field to check

          Advanced Options:
            --if, --input-format <INPUT-FORMAT>                  Input formats [may be repeated]
            --oo, --open-option <KEY>=<VALUE>                    Open options [may be repeated]
            --output-oo, --output-open-option <KEY>=<VALUE>      Output open options [may be repeated]
            --upsert                                             Upsert features (implies 'append')
                                                                 Mutually exclusive with --append

DESCRIPTION

       gdal vector check-geometry checks that individual elements of a dataset are valid and simple according to
       the  OGC  Simple  Features standard. For each invalid or non-simple feature, it will output a description
       and, in most cases, a point location of the error.

       The following checks are performed, depending on the input geometry type:

       • Polygons and MultiPolygons are checked for validity. A single point error point will be  reported  even
         if there are multiple causes of invalidity.

       • LineStrings  and  MultiLineStrings  are checked for simplicity. All self-intersection locations will be
         reported if GDAL is built using version 3.14 or later of  the  GEOS  library.  With  earlier  versions,
         self-intersection locations are not reported.

       • GeometryCollections are checked that their individual elements are valid / simple. A single error point
         will be reported even if there are multiple causes of invalidity.

       • Other geometry types are not checked.

       Validity/simplicity  checking  is  performed by the GEOS library and should be consistent with results of
       software such as PostGIS, QGIS, and shapely that also use that library. GEOS does not  consider  repeated
       points to be a cause of invalidity or non-simplicity.

       WARNING:
          Curved  geometries are linearized before converting to GEOS. Linearized geometries may be valid/simple
          where the original geometries are not, and vice-versa.

   Standard options
       --geometry-field
              Specify the name of the geometry field to test, for layers having  multiple  geometry  fields.  By
              default the first geometry field will be used.

       --include-valid
              Include features for valid/simple geometries in the output, maintaining 1:1 correspondence between
              input and output features.

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

              May be repeated.

              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 --formats
              command  line  option but the documentation for the format is the definitive source of information
              on driver creation options.  See Vector drivers format specific documentation for  legal  creation
              options for each format.

              Note that dataset creation options are different from layer creation options.

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

   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.

GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET)

       This program supports serializing the command line as a JSON file using the  GDALG  output  format.   The
       resulting  file  can  then be opened as a vector dataset using the GDALG: GDAL Streamed Algorithm driver,
       and apply the specified pipeline in a on-the-fly / streamed way.

       NOTE:
          However this algorithm is not  natively  streaming  compatible.  Consequently  a  in-memory  temporary
          dataset will be generated, which may cause significant processing time at opening.

EXAMPLES

   Example 1: Print invalidity locations to console
          $ gdal vector check-geometry ne_10m_admin_0_countries.shp \
                   --quiet \
                   -f CSV \
                   --lco GEOMETRY=AS_XY \
                   --lco SEPARATOR=TAB \
                   /vsistdout/
          # X      Y       error
          # 35.6210871060001       23.1392929140001        Ring Self-intersection

AUTHOR

       Dan Baston <dbaston@gmail.com>

COPYRIGHT

       1998-2025

                                                  Nov 07, 2025                     GDAL-VECTOR-CHECK-GEOMETRY(1)