GDAL
|
Merge several vector datasets into a single one.
ogrmerge.py -o out_dsname src_dsname [src_dsname]* [-f format] [-single] [-nln layer_name_template] [-update | -overwrite_ds] [-append | -overwrite_layer] [-src_geom_type geom_type_name[,geom_type_name]*] [-dsco NAME=VALUE]* [-lco NAME=VALUE]* [-s_srs srs_def] [-t_srs srs_def | -a_srs srs_def] [-progress] [-skipfailures] [--help-general] Options specific to -single: [-field_strategy FirstLayer|Union|Intersection] [-src_layer_field_name name] [-src_layer_field_content layer_name_template]
(Available since GDAL 2.2)
The ogrmerge.py script takes as input several vector datasets, each of them having one or several vector layers, and copy them in a target dataset.
There are essential two modes :
Internally this generates a VRT file, and if the output format is not VRT, final translation is done with ogr2ogr / gdal.VectorTranslate. So for advanced uses, output to VRT, potential manual editing of it and ogr2ogr can be done.
Output dataset name. Required.
One or several input vector datasets. Required
Select the output format. Starting with GDAL 2.3, if not specified, the format is guessed from the extension (previously was ESRI Shapefile). Use the short format name
If specified, all input vector layers will be merged into a single one.
Name of the output vector layer (in single mode, and the default is "merged"), or template to name the output vector layers in default mode (the default value is "{AUTO_NAME}"). The template can be a string with the following variables that will be susbstitued with a value computed from the input layer being processed:
Open an existing dataset in update mode.
Overwrite the existing dataset if it already exists (for file based datasets)
Open an existing dataset in update mode, and if output layers already exist, append the content of input layers to them.
Open an existing dataset in update mode, and if output layers already exist, replace their content with the one of the input layer.
Only take into account input layers whose geometry type match the type(s) specified. Valid values for geom_type_name are GEOMETRY, POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOINT, GEOMETRYCOLLECTION, CIRCULARSTRING, CURVEPOLYGON, MULTICURVE, MULTISURFACE, CURVE, SURFACE, TRIANGLE, POLYHEDRALSURFACE and TIN.
Dataset creation option (format specific)
Layer creation option (format specific)
Assign an output SRS
Reproject/transform to this SRS on output
Override source SRS
Display progress on terminal. Only works if input layers have the "fast feature count" capability.
Continue after a failure, skipping the failed feature.
Only used with -single. Determines how the schema of the target layer is built from the schemas of the input layers. May be FirstLayer to use the fields from the first layer found, Union to use a super-set of all the fields from all source layers, or Intersection to use a sub-set of all the common fields from all source layers. Defaults to Union.
Only used with -single. If specified, the schema of the target layer will be extended with a new field 'name', whose content is determined by -src_layer_field_content.
Only used with -single. If specified, the schema of the target layer will be extended with a new field (whose name is given by -src_layer_field_name, or 'source_ds_lyr' otherwise), whose content is determined by layer_name_template. The syntax of layer_name_template is the same as for -nln.
ogrmerge.py -f VRT -o merged.vrt *.shp
ogrmerge.py -f GPKG -o merged.gpkg *.shp
ogrmerge.py -single -o merged.shp france.shp germany.shp -src_layer_field_name country