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: