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

NAME

       osmium-tags-count - count keys/tags

SYNOPSIS

       osmium tags-count [OPTIONS] OSM-FILE [TAG-EXPRESSION...]
       osmium tags-count [OPTIONS] --expressions=FILE OSM-FILE

DESCRIPTION

       Count  how often keys or tags appear in the input file.  If the only command line argument
       is an OSM file, all keys in this  file  are  counted.   If  there  are  one  or  more  tag
       expressions  on  the  command  line, only the keys and tags matching those expressions are
       counted.

       See the TAG EXPRESSIONS section for a description of the expression format.

       The output has one line per key/tag found.  Each line contains the count, the tag key, and
       the  tag  value  (if  matching tags) separated by TAB characters.  Tag keys and values are
       surrounded by double quotes.  Any double quotes in the keys and values are doubled.

OPTIONS

       -e FILE, --expressions=FILE
              Read expressions from the specified file, one per line.  Empty lines  are  ignored.
              Everything  after  the  comment  character  (#)  is  also  ignored.   See  the  TAG
              EXPRESSIONS section for further details.

       -m COUNT, --min-count=COUNT
              The minimum count that should be in the output.  Used when you are only  interested
              in common keys/tags.

       -M COUNT, --max-count=COUNT
              The  maximum count that should be in the output.  Used when you are only interested
              in rare keys/tags.

       -s SORT, --sort=SORT
              Sort order.   Order  by  “count-asc”,  “count-desc”,  “name-asc”,  or  “name-desc”.
              Default is “count-desc”.

       -t, --object-type=TYPE
              Read  only  objects  of given type (node, way, relation).  By default all types are
              read.  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

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

TAG EXPRESSIONS

       A  filter  expression specifies one or more keys and/or tags that should be counted in the
       data.

       Some examples:

       amenity
              Matches the key “amenity”.

       highway=primary
              Matches the tag with key “highway” and value “primary”.

       highway!=primary
              Matches any tag with key “highway” and a value other than “primary”.

       type=multipolygon,boundary
              Matches any tag with key “type” and value “multipolygon” or “boundary”.

       name,name:de=Kastanienallee,Kastanienstrasse
              Matches any tag with the key “name” or “name:de” with the value “Kastanienallee” or
              “Kastanienstrasse”.

       addr:* Matches tags with keys starting with “addr:”

       name=*Paris
              Matches all tags with key “name” and a value that contains the word “Paris”.

       If  there is no equal sign (“=”) in the expression only keys are matched and values can be
       anything.  If there is an equal sign (“=”) in the expression, the key is to the  left  and
       the value to the right.  An exclamation sign (“!”) before the equal sign means: A tag with
       that key, but not the value(s) to the right of the equal  sign.   A  leading  or  trailing
       asterisk  (“*”)  can be used for substring or prefix matching, respectively.  Commas (“,”)
       can be used to separate several keys or values.

       All filter expressions are  case-sensitive.   There  is  no  way  to  escape  the  special
       characters   such   as   “=”,  “*”  and  “,”.   You  can  not  mix  comma-expressions  and
       “*”-expressions.

       The filter expressions specified in a file and/or on the command line are matched  in  the
       order they are given.  To achieve best performance, put expressions expected to match more
       often first.

DIAGNOSTICS

       osmium tags-count 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 tags-count keeps all counters in memory.  For a large  OSM  file  and  unrestricted
       keys  or,  worse,  tags, this can use quite a lot of memory.  (Counting all tags on a full
       planet file will use about 16 GByte RAM.)

       Use the filter expressions to restrict the counting to the keys or tags you  are  actually
       interested in.

EXAMPLES

       Count all keys in Spain and display most common keys first:

              osmium tags-count spain.osm.pbf

       Count all building keys in Madrid:

              osmium tags-count madrid.osm.pbf building

       Count all building tags on ways in Madrid, order by name:

              osmium tags-count -t way --sort=name-asc madrid.osm.pbf 'building=*'

       Count all relation types in Sevilla that appear at least 100 times:

              osmium tags-count -t relation -m 100 sevilla.osm.pbf 'type=*'

       Count all tags in the input file.  Note that this might need quite a lot of memory!

              osmium tags-count input.osm.pbf '*=*'

SEE ALSO

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

       • Osmium website (https://osmcode.org/osmium-tool/)

       • Taginfo (https://github.com/taginfo/taginfo/)

COPYRIGHT

       Copyright (C) 2013-2023 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.15.0                         OSMIUM-TAGS-COUNT(1)