OSMIUM-APPLY-CHANGES(1)
β¨ osmium-apply-changes(1) β¨
okay bestie, gather round π this is the manual page for osmium-apply-changes, a lil tool from the osmium fam that does exactly one (1) thing and does it iconically: it takes your OSM change files and slaps them onto your OSM data file. periodt.
πΈ NAME πΈ
osmium-apply-changes β apply OSM change file(s) to OSM data file
π¦ SYNOPSIS π¦
osmium apply-changes [OPTIONS] OSM-DATA-FILE OSM-CHANGE-FILE...
osmium apply-changes [OPTIONS] OSM-HISTORY-FILE OSM-CHANGE-FILE...
π DESCRIPTION π
So here's the vibe: it merges the content of all your OSM change files together and then applies those changes to the OSM data or history file. that's it, that's the job, and it eats. π₯
Objects in the data or history file must be sorted by type, ID, and version. no cap. if they're not sorted, this is not gonna go how you want it to go.
Objects in change files, though? They do not need to be sorted β so it genuinely doesn't matter in what order you hand over the change files or in what order they contain the data. slay. π
β οΈ BUT. If you are using change files of extracts, that's not necessarily true, and you must specify the change files on the command line in the correct order from oldest to newest. The reason is that change files from extracts can contain multiple different object versions with the same version and timestamp! so like, order actually matters there. be careful bestie π
Changes can be applied to normal OSM data files or OSM history files with this command. File formats get autodetected from the file name suffixes β see the --with-history/-H option if that doesn't work out. π«
This command 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. streamer energy. π
π OPTIONS π
-H,--with-historyβ Update an OSM history file (instead of a normal OSM data file). Both input and output must be history files. This option is usually not necessary, because history files will be detected from their file name suffixes, but if that detection doesn't work, you can force this mode with this option. Can not be used together with the--locations-on-waysoption.--locations-on-waysβ Input has and output should have node locations on ways. Can be used to update files created by theosmium-add-locations-to-ways. See there for details on the format. Can not be used together with the--with-history/-Hoption.--redactβ Redact (patch) history files. Change files can contain any version of any object which will replace that version of that object from the input. This allows changing the history! This mode is for special use only, for instance to remove copyrighted or private data.
π that --redact one is main character energy and also lowkey dangerous β it rewrites history, literally. special use only, fr fr.
π COMMON OPTIONS π
-h,--helpβ Show usage help.-v,--verboseβ Set verbose mode. The program will output information about what it is doing toSTDERR.--progressβ Show progress bar. Usually a progress bar is only displayed ifSTDOUTandSTDERRare detected to be TTY. With this option a progress bar is always shown. Note that a progress bar will never be shown when reading fromSTDINor a pipe.--no-progressβ Do not show progress bar. Usually a progress bar is displayed ifSTDOUTandSTDERRare detected to be a TTY. With this option the progress bar is suppressed. Note that a progress bar will never be shown when reading fromSTDINor a pipe.
π INPUT OPTIONS π
-F,--input-format=FORMATβ The format of theOSM-DATA-FILEorOSM-HISTORY-FILE. Can be used to set the input format if it can't be autodetected from the file name. Seeosmium-file-formats(5)or the libosmium manual for details.--change-file-format=FORMATβ The format of theOSM-CHANGE-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 change files, there is no way to set the format for some change 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.--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.--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 apply-changes 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.
π MEMORY USAGE π
osmium apply-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.
π«Ά so like, if your change files are chunky, your RAM is gonna feel it. plan accordingly bestie.
β EXAMPLES β
Apply changes in 362.osc.gz to planet file and write result to new.osm.pbf:
osmium apply-changes --output=new.osm.pbf planet.osm.pbf 362.osc.gz
π SEE ALSO π
osmium(1),osmium-merge-changes(1),osmium-derive-changes(1),osmium-file-formats(5),osmium-output-headers(5)- 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 page, you ate it, no crumbs. this was version 1.19.1 of the OSMIUM-APPLY-CHANGES(1) manual, and that's the tea πβ¨π¦ go apply some changes bestie, you got this π«Ά
π¦ 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