osmium-getid man page

Get objects with the given IDs from the input and write them to the output.

IDs can be given on the command line (first case in synopsis), or read from text files with one ID per line (second case in synopsis), or read from OSM files (third cases in synopsis). A mixture of these cases is also allowed.

All objects with these IDs will be read from OSM-FILE and written to the output. If the option -r, --add-referenced is used all objects referenced from those objects will also be added to the output.

Objects will be written out in the order they are found in the OSM-FILE.

If the option -r, --add-referenced is not used, the input file is read only once, if it is used, the input file will possibly be read up to three times.

On the command line or in the ID file, the IDs have the form: TYPE-LETTER NUMBER. The type letter is 'n' for nodes, 'w' for ways, and 'r' for relations. If there is no type letter, 'n' for nodes is assumed (or whatever the --default-type option says). So "n13 w22 17 r21" will match the nodes 13 and 17, the way 22 and the relation 21.

The order in which the IDs appear does not matter. Identical IDs can appear multiple times on the command file or in the ID file(s).

On the command line, the list of IDs can be in separate arguments or in a single argument separated by spaces, tabs, commas (,), semicolons (;), forward slashes (/) or pipe characters (|).

In an ID file (option -i/--id-file) each line must start with an ID in the format described above. Lines can optionally contain a space character or a hash sign ('#') after the ID. Any characters after that are ignored. (This also allows files in OPL format to be read.) Empty lines are ignored.

Note that all objects will be taken from the OSM-FILE, the ID-OSM-FILE is only used to detect which objects to get. This might matter if there are different object versions in the different files.

The OSM-FILE can not be a history file unless the -H, --history option is used. Then all versions of the objects will be copied to the output.

If referenced objects are missing from the input file, the type and IDs of those objects is written out to stderr at the end of the program unless the -H, --history option was given.

Read IDs from text file instead of from the command line. Use the special name "-" to read from stdin. Each line of the file must start with an ID in the format described above. Lines can optionally contain a space character or a hash sign ('#') after the ID. This character and all following characters are ignored. (This allows files in OPL format to be read.) Empty lines are also ignored. This option can be used multiple times.

Show progress bar. Usually a progress bar is only displayed if STDERR is detected to be a 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 STDERR is 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.

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.