Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GDAL-VECTOR-CHECK-GEOMETRY(1)	      GDAL	   GDAL-VECTOR-CHECK-GEOMETRY(1)

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] [not available in pipelines]
	  -o, --output <OUTPUT> 			       Output vector dataset [required] [not available in pipelines]

	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 or warning message) [not available in pipelines]

	Options:
	  -l, --layer, --input-layer <INPUT-LAYER>	       Input layer name(s) [may be repeated] [not available in pipelines]
	  -f, --of, --format, --output-format <OUTPUT-FORMAT>  Output format ("GDALG" allowed) [not available in pipelines]
	  --co, --creation-option <KEY>=<VALUE> 	       Creation option [may be repeated] [not available in pipelines]
	  --lco, --layer-creation-option <KEY>=<VALUE>	       Layer creation option [may be repeated] [not available in pipelines]
	  --overwrite					       Whether overwriting existing output dataset is allowed [not available in pipelines]
	  --update					       Whether to open existing dataset in update mode [not available in pipelines]
	  --overwrite-layer				       Whether overwriting existing output layer is allowed [not available in pipelines]
	  --append					       Whether appending to existing layer is allowed [not available in pipelines]
							       Mutually exclusive with --upsert
	  --output-layer <OUTPUT-LAYER> 		       Output layer name [not available in pipelines]
	  --skip-errors 				       Skip errors when writing features [not available in pipelines]
	  --no-create-empty-layers			       Avoid creating layers to which no features will be written [not available in pipelines]
	  --include-field <INCLUDE-FIELD>		       Fields from input layer to include in output (special values: ALL and NONE) (default: NONE) [may be repeated]
	  --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] [not available in pipelines]
	  --oo, --open-option <KEY>=<VALUE>		       Open options [may be repeated] [not available in pipelines]
	  --output-oo, --output-open-option <KEY>=<VALUE>      Output open options [may be repeated] [not available in pipelines]
	  --upsert					       Upsert features (implies 'append') [not available in pipelines]
							       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-in-
       tersection 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  multi-
       ple 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.  For more information about validity test-
     ing  performed  by gdal vector check-geometry, and examples of reported er-
     rors, see Geometry Validity.
       [image] Error locations reported by gdal vector check-geometry for  Poly-
       gon, MultiPolyon, and LineString inputs..UNINDENT

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

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. Conse-
	quently a in-memory temporary dataset will be generated, which may cause
	significant processing time at opening.

PROGRAM-SPECIFIC 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-field
	    Added in version 3.12.1.

	    Optional field(s) to copy from the input  features	to  the  output.
	    Since  GDAL  3.13,	the  value ALL can be used to include all fields
	    from the source layer.

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

     --input-layer <INPUT-LAYER>
	    Specifies the name of one or more layers to process. By default, all
	    layers will be processed.

     --output-layer
	    Specifies  the  name of the layer to which features will be written.
	    If not specified and there is a single input layer,  the  name  "er-
	    ror_location"  will be used. If not specified and there are multiple
	    input layers, features for each input layer will  be  written  to  a
	    separate output layer in the format "error_location_{INPUT_LAYER}".

STANDARD OPTIONS
     --append
	    Whether  appending	features  to existing layer(s) is allowed.  This
	    also creates the output dataset if it does not exist yet.

     --co, --creation-option <NAME>=<VALUE>
	    Many formats have one or more optional dataset creation options that
	    can be used to control particulars about the file created.	For  in-
	    stance,  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 op-
	    tions supported for a format can be listed with the  --formats  com-
	    mand line option but the documentation for the format is the defini-
	    tive  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.

     --if, --input-format <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 sev-
	    eral 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.

     --lco, --layer-creation-option <NAME>=<VALUE>
	    Many formats have one or more optional layer creation  options  that
	    can  be used to control particulars about the layer created. For in-
	    stance, the GeoPackage driver supports  layer  creation  options  to
	    control  the feature identifier or geometry column name, setting the
	    identifier or description, etc.

	    May be repeated.

	    The layer creation options available vary by format driver, and some
	    simple formats have no layer creation options at all. A list of  op-
	    tions  supported  for a format can be listed with the --formats com-
	    mand line option but the documentation for the format is the defini-
	    tive source of information on driver creation options.   See  Vector
	    drivers format specific documentation for legal creation options for
	    each format.

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

     --no-create-empty-layers
	    Added in version 3.13.

	    Avoid creating layers to which no features will be written.

     --oo, --open-option <NAME>=<VALUE>
	    Dataset open option (format specific).

	    May be repeated.

     -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

     --output-open-option, --output-oo <NAME>=<VALUE>
	    Added in version 3.12.

	    Dataset open option for output dataset (format specific).

	    May be repeated.

     --overwrite
	    Allow program to overwrite existing target file or dataset.   Other-
	    wise,  by default, gdal errors out if the target file or dataset al-
	    ready exists.

     --overwrite-layer
	    Whether overwriting the existing output vector layer is allowed.

     --skip-errors
	    Added in version 3.12.

	    Whether failures to write feature(s) should be  ignored.  Note  that
	    this  option sets the size of the transaction unit to one feature at
	    a time, which may cause severe slowdown when  inserting  into  data-
	    bases.

     --update
	    Whether to open an existing output dataset in update mode.

     --upsert
	    Added in version 3.12.

	    Variant of --append where the OGRLayer::UpsertFeature() operation is
	    used  to  insert  or  update  features  instead  of  appending  with
	    OGRLayer::CreateFeature().

	    This is currently  implemented  only  in  a  few  drivers:	GPKG  --
	    GeoPackage vector, Elasticsearch: Geographically Encoded Objects for
	    Elasticsearch  and	MongoDBv3  (drivers that implement upsert expose
	    the GDAL_DCAP_UPSERT capability).

	    The upsert operation uses the FID of the input feature, when  it  is
	    set (and the FID column name is not the empty string), as the key to
	    update existing features. It is crucial to make sure that the FID in
	    the source and target layers are consistent.

	    For  the  GPKG  driver, it is also possible to upsert features whose
	    FID is unset or non-significant (the --unset-fid option of gdal vec-
	    tor edit can be used to ignore the FID  from  the  source  feature),
	    when there is a UNIQUE column that is not the integer primary key.

RETURN STATUS CODE
     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  suc-
     cessful execution).

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

				  Jun 05, 2026	   GDAL-VECTOR-CHECK-GEOMETRY(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gdal-vector-check-geometry&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help