Provided by: osmium-tool_1.16.0-1build1_amd64 bug

NAME

       osmium-derive-changes - create OSM change files from two OSM data files

SYNOPSIS

       osmium derive-changes [OPTIONS] OSM-FILE1 OSM-FILE2

DESCRIPTION

       Finds  differences between two OSM files and creates a change file with those differences.  The resulting
       change file is created in a way, that it could be applied on OSM-FILE1 to re-create OSM-FILE2.

       Objects in both input files must be sorted by type, ID, and version.  The first input file must be from a
       point in time before the second input file.

       Only object type, id, and version are compared, so this program will not detect differences in, say,  the
       tags,  unless  the  object has a new version, which is the normal way things work in OSM.  If you need to
       compare all data in OSM files, have a look at the osmium diff program.

       For this command to create a proper change file you have to set the --output  option  or  --output-format
       option  in  a  way that it will generate an .osc file, typically by using something like `-o out.osc.gz'.
       You can create any other OSM file format, but that is usually not what you want.   Osmium  derive-changes
       will warn you in this case.

       Note  that  for  objects that are in OSM-FILE1 but not OSM-FILE2 a “deleted” entry will be created in the
       output.  But because we can not know when this deletion actually occurred, in  which  changeset,  and  by
       which user, it is unclear what attributes this deleted object should have.  Also, if you are working with
       extracts,  the object might not actually have been deleted in the OSM database, but just moved out of the
       extract you are looking at.  So a real, new, “deleted” version was never created.  Usually the  “deleted”
       object  will  get  the  same  version  number  and  timestamp  as  the object in OSM-FILE1 had, all other
       information will be removed.  But you can change this using the --increment-version, --keep-details,  and
       --update-timestamp  options.   Depending on which software you are using the change files with, different
       settings might be necessary.

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

OPTIONS

       --increment-version
              Increment version number of deleted objects.

       --keep-details
              Keep details of deleted objects.  Usually only id, version,  and  timestamp  are  kept.   If  this
              option  is  set  all  attributes,  all  tags,  and  all  nodes  or members for ways and relations,
              respectively, are kept.

       --update-timestamp
              Update timestamp of deleted objects to the current time.  This is the same behaviour as Osmosis.

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 derive-changes 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 derive-changes doesn’t keep a lot of data in memory.

EXAMPLES

       Find changes in Nepal extract in January 2016:

              osmium derive-changes nepal-20160101.osm.pbf nepal-20160201.osm.pbf -o nepal-jan.osc.bz2

SEE ALSO

osmium(1), osmium-file-formats(5), osmium-output-headers(5), osmium-apply-changes(1), osmium-diff(1)

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

COPYRIGHT

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

                                                     1.16.0                             OSMIUM-DERIVE-CHANGES(1)