Provided by: osmium-tool_1.18.0-1_amd64 bug

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 guaranteed 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 ordering.

       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 under 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 written 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-directory/-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-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.

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 extracts.  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 downwards.

              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), osmium-sort(1)

       • Osmium website

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

                                                     1.18.0                                   OSMIUM-RENUMBER(1)