osmium-cat - Man Page
concatenate OSM files and convert to different formats
osmium cat [Options] OSM-FILE...
Concatenates all input files and writes the result to the output file. The data is not sorted in any way but strictly copied from input to output.
Because this program supports several different input and output formats, it can be used to convert OSM files from one format into another.
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.
Usually this is not the right command to merge two or more typical OSM files, see osmium merge for that.
- -c, --clean=ATTR
Clean the attribute (version, timestamp, changeset, uid, user), from the data before writing it out again. The attribute will be set to 0 (the user will be set to the empty string). This option can be given multiple times. Depending on the output format these attributes might show up as 0 or not show up at all.
- -t, --object-type=TYPE
Read only objects of given type (node, way, relation, changeset). By default all types are read. This option can be given multiple times.
Read all input files into memory and only then write out all the data. This will need a lot of memory and is usually slower than a normal copy. Used for timing the reading and writing phase separately.
- -h, --help
Show usage help.
- -v, --verbose
Set verbose mode. The program will output information about what it is doing to STDERR.
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.
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.
- -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 command line option can be used multiple times for different OPTIONs. See the osmium-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 the OPTION and no value set) to set the value to the same as in the input file.
osmium cat 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 cat does all its work on the fly and doesn’t keep much data in main memory.
Convert a PBF file to a compressed XML file:
osmium cat -o out.osm.bz2 in.osm.pbf
Concatenate all change files in the `changes' directory into one:
osmium cat -o all-changes.osc.gz changes/*.osc.gz
Copy nodes and ways from source to destination file:
osmium cat -o dest.osm.pbf source.osm.pbf -t node -t way
Remove changeset, uid, and user from a file to protect personal data:
osmium cat -c changeset -c uid -c user -o cleaned.osm.pbf data.osm.pbf
Copyright (C) 2013-2023 Jochen Topf <email@example.com>.
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.
If you have any questions or want to report a bug, please go to https://osmcode.org/contact.html
Jochen Topf <firstname.lastname@example.org>.