OSMIUM-TIME-FILTER(1)

NAME
osmium-time-filter - filter OSM data by time from a history file

SYNOPSIS
osmium time-filter [OPTIONS] OSM-HISTORY-FILE [TIME]
osmium time-filter [OPTIONS] OSM-HISTORY-FILE FROM-TIME TO-TIME

DESCRIPTION
Copy all objects that were valid at the given TIME or in the time period between FROM-TIME (inclusive) and TO-TIME (not inclusive) from the input file into the output file. If no time is given, the current time is used.

Usually the INPUT-FILE will be an OSM data file with history. If both FROM-TIME and TO-TIME are given, the result will also have history data, it will also include deleted versions of objects.

If only a single point in time was given, the result will be a normal OSM file without history containing no deleted objects.

The format for the timestamps is “yyyy-mm-ddThh:mm:ssZ”.

This commands reads its input file 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.

If the input file has a timestamp set in the header and the specified TO-TIME is before that timestamp in the header, the header of the output file will have the timestamp set to the TO-TIME (or TO-TIME minus one second if a FROM-TIME was also set).

COMMON OPTIONS

-h, --help
    Show usage help.

-v, --verbose
    Set verbose mode. The program will output information about what it is doing to STDERR.

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

--fsync
    Call fsync after 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 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.

DIAGNOSTICS
osmium time-filter exits with exit code

0   if everything went alright,

1   if there was an error processing the data, or

2   if there was a problem with the command line arguments.

MEMORY USAGE
osmium time-filter does all its work on the fly and doesn’t keep much data in main memory.

EXAMPLES
Extract current planet file from history planet:

        osmium time-filter -o planet.osm.pbf history-planet.osh.pbf

Extract planet data how it appeared on January 1 2008 from history planet:

        osmium time-filter -o planet-20080101.osm.pbf history-planet.osh.pbf 2008-01-01T00:00:00Z

SEE ALSO

•   osmium(1), osmium-file-formats(5), osmium-output-headers(5)

•   Osmium website (https://osmcode.org/osmium-tool/)

COPYRIGHT

Copyright (C) 2013-2025 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>.