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

  
 
  

home | help
OGRMERGE(1)			      GDAL			     OGRMERGE(1)

NAME
     ogrmerge -  Merge several vector datasets into a single one.

SYNOPSIS
	ogrmerge [--help] [--help-general]
		    -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 the -single option:

	[-field_strategy FirstLayer|Union|Intersection]
	[-src_layer_field_name <name>]
	[-src_layer_field_content <layer_name_template>]

DESCRIPTION
     ogrmerge takes as input several vector datasets, each of them having one or
     several vector layers, and copies them into a target dataset.

     There are essentially two modes:

     * the  default  one, where each input vector layer, is copied as a separate
       layer into the target dataset

     * another one, activated with the -single switch, where the content of  all
       input  vector layers is appended into a single target layer. This assumes
       that the schema of those vector layers is more or less the same.

     Internally this generates a VRT -- OGR Virtual Format file, and if the out-
     put format is not VRT, final translation is done with ogr2ogr or  gdal.Vec-
     torTranslate().  So,  for	advanced  uses,  output to VRT, potential manual
     editing of it and ogr2ogr can be done.

     NOTE:
	ogrmerge is a Python utility, and is only available if GDAL Python bind-
	ings are available.

     TIP:
	Equivalent in new "gdal" command line interface:

	See gdal vector concat.

     --help
	    Show this help message and exit

     --help-general
	    Gives a brief usage message for the generic GDAL commandline options
	    and exit.

     -o <out_dsname>
	    Output dataset name. Required.

     <src_dsname>
	    One or several input vector datasets. Required

     -f <format>
	    Select the output format. If not specified, the  format  is  guessed
	    from  the  extension  (previously was ESRI Shapefile). Use the short
	    format name

     -single
	    If specified, all input vector layers will be merged into  a  single
	    one.

     -nln <layer_name_template>
	    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 substituted with  a
	    value computed from the input layer being processed:

	    * {AUTO_NAME}: equivalent to {DS_BASENAME}_{LAYER_NAME} if both val-
	      ues  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

     -update
	    Open an existing dataset in update mode.

     -overwrite_ds
	    Overwrite the existing dataset if it already exists (for file  based
	    datasets)

     -append
	    Open  an  existing	dataset in update mode, and if output layers al-
	    ready exist, append the content of input layers to them.

     -overwrite_layer
	    Open an existing dataset in update mode, and if  output  layers  al-
	    ready exist, replace their content with the one of the input layer.

     -src_geom_type <geom_type_name>[,<geom_type_name>]...
	    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, MULTIPOLY-
	    GON, GEOMETRYCOLLECTION, CIRCULARSTRING,  CURVEPOLYGON,  MULTICURVE,
	    MULTISURFACE, CURVE, SURFACE, TRIANGLE, POLYHEDRALSURFACE and TIN.

     -dsco <NAME>=<VALUE>
	    Dataset creation option (format specific)

     -lco <NAME>=<VALUE>
	    Layer creation option (format specific)

     -a_srs <srs_def>
	    Assign an output SRS

     -t_srs <srs_def>
	    Reproject/transform to this SRS on output

     -s_srs <srs_def>
	    Override source SRS

     -progress
	    Display  progress  on  terminal. Only works if input layers have the
	    "fast feature count" capability.

     -skipfailures
	    Continue after a failure, skipping the failed feature.

     -field_strategy FirstLayer|Union|Intersection
	    Only used with -single. Determines how  the  schema  of  the  target
	    layer  is  built from the schemas of the input layers. May be First-
	    Layer 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.

     -src_layer_field_name <name>
	    Only used with -single. If specified, the schema of the target layer
	    will  be  extended	with a new field 'name', whose content is deter-
	    mined by -src_layer_field_content. See Example 3.

     -src_layer_field_content <layer_name_template>
	    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_tem-
	    plate is the same as for -nln.

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: Creating a VRT with a layer for each input shapefile
	ogrmerge -o merged.vrt *.shp

   Example 2: Creating a GeoPackage with a layer for each input shapefile
	ogrmerge -o merged.gpkg *.shp

   Example 3: Adding a field to indicate the source layer
     Concatenate  the  content	of france.shp and germany.shp in merged.shp, and
     add a 'country' field to each feature whose value is 'france' or  'germany'
     depending where it comes from:

	ogrmerge -single -o merged.shp france.shp germany.shp -src_layer_field_name country

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

COPYRIGHT
     1998-2026

				  Jun 05, 2026			     OGRMERGE(1)

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

home | help