osmium-check-refs man page

osmium-check-refs — check referential integrity of OSM file


osmium check-refs [Options] OSM-DATA-FILE


Ways in OSM files refer to OSM nodes; relations refer to nodes, ways, or other relations. This command checks whether all objects referenced in the input file are also present in the input file.

Referential integrity is often broken in extracts. This can lead to problems with some uses of the OSM data. Use this command to make sure your data is good.

If the option -r is not given, this command will only check if all nodes referenced in ways are in the file, with the option, relations will also be checked.

This command expects the input file to be ordered in the usual way: First nodes in order of ID, then ways in order of ID, then relations in order of ID.

This command will only work for OSM data files, not OSM history files or change files.


-i, --show-ids
Print all missing IDs to stdout. If you don't give this option, only a summary is shown.
-r, --check-relations
Also check referential integrity of relations. Without this option, only nodes in ways are checked.

Common Options

-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 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.

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. See osmium-file-formats(5) or the libosmium manual for details.

Memory Usage

osmium check-refs will do the check in one pass through the input data. It needs enough main memory to store all temporary data.

Largest memory need will be about 1 bit for each node ID, for a full planet that's roughly 500 MB these days (Summer 2015). With the -r, --check-relations option memory use will be a bit bigger.


osmium check-refs exits with exit code

if all references are satisfied
if there was an error processing the data or some references were not satisfied, or
if there was a problem with the command line arguments.

See Also

osmium(1), osmium-file-formats(5)
Osmium website (http://osmcode.org/osmium)


If you have any questions or want to report a bug, please go to http://osmcode.org/contact.html


Jochen Topf <jochen@topf.org>.

Referenced By


Explore man page connections for osmium-check-refs(1).