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

NAME

       osmium-export - export OSM data

SYNOPSIS

       osmium export [OPTIONS] OSM-FILE

DESCRIPTION

       The OSM data model with its nodes, ways, and relations is very different from the data model usually used
       for  geodata  with  features  having  point,  linestring,  or  polygon  geometries (or their cousins, the
       multipoint, multilinestring, or multipolygon geometries).

       The export command transforms OSM data into a more usual GIS data model.  Nodes will be  translated  into
       points  and  ways  into  linestrings  or  polygons  (if they are closed ways).  Multipolygon and boundary
       relations will be translated into  multipolygons.   This  transformation  is  not  loss-less,  especially
       information in non-multipolygon, non-boundary relations is lost.

       All  tags  are  preserved  in this process.  Note that most GIS formats (such as Shapefiles, etc.) do not
       support arbitrary tags.  Transformation into other GIS formats will need extra steps mapping  tags  to  a
       limited list of attributes.  This is outside the scope of this command.

       The  osmium export command has to keep an index of the node locations in memory or in a temporary file on
       disk while doing its work.  There are several  different  ways  it  can  do  that  which  have  different
       advantages   and   disadvantages.    The   default   is   good   enough  for  most  cases,  but  see  the
       osmium-index-types(5) man page for details.

       This program will not work on full history files.

OPTIONS

       -c, --config=FILE
              Read configuration from specified file.

       -e, --show-errors
              Output any geometry errors on STDERR.  This includes ways with a single node or areas  that  can't
              be  assembled  from  multipolygon relations.  This output is not suitable for automated use, there
              are other tools that can create very detailed  errors  reports  that  are  better  for  that  (see
              http://osmcode.org/osm-area-tools/).

       -E, --stop-on-error
              Usually  geometry  errors  (due  to missing node locations or broken polygons) are ignored and the
              features are omitted from the output.  If this option is set, any error will immediately stop  the
              program.

       -i, --index-type=TYPE
              Set the index type.  For details see the osmium-index-types(5) man page.

       -I, --show-index-types
              Shows a list of available index types.  For details see the osmium-index-types(5) man page.

       -n, --keep-untagged
              If  this is set features without any tags will be in the exported data.  By default these features
              will be omitted from the output.  Tags are the OSM tags, not attributes (like  id,  version,  uid,
              ...)  without the tags removed by the exclude_tags or include_tags settings.

       -r, --omit-rs
              Do  not  print  the  RS  (0x1e,  record  separator) character when using the GeoJSON Text Sequence
              Format.  Ignored for other formats.

       -u, --add-unique-id=TYPE
              Add a unique ID to each feature.  TYPE can be either counter in which case the first feature  will
              get  ID 1, the next ID 2 and so on.  The type of object does not matter in this case.  Or the TYPE
              is type_id in which case the ID is a string, the first character is the type of  object  ('n'  for
              nodes,  'w'  for  linestrings  created  from  ways,  and  'a'  for  areas created from ways and/or
              relations, after that there is a unique ID based on the original OSM object ID(s).

COMMON OPTIONS

       -h, --help
              Show usage help.

       -v, --verbose
              Set verbose mode.  The program will output information about what it is doing to STDERR.

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 the OUTPUT FORMATS section for a list of formats.

       --fsync
              Call fsync after writing the output file to force flushing buffers to disk.

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

CONFIG FILE

       The config file is in JSON format.  The top-level is an object  which  contains  the  following  optional
       names:

       • attributes:  An  object  specifying  which  attributes  of  OSM  objects to export.  See the ATTRIBUTES
         section.

       • linear_tags: An array of expressions specifying tags that should be treated as linear.  See the  FILTER
         EXPRESSION and AREA HANDLING sections.

       • area_tags: An array of expressions specifying tags that should be treated as area tags.  See the FILTER
         EXPRESSION and AREA HANDLING sections.

       • exclude_tags: A list of tag expressions.  Tags matching these expressions are excluded from the output.
         See the FILTER EXPRESSION section.

       • include_tags:  A  list of tag expressions.  Tags matching these expressions are included in the output.
         See the FILTER EXPRESSION section.

       The exclude_tags and include_tags options are mutually exclusive.  If you want to just exclude some  tags
       but  leave  most  tags untouched, use the exclude_tags setting.  If you only want a defined list of tags,
       use include_tags.

       When no config file is specified, the following settings are used:

              {
                  "attributes": {
                      "type":      false,
                      "id":        false,
                      "version":   false,
                      "changeset": false,
                      "timestamp": false,
                      "uid":       false,
                      "user":      false,
                      "way_nodes": false
                  },
                  "linear_tags":  [],
                  "area_tags":    [],
                  "exclude_tags": [],
                  "include_tags": []
              }

FILTER EXPRESSIONS

       A filter expression specifies a tag or tags that should be matched in the data.

       Some examples:

       amenity
              Matches all objects with the key "amenity".

       highway=primary
              Matches all objects with the key "highway" and value "primary".

       highway!=primary
              Matches all objects with the key "highway" and a value other than "primary".

       type=multipolygon,boundary
              Matches all objects with key "type" and value "multipolygon" or "boundary".

       name,name:de=Kastanienallee,Kastanienstrasse
              Matches  any  object  with  a  "name"  or  "name:de"  tag  with  the  value  "Kastanienallee"   or
              "Kastanienstrasse".

       addr:* Matches all objects with any key starting with "addr:"

       name=*Paris*
              Matches all objects with a name that contains the word "Paris".

       If  there  is no equal sign ("=") in the expression only keys are matched and values can by 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.

ATTRIBUTES

       All  OSM  objects  (nodes,  ways, and relations) have attributes, areas inherit their attributes from the
       ways and/or relations they were created from.  The attributes known to osmium export are:

       • type ('node', 'way', or 'relation')

       • id (64 bit object ID)

       • version (version number)

       • changeset (changeset ID)

       • timestamp (time of object creation in seconds since Jan 1 1970)

       • uid (user ID)

       • user (user name)

       • way_nodes (ways only, array with node IDs)

       For areas, the type will be way or relation if the area was created from a closed way or  a  multipolygon
       or  boundary relation, respectively.  The id for areas is the id of the closed way or the multipolygon or
       boundary relation.

       By default the attributes will not be in the export, because they are not necessary for most uses of  OSM
       data.   If  you  are interested in some (or all) attributes, add an attributes object to the config file.
       Add a member for each attribute you are interested in, the value can be either false (do not output  this
       attribute), true (output this attribute with the attribute name prefixed by the @ sign) or any string, in
       which case the string will be used as the attribute name.

       Note  that  the  id is not necessarily unique.  Even the combination type and id is not unique, because a
       way may end up as LineString and as Polygon on the file.  See the --add-unique-id option for a unique ID.

AREA HANDLING

       Multipolygon relations will be assembled into multipolygon geometries forming areas.   Some  closed  ways
       will also form areas.  Here are the more detailed rules:

       • Non-closed ways (last node not the same as the first node) are always linestrings, not areas.

       • Relations  tagged  type=multipolygon or type=boundary are always assembled into areas.  If they are not
         valid, they are omitted from the output (unless --stop-on-error/-E is specified).   (An  error  message
         will be produced if the --show-errors/-e option is specified).

       • For  closed ways the tags are checked.  If they have an area tag other than area=no, they are areas and
         a polygon is created.  If they have an area tag other than area=yes, they are linestrings.   So  closed
         ways can be both, an area and a linestring!

       • The  configuration  options area_tags and linear_tags can be used to augment the area check.  If any of
         the tags on a closed way matches any of the expressions in area_tags, a polygon is created.  If any  of
         the  tags  on  a  closed  way  matches  any of the expressions in linear_tags, a linestring is created.
         Again: If both match, an area and a linestring is created.

OUTPUT FORMATS

       The following output formats are supported:

       • geojson (alias: json): GeoJSON (RFC7946).  The output file  will  contain  a  single  FeatureCollection
         object.  This is the default format.

       • geojsonseq  (alias:  jsonseq):  GeoJSON Text Sequence (RFC8142).  Each line (beginning with a RS (0x1e,
         record separator) and ending in a linefeed character) contains one GeoJSON object.  Used for  streaming
         GeoJSON.

       • text (alias: txt): A simple text format with the geometry in WKT format followed by the comma-delimited
         tags.  This is mainly intended for debugging at the moment.  THE FORMAT MIGHT CHANGE WITHOUT NOTICE!

DIAGNOSTICS

       osmium export 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  export  will  usually  keep all node locations and all objects needed for assembling the areas in
       memory.   For  larger  data  files,  this  can  need  several  tens  of  GBytes  of  memory.    See   the
       osmium-index-types(5) man page for details.

EXAMPLES

       Export into GeoJSON format:

              osmium export data.osm.pbf -o data.geojson

       Use a config file and export into GeoJSON Text Sequence format:

              osmium export data.osm.pbf -o data.geojsonseq -c export-config.json

SEE ALSO

osmium(1), osmium-file-formats(5), osmium-index-types(5), osmium-add-node-locations-to-ways(1)

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

       • GeoJSON (http://geojson.org/)

       • RFC7946 (https://tools.ietf.org/html/rfc7946)

       • RFC8142 (https://tools.ietf.org/html/rfc8142)

       • Line delimited JSON (https://en.wikipedia.org/wiki/JSON_Streaming#Line_delimited_JSON)

COPYRIGHT

       Copyright (C) 2013-2017 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 http://osmcode.org/contact.html

AUTHORS

       Jochen Topf <jochen@topf.org>.

                                                      1.7.1                                     OSMIUM-EXPORT(1)