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

FreeBSD Manual Pages

  
 
  

home | help
OSMIUM-RENUMBER(1)					    OSMIUM-RENUMBER(1)

NAME
       osmium-renumber - renumber object IDs

SYNOPSIS
       osmium renumber [OPTIONS] OSM-DATA-FILE

DESCRIPTION
       The objects (nodes, ways, and relations)	in an OSM file often have very
       large IDs.  This	can make some kinds of postprocessing difficult.  This
       command will renumber all objects using IDs starting at 1.  Referential
       integrity  will	be  kept.  All objects which appear in the source file
       will be in the same order in the	output file.  IDs of objects which are
       not in the file but referenced from ways	or relations are  not  guaran-
       teed to be in the correct order.

       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.  Negative IDs are allowed, they must be ordered before the
       positive	IDs.  See the osmium-sort(1) man page for details of  the  or-
       dering.

       The  input file will be read twice, so it will not work with STDIN.  If
       you are not renumbering relations (ie.  if the option  --object-type/-t
       is  used	 with nodes and/or ways	but not	relations) the input file will
       only be read once, so in	that case it will work with STDIN.

       To renumber the IDs in several files, call  osmium  renumber  for  each
       file  and  specify  the --index-directory/-i option each	time.  See the
       INDEX FILES section for more details.

       You must	never upload the data generated	by this	command	to OSM!	  This
       would  really confuse the OSM database because it knows the objects un-
       der different IDs.

OPTIONS
       -i, --index-directory=DIR
	      Directory	where the index	files for mapping between old and news
	      IDs are read from	and written to,	respectively.  Use this	if you
	      want to map IDs in several OSM files.  Without this option,  the
	      indexes  are  not	 read  from or written to disk.	 The directory
	      must exist.  Use `.' for the current directory.  The files writ-
	      ten will be named	nodes.idx, ways.idx, and  relations.idx.   See
	      also the INDEX FILES section below.

       --show-index=TYPE
	      Print the	content	of the index for TYPE (node, way, or relation)
	      on STDOUT.  Each line contains the old ID, a space character and
	      then  the	 new  ID.   Any	 other	options	(except	--index-direc-
	      tory/-i) are ignored if this option is used.

       -s, --start-id=FIRST_ID or FIRST_NODE_ID,FIRST_WAY_ID,FIRST_RELATION_ID
	      Set the first ID that should be used.  If	the  ID	 is  positive,
	      IDs are counted upwards, if the ID is negative, they are counted
	      downwards.   This	can be set to either a single ID which is used
	      for all object types or a	comma-separated	list of	three IDs used
	      for the first node, way, and relation, respectively.  If this is
	      not set, IDs for all object types	start at 1.

       -t, --object-type=TYPE
	      Renumber only objects of given type (node,  way,	or  relation).
	      By default all objects of	all types are renumbered.  This	option
	      can be given multiple times.

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.

INDEX FILES
       When  the  --index-directory/-i	option is specified, index files named
       nodes.idx, ways.idx, and	relations.idx are read from and	written	to the
       given directory together	with a file called start_ids that contains the
       start IDs set with --start-id/-s.

       This can	be used	to force consistent mapping over  several  invocations
       of  osmium  renumber,  for  instance when you want to remap an OSM data
       file and	a corresponding	OSM change file.

       The index files are in binary format, but you can print the indexes  in
       text format using the --show-index option:

	      osmium renumber -i idxdir	--show-index node     >nodes-index.txt
	      osmium renumber -i idxdir	--show-index way      >ways-index.txt
	      osmium renumber -i idxdir	--show-index relation >relations-index.txt

DIAGNOSTICS
       osmium renumber 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  renumber	 needs	quite a	bit of main memory to keep the mapping
       between old and new IDs.	 It is intended	for small to medium sized  ex-
       tracts.	 You  will  need  more	than  32  GB RAM to run	this on	a full
       planet.

       Memory use is at	least 8	bytes per node,	way, and relation  ID  in  the
       input file.

EXAMPLES
       Renumber	a PBF file and output to a compressed XML file:

	      osmium renumber -o ch.osm.bz2 germany.osm.pbf

       Renumbering the about 3.3 GB Germany PBF	file currently (February 2020)
       takes about three minutes and needs about 7 GB RAM.

       Renumber	 a PBF file starting the node IDs at 1 (and counting upwards),
       the way IDs at 100 and the relation IDs at  -200	 (and  counting	 down-
       wards.

	      osmium renumber -o renumbered.osm.pbf -s 1,100,-200 athens.osm.pbf

       Renumber	an OSM file storing the	indexes	on disk:

	      osmium renumber -i. -o renumbered.osm data.osm

       then rewrite a change file, too:

	      osmium renumber -i. -o renumbered.osc changes.osc

SEE ALSO
        osmium(1),   osmium-file-formats(5),	osmium-output-headers(5),  os-
	 mium-sort(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-RENUMBER(1)

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

home | help