We’ve focused on tiles, but since OpenStreetMap – uniquely – gives you access to the raw map data, you can build any location or geo- application. These are the most common starting points.

Common tools

  • Osmosis is an all-purpose Java application for loading OSM data into a database. Most applications of OSM data use Osmosis in some way.
  • Osmium is a flexible framework, rapidly gaining popularity, which offers a highly configurable alternative to Osmosis.

Geocoding

  • Nominatim is OpenStreetMap’s geocoding service (placename<->lat/long).
  • OpenCage provides a public geocoding API aggregating Nominatim and other sources.

Routing

  • OSRM is an open source fast routing engine designed for OSM data. Install it yourself or make (limited) use of the public API
  • Graphhopper is a highly flexible open source Java routing engine.
  • Gosmore is a long-established routing engine.
  • Specialist routing APIs include CycleStreets cycle routing (UK)

Mobile libraries

Vector rendering

  • Kothic-JS is an in-development new technology which renders OSM data “on the fly” using HTML5, without the need for raster tile images.
  • Mapbox Studio is a suite of tools to produce ‘vector tiles’ which can be rendered either server-side or client-side.