 |
|
| |
GDAL-VECTOR_CONCAT(1) |
GDAL |
GDAL-VECTOR_CONCAT(1) |
gdal-vector_concat - Concatenate vector datasets
Added in version 3.11.
Usage: gdal vector concat [OPTIONS] <INPUT>... <OUTPUT>
Concatenate vector datasets.
Positional arguments:
-i, --input <INPUT> Input vector datasets [1.. values] [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]
--progress Display 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 layer is allowed
--append Whether appending to existing layer is allowed
--mode <MODE> Determine the strategy to create output layers from source layers . MODE=merge-per-layer-name|stack|single (default: merge-per-layer-name)
--output-layer <OUTPUT-LAYER> Name of the output vector layer (single mode), or template to name the output vector layers (stack mode)
--source-layer-field-name <SOURCE-LAYER-FIELD-NAME> Name of the new field to add to contain identificoncation of the source layer, with value determined from 'source-layer-field-content'
--source-layer-field-content <SOURCE-LAYER-FIELD-CONTENT> A string, possibly using {AUTO_NAME}, {DS_NAME}, {DS_BASENAME}, {DS_INDEX}, {LAYER_NAME}, {LAYER_INDEX}
--field-strategy <FIELD-STRATEGY> How to determine target fields from source fields. FIELD-STRATEGY=union|intersection (default: union)
-s, --src-crs <SRC-CRS> Source CRS
-d, --dst-crs <DST-CRS> Destination CRS
Advanced Options:
--if, --input-format <INPUT-FORMAT> Input formats [may be repeated]
--oo, --open-option <KEY>=<VALUE> Open options [may be repeated]
gdal vector concat concatenates several source
datasets.
It has 3 main modes:
- --mode = merge-per-layer-name (the default). The output
dataset generated by the command will contain as many layers as there are
different layer names in the source datasets. For example if there are 2
datasets, one with layers a and b, and the other one with
layers b and c, 3 output layers will be created: a,
b (merging the 2 source layers) and c.
- --mode = stack. The output dataset generated by the command
will contain as many layers as there are layers in the source datasets.
For example if there are 2 datasets ds1 (with layers a and
b) and ds2 (with layers b and c), 4 output
layers will be created: ds1_a, ds1_b, ds2_b and
ds2_c.
- --mode = single. The output dataset generated by the command
will contain one single layer, merging all layers in the source
datasets.
When an output layer merges several source layer, by default the
resulting schema will contain the union of all source fields. It is possible
to select only the intersection with the --field-strategy set to
intersection. Regarding the resulting CRS, by default the CRS of the
source layer will be used as the target CRS, and features of other source
layers that do no match this CRS will be reprojected to it. --dst-crs
can be used to select a given destination CRS.
This command can also be used as the first step of gdal vector
pipeline.
- --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.
- --overwrite
- Allow program to overwrite existing target file or dataset. Otherwise, by
default, gdal errors out if the target file or dataset already
exists.
- --update
- Whether the output dataset must be opened in update mode. Implies that it
already exists. This mode is useful when adding new layer(s) to an already
existing dataset.
- --overwrite-layer
- Whether overwriting existing layer(s) is allowed.
- --append
- Whether appending features to existing layer(s) is allowed
- --output-layer
<OUTPUT-LAYER>
- Name of the output vector layer (in single mode, and the default is
"merged"), or template to name the output vector layers in
stack mode (the default value is {AUTO_NAME}). Not allowed
in merge-per-layer-name mode.
The template in stack mode can be a string with the
following variables that will be substituted with a value computed from
the input layer being processed:
- {AUTO_NAME}: equivalent to {DS_BASENAME}_{LAYER_NAME} if
both values are different, or {LAYER_NAME} when they are identical
(case of shapefile).
- {DS_NAME}: name of the source dataset
- {DS_BASENAME}: base name of the source dataset
- {DS_INDEX}: index of the source dataset
- {LAYER_NAME}: name of the source layer
- {LAYER_INDEX}: index of the source layer
- --source-layer-field-content
<SOURCE-LAYER-FIELD-CONTENT>
- If specified, the schema of the target layer will be extended with a new
field (whose name is given by --source-layer-field-name, or
source_ds_lyr otherwise), whose content is determined by the
specified template (see --output-layer for variables that can be
used).
- --field-strategy
union|intersection
- Determines how the schema of the target layer is built from the schemas of
the input layers:
- union (default) to use a super-set of all the fields from all
source layers.
- intersection to use a sub-set of all the common fields from all
source layers.
- -s, --src-crs
<SRC-CRS>
- Set source spatial reference. If not specified the SRS found in the input
dataset will be used.
The coordinate reference systems that can be passed are
anything supported by the OGRSpatialReference.SetFromUserInput() call,
which includes EPSG Projected, Geographic or Compound CRS (i.e.
EPSG:4296), a well known text (WKT) CRS definition, PROJ.4 declarations,
or the name of a .prj file containing a WKT CRS definition.
Starting with GDAL 2.2, if the SRS has an explicit vertical
datum that points to a PROJ.4 geoidgrids, and the input dataset is a
single band dataset, a vertical correction will be applied to the values
of the dataset.
- -d, --dst-crs
<SRC-CRS>
- Set destination spatial reference.
The coordinate reference systems that can be passed are
anything supported by the OGRSpatialReference.SetFromUserInput() call,
which includes EPSG Projected, Geographic or Compound CRS (i.e.
EPSG:4296), a well known text (WKT) CRS definition, PROJ.4 declarations,
or the name of a .prj file containing a WKT CRS definition.
Starting with GDAL 2.2, if the SRS has an explicit vertical
datum that points to a PROJ.4 geoidgrids, and the input dataset is a
single band dataset, a vertical correction will be applied to the values
of the 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.
gdal vector concat --stack *.shp out.gpkg
Concatenate the content of france.shp and
germany.shp in merged.shp, reprojecting them to ETRS89, and
add a 'country' field to each feature whose value is 'france' or 'germany'
depending where it comes from:
gdal vector concat --single --source-layer-field-name=country --dst-crs=EPSG:4258 france.shp germany.shp merged.shp
Even Rouault <even.rouault@spatialys.com>
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|