OSM file formats

From OpenStreetMap Wiki
(Redirected from Osm diff)
Jump to navigation Jump to search

Map Data

The most important formats are:

  • PBF Format – highly compressed, optimized binary format similar to the API, recommended for data processing
  • OSM XML – XML format provided by the API. Please use PBF if you can.
  • OSM JSON – JSON format provided by the API, based on Overpass API JSON format.
  • o5m – for high-speed processing, uses PBF coding, has same structure as XML format, limited support by applications
  • Overpass JSON – JSON variant of OSM XML, used by Overpass API
  • Level0L – more human readable OSM XML without <> and lowered redundancy
  • OPL – "One Per Line" each OSM object is on its own line with a newline character at the end

Conversion between different OSM map data formats

Converting To Notes
o5m OPL OSM JSON OSM XML Overpass JSON PBF GeoJSON
Osmium (C++) Converting

From

o5m no yes no yes no yes yes use the Osmium command line tool or see osmium_convert in examples directory

Osmium supports exporting data to a few other formats, see here for the full list.

OPL no yes no yes no yes yes
OSM XML no yes no yes no yes yes
PBF no yes no yes no yes yes
osmconvert (C) o5m yes yes no yes no yes no own PBF implementation (does not use a library)
OSM XML yes yes no yes no yes no
PBF yes yes no yes no yes no
Osmosis (Java) o5m no no no yes no yes no software unmaintained but still in wide use
OSM XML no no no yes no yes no
PBF no no no yes no yes no
osm4j (Java) o5m no no no yes no yes no
OSM XML no no no yes no yes no
PBF no no no yes no yes no
osm (Go library) OSM XML no no yes yes yes no no
OSM JSON no no yes yes yes no no
Overpass JSON no no yes yes yes no no
PBF no no yes yes yes no no
osmtogeojson(JavaScript) OSM XML no no no no no no yes Used in Overpass Turbo
OSM JSON no no no no no no yes
skyway (Rust) OPL no yes yes yes yes no no skyway is a nascent project and may not be ready for production environments
OSM JSON no yes yes yes yes no no
OSM XML no yes yes yes yes no no
Overpass JSON no yes yes yes yes no no
PBF no yes yes yes yes no no

Splitting one big file into different geographical regions

Filter for specific tags

File formats for diffs

Format Pros Cons Supported by
OsmChange
  • Streamable

When sorted properly this file is a continuous stream of changes that can be played in order. In osmosis the option --sort-change will put the change into streamable order.

  • Doesn't indicate source of data
o5c
  • streamable
  • can be processed very fast (uses PBF like encoding, similar to .o5m format)
  • small file sizes even when not compressed
  • not human-readable
  • cannot be modified directly with texteditors
Augmented Diffs id-sorted version
  • streamable
  • real diff as before and after values are included
JOSM_file_format
  • Supports placeholders
  • Indicates the source of the data
  • Not streamable

TODO: Insert content from XML#Flavours (pros + cons, etc)

Tools for applying diffs to map data files

Tools for creating diff files

Other variants of OSM map data

  • JOSM file format – non-indexed xml-format similar to the API
  • Spaten - Spaten format by Thomas Skowron (based on PBF and WKB)
  • OSM Express on-disk format based on LMDB and S2
  • mapsplit compact tiled raw OSM data in pbf format suitable for editors and other applications that need fast, offline access.

Application specific formats which are not intended to carry complete OSM data

See also