logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

osmium-sort - sort OSM files

Authors

       Jochen Topf <jochen@topf.org>.

                                                     1.17.0                                       OSMIUM-SORT(1)

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.

Contact

       If you have any questions or want to report a bug, please go to https://osmcode.org/contact.html

Description

       Combines and sorts the content of all input files given on the command line.

       Objects  are sorted by type, ID, and version.  IDs are sorted negative IDs first, then positive IDs, both
       ordered by their absolute values.  So the sort order for types and IDs is:

       node -1, node -2, ..., node 1, node 2, ..., way -1, way -2, ..., way 1, way 2, ..., relation -1, relation
       -2, ..., relation 1, relation 2, ...

       If there are several objects of the same type and with the same ID they are ordered by ascending version.
       If there are several objects of the same type and with  the  same  ID  and  version  the  sort  order  is
       unspecified.  Duplicate objects will not be removed.

       This command works with normal OSM data files, history files, and change files.

       This  commands  reads  its  input  file(s)  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.  (Unless the multipass strategy is used.)

Diagnostics

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

Examples

       Sort in.osm.bz2 and write out to sorted.osm.pbf:

              osmium sort -o sorted.osm.pbf in.osm.bz2

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.

Memory Usage

osmiumsort keeps the contents of all the input files in main memory.  This will take roughly 10 times as
       much memory as the files take on disk in .osm.bz2 or osm.pbf format.

Name

       osmium-sort - sort OSM files

Options

       -s, --strategy=STRATEGY
              Sorting strategy.  The “simple” strategy reads all input files into memory, does the  sorting  and
              writes  everything  out.   The “multipass” strategy reads the input files in three passes, one for
              nodes, one for ways, and one for relations.  After reading all objects  of  each  type,  they  are
              sorted  and  written  out.  This is a bit slower than the “simple” strategy, but uses less memory.
              The “multipass” strategy doesn’t work when reading from STDIN.  Default: “simple”.

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.

See Also

osmium(1), osmium-file-formats(5), osmium-output-headers(5)

       • Osmium website

Synopsis

osmiumsort [OPTIONS] OSM-FILE...

See Also