Manual pages


osmium-merge - merge several sorted OSM files into one


osmium merge [OPTIONS] OSM-FILE...


Merges the content of all OSM files given on the command line into one large OSM file. Objects in all files must be sorted by type, ID, and version. The results will also be sorted in the same way. Objects that appear in multiple input files will only be in the output once.

If there is only a single input file, its contents will be copied to the output.

If there are different versions of the same object in the input files, all versions will appear in the output. So this command will work fine with history files as input creating a new history file. Do not use this command to merge non-history files with data from different points in time. It will not work correctly.

While merging only object type, id, and version are compared. If you have objects with the same type, id, and version but different other data, the result of this command is undefined.


-h, --help
Show usage help.
-v, --verbose
Set verbose mode. The program will output information about what it is doing to stderr.


-F, --input-format=FORMAT
The format of the input file(s). Can be used to set the input format if it can't be autodetected from the file name(s). This will set the format for all input files, there is no way to set the format for some input files only. See osmium-file-formats(5) or the libosmium manual for details.


-f, --output-format=FORMAT
The format of the output file. Can be used to set the output file format if it can't be autodetected from the output file name. See osmium-file-formats(5) or the libosmium manual for details.
Call fsync after writing the output file to force flushing buffers to disk.
The name and version of the program generating the output file. It will be added to the header of the output file. Default is "osmium/" and the version of osmium.
-o, --output=FILE
Name of the output file. Default is '-' (STDOUT).
-O, --overwrite
Allow an existing output file to be overwritten. Normally osmium will refuse to write over an existing file.
Add output header option. This option can be given several times. See the libosmium manual for a list of allowed header options.


osmium merge exits with exit code

if everything went alright,
if there was an error processing the data, or
if there was a problem with the command line arguments.


osmium merge doesn't keep a lot of data in memory, but if you are merging many files, the buffers might take a noticeable amount of memory.


Merge several extracts into one:

osmium merge washington.pbf oregon.pbf california.pbf -o westcoast.pbf