Everything about OpenStreetMap.
oneway=yes
.Metadata: author, timestamp, etc.
OSM Cheat Sheet: tags and keyboard shortcuts.
highway
: the main tag used for identifying any kind of road, street or path.
motorway
trunk
, primary
, secondary
, tertiary
, unclassified
residential
, service
road
, living_street
, pedestrian
footway
Format consideration: compression ratio, processing speed.
.osm
, an XML format..pbf
, Protocol buffer Binary Format, the primary binary format that uses Google Protocol Buffers as low-level storage.
(<50% the size of XML format).o5m
, a flat binary format.
Nobody uses it.Characteristics of OSM PBF:
Delta coding and variable-byte coding are applied throughout.
Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data. (https://developers.google.com/protocol-buffers)
.vex
, Vanilla Extract exchange format, a binary format invented by Conveyal. Format specification
Converting map data between OSM and external formats:
iD is the default online map editor for openstreetmap.org.
The OSM Editing API (API v0.6) is a RESTful HTTP API accessible via http://api.openstreetmap.org/.
Overpass API is a read-only API for querying an OpenStreetMap database and extracting features over the web. Overpass Turbo is a Web frontend of Overpass API.
Openstreetmap Navigation Data Map
osmosis
is a command line Java application for processing OSM data, which can extract data inside a bounding box or polygon.
osmconvert
can convert and process OSM files faster than osmosis but has less functionality; it has a few special functions.
osmium
also has a command line tool to convert file format, apply changeset, and extract historical data.
JOSM, Java OpenStreetMap, is the offline editor of OSM data, with many plugins. Features: validator feature can check and fix invalid data.
KeepRight, data consistency checks (quality assurance) for OSM.
PostgreSQL Loader: osm2pgsql
; osm2pgrouting
, imports OSM topology to PostgreSQL database; other java programs.
Programming Frameworks for accessing, processing, map rendering (static, interactive), geocoding, and navigation with OpenStreetMap data. Debian GIS Blend meta-package for OpenStreetMap already include many of these tools and libraries.
Accessing:
osm-common
(Java): accessing, processing, geocoding; supports Overpass.osmapi
(Python): Python wrapper for the OpenStreetMap API.osmaR
(R): access OpenStreetMap data from file or API, and convert to other classes.Data processing / parsing:
pbf2osm
, osmpbf
; LibOsm
(SQLlite); osmium
;Gosmparse
, osmpbf
;osmosis
, osm4j
, BasicOSMParser
, OSMemory
;imposm.parser
, osmread
;Navigation:
Geocoding: Gisgraphy (Java)
Map rendering: