Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OSMIUM-DERIVE-CHANGES(1)				OSMIUM-DERIVE-CHANGES(1)

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 --out-
     put 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 STD-
     OUT.

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 STD-
	    OUT 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 for-
	    mat 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 for-
	    mat 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 "os-
	    mium/" 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 mul-
	    tiple 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-ap-
       ply-changes(1), osmium-diff(1)

     * Osmium website

COPYRIGHT
     Copyright (C) 2013-2026 Jochen Topf <jochen@topf.org>.

     License   GPLv3+:	 GNU   GPL   version  3  or  later  <https://gnu.org/li-
     censes/gpl.html>.	This is free software: you are free to change and redis-
     tribute 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.19.0		OSMIUM-DERIVE-CHANGES(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=osmium-derive-changes&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help