OpenStreetMap
How OSM's data model, contributions, and routing engines enable detailed mapping for wheelchair-friendly navigation.
History and Motivation
The OpenStreetMap project (OSM) was founded by Steve Coast in London in the summer of 2004. It aims to collect data for a free map. Back in those days, available maps were either expensive or not available under a free and open license. Therefore, OpenStreetMap builds on the same ideas as the free software movement – the freedom to use the data however one likes. Thousands of mappers contribute every day.
Since 2006, the OpenStreetMap Foundation has acted as the formal organization of the OpenStreetMap project. It runs the core database servers and a few other important services. Since 2012, when OpenStreetMap switched from the Creative Commons Attribution-ShareAlike 2.0 license to the Open Database License 1.0 (ODbL), the Foundation holds the rights to the data and grants everyone permission to use it under the terms of the ODbL. Unlike Wikipedia, OpenStreetMap does not have a set of criteria deciding whether a feature is relevant to be mapped or not. However, OpenStreetMap records only those pieces of information that are verifiable on the ground and are not subject to data protection (e.g. names of inhabitants of a house).
In many areas, OpenStreetMap started with zero data. In some regions, sufficient coverage was achieved by importing third-party datasets published under an open license (or being public domain). In other regions (e.g. large parts of Europe), a large community arose mapping all features on the ground. German-speaking countries built one of the largest communities relative to population: between 2004 and December 2011, 31% of all users made most of their edits in Germany, Austria or Switzerland. Since November 2010, OpenStreetMap has been using satellite imagery from Bing Maps as a data source to draw roads, buildings, rivers, etc. In the meantime, various providers of satellite or aerial imagery granted the OpenStreetMap community permission to use their imagery as a data source.


Data Model
OSM keeps its data model intentionally small: nodes store coordinates, ways connect nodes into roads or paths, relations group objects, and tags add meaning. This simplicity is important for crowdsourcing because contributors can inspect, discuss, and correct the map without needing a specialist GIS model. Wheels4Wheels follows the same constraint: we do not create a separate accessibility layer or split streets into tiny telemetry fragments. We map-match e-scooter points, assign them to existing OSM ways, aggregate the signal per way, and then filter proposals by coverage and agreement before review. Instead of modeling every vibration as a new map object, Wheels4Wheels reduces the data to the level OSM already understands: existing ways plus standard smoothness=* tags.
(Use our project)
Reverse order
Get first element
Validate
Fewer steps
Easy to understand
Clear logic
Easier to debug
Better performance
- Nodes: Mark single points
- Ways: Roads or paths
- Relations: Group map elements
- Area: Mapped surfaces
- History: Tracks changes
Modeling
How does OSM express what a wheelchair user meets on the ground? Two mechanisms cover it: streets, sidewalks, and paths are modeled as ways carrying descriptive tags, while obstacles such as bollards and gates sit as nodes directly on those ways. Together they describe both the network itself and the points where it narrows or closes.
Foot Network
OpenStreetMap models roads, streets and paths as ways. Attributes of the streets are usually added as tags. The following tags can be considered as established. Some are present on almost all streets, some are rarely used.
| Key | Value | Meaning |
|---|---|---|
| highway | motorway,trunk,primary,residential,service,track,pedestrian,footway,... | Road class |
| oneway | yes,no,-1 | One-way street (in direction of OSM way / not / in opposite direction) |
| surface | asphalt,paving_stones,cobblestone,gravel,... | Surface type |
| lit | yes,no | Whether the street is lit |
| width | [numeric value] | Width of the street |
| smoothness | bad,intermediate,excellent,... | Roughness of the surface |
| maxspeed | [numeric value] | Speed limit |
| incline | up,down,[value in %] | Incline |
Most of these attributes refer to the carriageway, not the associated sidewalks. Footpaths along streets can be mapped in two ways, and both appear in practice – the choice shapes how routing engines see the sidewalk.
However, several projects that aimed to improve routing for wheelchair users and blind pedestrians preferred to map sidewalks as separate ways. They make it easier to model crossings of the carriageway at intersections because lowered curbs are a requirement for wheelchair users. Adding just tags avoids drawing extra ways and looks simple at first glance – but routing engines cannot determine which side of the road to use unless explicitly modeled.

In contrast, sidewalks mapped as separate ways can be consumed by existing routing applications and are easier for mappers to understand. If attributes of the sidewalk change between two intersections, the way representing the carriageway does not have to be split. This avoids fragmentation of the carriageway.
On the other hand, separate sidewalk ways cannot capture that pedestrians without disabilities can cross the carriageway almost anywhere. Either countless extra crossings across the carriageway would need to be drawn, or routers would return detours to the next crossing when a user requested a route from one side of the road to another. For more than ten years, no consensus has been reached among the OpenStreetMap community. However, many mappers who are against separate ways agree that separate ways are fine if there is a physical separation, such as a handrail, a fence or a strip of grass between the sidewalk and the carriageway and crossing the carriageway is not possible everywhere.


Barriers
Barriers are obstacles such as bollards, gates, or cycle barriers that block or narrow a path. They are mapped as nodes placed directly on the way, and a small set of tags records what kind of barrier it is and whether it can be passed.
| Key | Value | Meaning |
|---|---|---|
| barrier | bollard,cycle_barrier,block,lift_gate,gate,... | Type of barrier |
| maxwidth:physical | [numeric value] | Maximum width of a vehicle which can pass |
| locked | yes,no | Whether the barrier is locked (e.g., gates) |
Routing Engines
Map data only helps wheelchair users once a routing engine reads it. Several projects in the OSM ecosystem have taken on wheelchair routing, each with a different approach and depth of support. Three of them illustrate the range: openrouteservice, OpenSidewalks/AccessMap, and GraphHopper.
openrouteservice
The openrouteservice project is the leading open-source routing engine for OpenStreetMap data, developed by the Heidelberg Institute for Geoinformation Technology. It supports various profiles, including wheelchair routing, with worldwide coverage. The wheelchair profile evaluates a defined set of OSM attributes and classifies each value as included, problematic, or inaccessible.
| Attribute | Classification | Values/Notes |
|---|---|---|
| sidewalk=* | Included | Taken into account for wheelchair routing |
| surface=* | Inaccessible | earth, grass, dirt, mud, sand, snow, ice, salt |
| surface=* | Problematic | woodchips, grass_paver, pebblestone, compacted, gravel, unpaved, sett, unhewn_cobblestone, cobblestone |
| surface=* | Preferred | asphalt, paved |
| surface=* | Any other value | Neither preferred nor problematic or inaccessible. This includes paving_stones, concrete, concrete:lanes, asphalt:lanes, wood, metal and any other value not specified explicitly |
| smoothness=* | Inaccessible | bad, very_bad, horrible, very_horrible |
| smoothness=* | Problematic | intermediate |
| smoothness=* | Preferred | excellent |
| smoothness=* | Any other value | Acceptable. This includes the common value good and any other value not specified explicitly |
OpenSidewalks/AccessMap
Unlike openrouteservice, the OpenSidewalks project is a combination of a routing engine and a mapping project within OSM. It is run by the Taskar Center for Accessible Technology (TCAT) at the University of Washington, together with Feet First, a pedestrian advocacy group operating in Washington State and the University of Washington's eScience Institute.

While openrouteservice tries to make a product from sparse data and makes use of sidewalks mapped as tags on the centerline of the street, OpenSidewalks/AccessMap uses a different approach. They prefer mapping sidewalks as independent ways and focus on selected cities in the United States. In these cities, they aim to cover the complete network with data of equal quality.
GraphHopper
GraphHopper offered a wheelchair profile in the past. Due to limited support for key features (e.g. sidewalk=*), the developers removed it. It had basic support for barriers and excluded cycle barriers from wheelchair routing.
Data Collection
Accessibility attributes reach OSM through two complementary routes. Active collection means riders deliberately observe and report features through editing apps; passive collection derives the same attributes from sensor data that ordinary rides produce anyway. The two differ in precision, scale, and the demands they place on contributors.
Active
One approach to improving sidewalk accessibility data in OSM is through active contribution by users of e-scooters. Their vehicles are highly sensitive to surface irregularities, allowing riders to sense and report relevant accessibility attributes.
The StreetComplete app is particularly effective for this purpose. It simplifies contributions by asking contextual questions about missing map information. It cannot modify geometries or add new nodes such as curbs, however.
Active contributions improve OSM rapidly but carry risks: inaccurate tagging at scale can overwhelm volunteer mappers. Mapping campaigns should therefore be coordinated with local OSM communities, with trained editors reviewing incoming notes.

Passive
A complementary approach is passive data collection, where users contribute indirectly through sensor data gathered during normal e-scooter rides. Each ride generates acceleration, speed, and GPS information. E-scooters are sensitive to small bumps, making them ideal for detecting surface irregularities.
Such datasets supplement and validate manual observations. While passive data does not modify OSM directly, it supports a scalable, data-driven mapping workflow that complements precise active contributions. Wheels4Wheels is exactly this kind of supplement: evidence at scale for tags a human then reviews.