Other Uses
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; a full listing is available at the OpenStreetMap Wiki.
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.
- Mapbox Studio is a suite of tools to produce ‘vector tiles’ which can be rendered either server-side or client-side.
Geocoding services
- Gisgraphy is an open source geocoder that provides API / webservices for forward and reverse geocoding with auto-completion, interpolation, location Bias, find nearby, all can be run offline or as hosted solutions. It provide some importers for Openstreetmap but also Openadresses, Geonames, and more.
- Nominatim is the software behind OpenStreetMap’s geocoding service (placename<->lat/long).
- OpenCage provides a geocoding API aggregating Nominatim and other open sources.
- OSMNames - place names from OpenStreetMap. Downloadable. Ranked. With bbox and hierarchy. Ready for geocoding.
Routing engines and services
- OSRM is a fast routing engine designed for OSM data.
- Graphhopper is a fast Java routing engine with a small memory footprint.
- Valhalla is a C++ routing engine for road vehicles and public transport.
- Public routing APIs using OSM data are offered by GraphHopper, MapQuest Open and Mapbox.
- Specialist routing APIs include CycleStreets cycle routing (UK and beyond)
Vector map libraries (mobile)
- Android libraries include the MapLibre Android SDK, Mapbox Android SDK, mapsforge, Nutiteq Maps SDK, Skobbler Android SDK, and Tangram ES.
- iOS libraries include the MapLibre iOS SDK, Mapbox iOS SDK, Nutiteq Maps SDK, Skobbler iOS SDK, and Tangram ES.
Vector map libraries (Web)
- MapLibre GL JS, Mapbox GL JS and Tangram render vector tiles based on OSM data using WebGL for better performance.