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

FreeBSD Manual Pages

  
 
  

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

NAME
       osmium-getid - get objects from OSM file	by ID

SYNOPSIS
       osmium getid [OPTIONS] OSM-FILE ID...
       osmium getid [OPTIONS] OSM-FILE -i ID-FILE
       osmium getid [OPTIONS] OSM-FILE -I ID-OSM-FILE

DESCRIPTION
       Get  objects  with  the	given IDs from the input and write them	to the
       output.

       IDs can be given	on the command line (first case	in synopsis), or  read
       from text files with one	ID per line (second case in synopsis), or read
       from  OSM files (third cases in synopsis).  A mixture of	these cases is
       also allowed.

       All objects with	these IDs will be read from OSM-FILE  and  written  to
       the output.  If the option --add-referenced/-r is used all objects ref-
       erenced from those objects will also be added to	the output.

       Objects	will  be  written  out	in  the	 order	they  are found	in the
       OSM-FILE.

       If the option --add-referenced/-r is not	used, the input	file  is  read
       only  once,  if	it is used, the	input file will	possibly be read up to
       three times.

       On the command line or in the ID	file, the IDs have the form: TYPE-LET-
       TER NUMBER.  The	type letter is `n' for nodes, `w' for  ways,  and  `r'
       for  relations.	 If  there is no type letter, `n' for nodes is assumed
       (or whatever the	--default-type option says).  So "n13 w22 17 r21" will
       match the nodes 13 and 17, the way 22 and the relation 21.

       The order in which the IDs appear does not matter.  Identical  IDs  can
       appear multiple times on	the command line or in the ID file(s).

       On the command line, the	list of	IDs can	be in separate arguments or in
       a  single  argument  separated  by spaces, tabs,	commas (,), semicolons
       (;), forward slashes (/)	or pipe	characters (|).

       In an ID	file (option --id-file/-i) each	line must start	with an	ID  in
       the  format  described above.  Leading space characters in the line are
       ignored.	 Lines can optionally contain a	space character	or a hash sign
       (`#') after the ID.  Any	characters after that are ignored.  (This also
       allows files in OPL format to be	read.)	Empty lines are	ignored.

       Note that all objects will be taken from	the OSM-FILE, the  ID-OSM-FILE
       is  only	 used  to  detect  which objects to get.  This might matter if
       there are different object versions in the different files.

       The OSM-FILE can	not be a history file unless the --with-history/-H op-
       tion is used.  Then all versions	of the objects will be copied  to  the
       output.

       If referenced objects are missing from the input	file, the type and IDs
       of those	objects	is written out to STDERR at the	end of the program un-
       less the	--with-history/-H option was given.

       This command will not work with negative	IDs.

OPTIONS
       --default-type=TYPE
	      Use  TYPE	 (`node', `way', or `relation')	for IDs	without	a type
	      prefix (default: `node').	 It is also allowed to	just  use  the
	      first character of the type here.

       -H, --with-history
	      Make  this  program  work	on history files.  This	is only	needed
	      when using the -r	option.

       -i, --id-file[=FILE]
	      Read IDs from text file instead of from the command  line.   Use
	      the  special name	"-" to read from STDIN.	 Each line of the file
	      must start with an ID in the format described above.  Lines  can
	      optionally  contain a space character or a hash sign (`#') after
	      the ID.  This character and all  following  characters  are  ig-
	      nored.   (This  allows  files  in	OPL format to be read.)	 Empty
	      lines are	also ignored.  This option can be used multiple	times.

       -I, --id-osm-file=OSMFILE
	      Like --id-file/-i	but get	the IDs	from an	OSM file.  This	option
	      can be used multiple times.

       -r, --add-referenced
	      Recursively find all objects referenced by the  objects  of  the
	      given  IDs and include them in the output.  This only works cor-
	      rectly on	non-history files unless the -H	option is also used.

       -t, --remove-tags
	      Remove tags from objects that are	not explicitly	requested  but
	      are only included	to complete references (nodes in ways and mem-
	      bers  of relations).  If an object is both requested and used as
	      a	reference it will keep its tags.  You also  need  --add-refer-
	      enced/-r for this	to make	sense.

       --verbose-ids
	      Also  print all requested	and missing IDs.  This is usually dis-
	      abled, because the lists can get quite long.  (This  option  im-
	      plies --verbose.)

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 getid exits with exit code

       0      if all IDs were found

       1      if  there	 was  an error processing the data or not all IDs were
	      found, (this is only detected if	the  --with-history/-H	option
	      was not used),

       2      if there was a problem with the command line arguments.

MEMORY USAGE
       osmium getid does all its work on the fly and only keeps	a table	of all
       IDs it needs in main memory.

EXAMPLES
       Output  nodes  17  and  1234, way 42, and relation 111 to STDOUT	in OPL
       format:

	      osmium getid -f opl planet.osm.pbf n1234 w42 n17 r111

SEE ALSO
        osmium(1), osmium-getparents(1), osmium-removeid(1), osmium-file-for-
	 mats(5), osmium-output-headers(5)

        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-GETID(1)

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

home | help