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

FreeBSD Manual Pages

  
 
  

home | help
GDAL-VECTOR-CLIP(1)		      GDAL		     GDAL-VECTOR-CLIP(1)

NAME
     gdal-vector-clip - Clip a vector dataset

     Added in version 3.11.

SYNOPSIS
	Usage: gdal vector clip [OPTIONS] <INPUT> <OUTPUT>

	Clip a vector dataset.

	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]
	  --active-layer <ACTIVE-LAYER> 		       Set active layer (if not specified, all)
	  --bbox <BBOX> 				       Clipping bounding box as xmin,ymin,xmax,ymax
							       Mutually exclusive with --geometry, --like
	  --bbox-crs <BBOX-CRS> 			       CRS of clipping bounding box
	  --geometry <GEOMETRY> 			       Clipping geometry (WKT or GeoJSON)
							       Mutually exclusive with --bbox, --like
	  --geometry-crs <GEOMETRY-CRS> 		       CRS of clipping geometry
	  --like <DATASET>				       Dataset to use as a template for bounds
							       Mutually exclusive with --bbox, --geometry
	  --like-sql <SELECT-STATEMENT> 		       SELECT statement to run on the 'like' dataset
							       Mutually exclusive with --like-where
	  --like-layer <LAYER-NAME>			       Name of the layer of the 'like' dataset
	  --like-where <WHERE-EXPRESSION>		       WHERE SQL clause to run on the 'like' dataset
							       Mutually exclusive with --like-sql

	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  clip can be used to clip a vector dataset using georeferenced
     coordinates.

     Either --bbox, --geometry or --like must be specified.

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

     Clipping sometimes results in geometries that are of a type not  compatible
     with  the	geometry  type. This program splits multi-geometries or geometry
     collections into their parts for layers that are of a single geometry  type
     (such  as	point, linestring, polygon) and only keeps the parts that are of
     that type. It also promotes single geometry types (e.g. polygons) to  multi
     geometry  types  (e.g.  multi-polygons).  If the user needs to preserve any
     type of intersection, the layer must  use	the  wkbUnknown  (any  geometry)
     type.

PROGRAM-SPECIFIC OPTIONS
     --bbox <xmin>,<ymin>,<xmax>,<ymax>
	    Bounds  to	which to clip the dataset. They are assumed to be in the
	    CRS of the input dataset, unless --bbox-crs is specified.  The X and
	    Y axis are the "GIS friendly ones", that is X is longitude or  east-
	    ing,  and Y is latitude or northing.  Mutually exclusive with --like
	    and --geometry.

     --bbox-crs <CRS>
	    CRS in which the <xmin>,<ymin>,<xmax>,<ymax> values  of  --bbox  are
	    expressed.	If not specified, it is assumed to be the CRS of the in-
	    put dataset.  Note that specifying --bbox-crs does not involve doing
	    vector reprojection.  Instead, the bounds are reprojected  from  the
	    bbox-crs to the CRS of the input dataset.

     --geometry <WKT_or_GeoJSON>
	    Geometry  as  a  WKT or GeoJSON string to which to clip the dataset.
	    If the input geometry is GeoJSON, its CRS is assumed  to  be  WGS84,
	    unless   there   is  a  CRS  defined  in  the  GeoJSON  geometry  or
	    --geometry-crs is specified.  If the input geometry is WKT, its  CRS
	    is assumed to be the one of the input dataset, unless --geometry-crs
	    is specified.  The X and Y axis are the "GIS friendly ones", that is
	    X  is longitude or easting, and Y is latitude or northing.	Mutually
	    exclusive with --bbox and --like.

     --geometry-crs <CRS>
	    CRS in which the coordinates values of --geometry are expressed.  If
	    not  specified,  it  is  assumed to be the CRS of the input dataset.
	    Note that specifying --geometry-crs does not  involve  doing  vector
	    reprojection.   Instead,  the bounds are reprojected from the geome-
	    try-crs to the CRS of the input dataset.

     --like <DATASET>
	    Vector or raster dataset to use as a template for  bounds.	 If  the
	    specified  dataset	is  a raster, its rectangular bounds are used as
	    the clipping  geometry.   If  the  specified  dataset  is  a  vector
	    dataset,  its  polygonal geometries are unioned together to form the
	    clipping geometry (beware that the result union might not be perfect
	    if there are gaps between individual polygon features).  If  several
	    layers  are  present,  --like-sql or --like-layer must be specified.
	    Mutually exclusive with --bbox and --geometry.

     --like-layer <LAYER-NAME>
	    Select the named layer from the vector clip dataset.   Mutually  ex-
	    clusive with --like-sql

     --like-sql <SELECT-STATEMENT>
	    Select  desired geometries from the vector clip dataset using an SQL
	    query.  e.g SELECT geom FROM my_layer WHERE country = 'France'.  Mu-
	    tually exclusive with --like-layer and --like-where

     --like-where <WHERE-EXPRESSION>
	    Restrict desired geometries from vector clip dataset layer based  on
	    an attribute query.  e.g country = 'France'.

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

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

     --input-layer <INPUT-LAYER>
	    Specifies the name of one or more layers to process. By default, all
	    layers will be processed. To read and  write  all  layers  but  only
	    process a subset, use --active-layer.

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

     --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-layer <NAME>
	    Specifies  the  name of the layer to which features will be written.
	    If not specified, output layer names will be the same as input layer
	    names.

     --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: Clip a GeoPackage file to the bounding box from longitude 2, lati-
     tude 49, to longitude 3, latitude 50 in WGS 84
	$ gdal vector clip --bbox=2,49,3,50 --bbox-crs=EPSG:4326 in.gpkg out.gpkg --overwrite

AUTHOR
     Even Rouault <even.rouault@spatialys.com>

COPYRIGHT
     1998-2026

				  Jun 05, 2026		     GDAL-VECTOR-CLIP(1)

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

home | help