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 in-
       put 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	gener-
       ate 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 ac-
       tually 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 informa-
       tion will be removed.  But you  can  change  this  using	 the  --incre-
       ment-version,  --keep-details, and --update-timestamp options.  Depend-
       ing 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, respec-
	      tively, 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-for-
	      mats(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 os-
	      mium 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-out-
	      put-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),  os-
	 mium-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/li-
       censes/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)

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

home | help