OSMIUM-MERGE-CHANGES(1)
β¨ OSMIUM-MERGE-CHANGES π
okay bestie, so this is the manual page for osmium-merge-changes (that's the osmium-merge-changes(1) one, section 1, the real deal) and it is literally here to help you smash a bunch of OSM change files together into one big gorgeous change file. no cap. π«Ά
πΈ SYNOPSIS
osmium merge-changes [OPTIONS] OSM-CHANGE-FILE...
π¦ DESCRIPTION
Merges the content of all change files given on the command line into one large change file. iconic behaviour, honestly. β¨
Objects are sorted by type, ID, version, and timestamp so it doesn't matter in what order the change files are given or in what order they contain the data. (If you are using change files of extracts this is not necessarily true and you must specify the change files on the command line in the correct order from oldest to newest. This is because change files from extracts can contain multiple different object versions with the same version and timestamp!) π¨
This command can only be used to merge change files from different points in time for the planet or for the same extract. It can not be used to merge changes from different, possibly overlapping extracts into one larger change for the whole area of all extracts, because it will not produce the correct result in all cases. This is not a limit of this command, but is due to the limited information available in change files. it's giving "the data just isn't there bestie, don't blame the tool". π
This commands reads its input file(s) only once and writes its output file in one go so it can be streamed, ie. it can read from STDIN and write to STDOUT. streaming queen π
π OPTIONS
-s,--simplifyβ Only write the last version of any object to the output. For an object created in one of the change files and removed in a later one, the deleted version of the object will still appear because it is the latest version. (so yes, the ghost of it stays, that IS the latest version, slay) π»
β COMMON OPTIONS
-h,--helpβ Show usage help. your lil rescue text when you're lost π«Ά-v,--verboseβ Set verbose mode. The program will output information about what it is doing to STDERR. it's basically narrating its own life π£οΈ--progressβ Show progress bar. Usually a progress bar is only displayed if STDOUT and STDERR are detected to be TTY. With this option a progress bar is always shown. Note that a progress bar will never be shown when reading from STDIN or a pipe.--no-progressβ Do not show progress bar. Usually a progress bar is displayed if STDOUT and STDERR are detected to be a TTY. With this option the progress bar is suppressed. Note that a progress bar will never be shown when reading from STDIN or a pipe.
π INPUT OPTIONS
-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. Seeosmium-file-formats(5)or the libosmium manual for details.
π OUTPUT OPTIONS
-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. Seeosmium-file-formats(5)or the libosmium manual for details.--fsyncβ Callfsyncafter writing the output file to force flushing buffers to disk. making sure your data is actually, physically, for-real safe πΎ--generator=NAMEβ 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. no accidental deletion energy allowed here π--output-header=OPTION=VALUEβ Add output header option. This command line option can be used multiple times for differentOPTIONs. See theosmium-output-headers(5)man page for a list of available header options. For some commands you can use the special format"OPTION!"(ie. an exclamation mark after theOPTIONand no value set) to set the value to the same as in the input file.
π DIAGNOSTICS
osmium merge-changes exits with exit code
0β if everything went alright, π1β if there was an error processing the data, or2β if there was a problem with the command line arguments. π
π§ MEMORY USAGE
osmium merge-changes keeps the contents of all the change files in main memory. This will take roughly 10 times as much memory as the files take on disk in .osc.bz2 format. bestie it is HUNGRY. feed it RAM. π₯
π EXAMPLES
Merge all changes in changes directory into all.osc.gz:
osmium merge-changes -o all.osc.gz changes/*.gz
Because osmium merge-changes sorts its input, you can also use it to sort just a single change file:
osmium merge-changes unsorted.osc.gz -o sorted.osc.gz
πΈ SEE ALSO
osmium(1),osmium-file-formats(5),osmium-output-headers(5),osmium-merge(1)- Osmium website
π COPYRIGHT
Copyright (C) 2013-2026 Jochen Topf <jochen@topf.org>.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
π CONTACT
If you have any questions or want to report a bug, please go to https://osmcode.org/contact.html
π AUTHORS
Jochen Topf <jochen@topf.org>.
okay that's the whole thing bestie, version 1.19.1, no cap, go merge those changes π
β¨π¦
π¦ where this page comes from
- fedora 44: osmium-tool 1.19.1-1.fc44 Β· GPL-3.0-only
- nixos 26.05: osmium-tool 1.19.1
- nixpkgs unstable: osmium-tool 1.19.1
- ubuntu stonking: osmium-tool 1.19.1-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms