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

NAME

       gdal-vector-make-valid - Fix validity of geometries of a vector dataset

       Added in version 3.12.

SYNOPSIS

          Usage: gdal vector make-valid [OPTIONS] <INPUT> <OUTPUT>

          Fix validity of geometries of a vector dataset.

          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
            --active-layer <ACTIVE-LAYER>                        Set active layer (if not specified, all)
            --active-geometry <ACTIVE-GEOMETRY>                  Geometry field name to which to restrict the processing (if not specified, all)
            --method <METHOD>                                    Algorithm to use when repairing invalid geometries.. METHOD=linework|structure (default: linework)
            --keep-lower-dim                                     Keep components of lower dimension after MakeValid()

          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  make-valid  ensures  that  geometries  are valid regarding the rules of the Simple Features
       specification.

       It        runs        the         OGRGeometry::MakeValid()         operation,         followed         by
       OGRGeometryFactory::removeLowerDimensionSubGeoms() (unless --keep-lower-dim is set)

       It can also be used as a step of gdal vector pipeline.

       NOTE:
          This command requires a GDAL build against the GEOS library.

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

       --active-layer <ACTIVE-LAYER>
              Set the active layer. When it is specified, only the layer specified by its name will  be  subject
              to the processing. Other layers will be not modified.  If this option is not specified, all layers
              will be subject to the processing.

       --active-geometry <ACTIVE-GEOMETRY>
              Set  the  active  geometry  field from its name. When it is specified, only the specified geometry
              field will be subject to the processing. Other geometry fields will  be  not  modified.   If  this
              option  is  not specified, all geometry fields will be subject to the processing.  This option can
              be combined together with --active-layer.

       --method=linework|structure
              Algorithm to use when repairing invalid geometries.

              The default linework method combines all rings into a set of noded lines and then  extracts  valid
              polygons from that linework. This method keeps all input vertices.

              The  structure  method  (only available with GEOS >= 3.10) first makes all rings valid then merges
              shells and subtracts holes from shells to generate valid result. It assumes that holes and  shells
              are correctly categorized.

       --keep-lower-dim
              Keep  components  of  lower  dimension  after  MakeValid().  For example, MakeValid() may return a
              GeometryCollection of a Polygon and a LineString from  a  Polygon  input.   By  default  only  the
              Polygon would be returned. Setting this option will return the GeometryCollection.

   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.

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.

EXAMPLES

   Example 1: Basic use of make-valid
          $ gdal vector make-valid in.gpkg out.gpkg --overwrite

AUTHOR

       Even Rouault <even.rouault@spatialys.com>

COPYRIGHT

       1998-2025

                                                  Nov 07, 2025                         GDAL-VECTOR-MAKE-VALID(1)