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

NAME

       gdal-vector-buffer - Compute a buffer around geometries of a vector dataset

       Added in version 3.12.

SYNOPSIS

          Usage: gdal vector buffer [OPTIONS] <INPUT> <OUTPUT> <DISTANCE>

          Compute a buffer around geometries of a vector dataset.

          Positional arguments:
            -i, --input <INPUT>                                  Input vector datasets [required]
            -o, --output <OUTPUT>                                Output vector dataset [required]
            --distance <DISTANCE>                                Distance to which to extend the geometry. [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)
            --endcap-style <ENDCAP-STYLE>                        Endcap style.. ENDCAP-STYLE=round|flat|square (default: round)
            --join-style <JOIN-STYLE>                            Join style.. JOIN-STYLE=round|mitre|bevel (default: round)
            --mitre-limit <MITRE-LIMIT>                          Mitre ratio limit (only affects mitered join style). (default: 5)
            --quadrant-segments <QUADRANT-SEGMENTS>              Number of line segments used to approximate a quarter circle. (default: 8)
            --side <SIDE>                                        Sets whether the computed buffer should be single-sided or not.. SIDE=both|left|right (default: both)

          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  buffer  computes a POLYGON or MULTIPOLYGON that represents all points whose distance from a
       geometry/geography is less than or equal to a given distance. A negative distance  shrinks  the  geometry
       rather  than  expanding  it.  A  negative distance may shrink a polygon completely, in which case POLYGON
       EMPTY is returned. For points and lines negative distances always return empty results.

       See https://postgis.net/docs/ST_Buffer.html for graphical illustrations of the effect  of  the  different
       parameters.

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

       --distance <DISTANCE>
              Radius of the buffer around the input geometry.  The unit of  the  distance  is  in  georeferenced
              units of the source layer.

       --endcap-style round|flat|square
              Specifies the end cap style of the generated buffer.  Default is round.

       --join-style round|mitre|bevel
              Sets the join style for outside (reflex) corners between line segments.  Default is round.

       --mitre-limit <MITRE-LIMIT>
              Sets the limit on the mitre ratio used for very sharp corners.

              Default is 5.

              The  mitre  ratio  is  the  ratio  of the distance from the corner to the end of the mitred offset
              corner.  When two line segments meet at a sharp angle, a miter join will  extend  far  beyond  the
              original  geometry.   (and  in  the extreme case will be infinitely far.)  To prevent unreasonable
              geometry, the mitre limit allows controlling the maximum length of the join corner.  Corners  with
              a ratio which exceed the limit will be beveled.

       --quadrant-segments <QUADRANT-SEGMENTS>
              Sets the number of line segments used to approximate an angle fillet in round joins.

              This  determines  the  maximum  error  in the approximation to the true buffer curve.  The default
              value of 8 gives less than 2% max error in the buffer distance.  For a max error of < 1%, use QS =
              12.  For a max error of < 0.1%, use QS = 18.  The error is always less than  the  buffer  distance
              (in other words, the computed buffer curve is always inside the true curve).

       --side both|left|right
              Sets whether the computed buffer should be single-sided or on both side (default).

              left (resp. right) means that buffer is on the left-hand
                     (resp. right-hand) side of the line when following it in the order of its vertices.

              Single-side  buffering  is  only  applicable  to  LINESTRING geometry and does not affect POINT or
              POLYGON geometries, and the end cap style is forced to square.

   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.

EXAMPLES

   Example 1: Compute a buffer of one km around input geometries (assuming the CRS is in meters)
          $ gdal vector buffer --distance=1000 in.gpkg out.gpkg --overwrite

AUTHOR

       Even Rouault <even.rouault@spatialys.com>

COPYRIGHT

       1998-2025

                                                  Nov 07, 2025                             GDAL-VECTOR-BUFFER(1)