Add Bicycle Safety Features to Cycle Layer?

Hello, I’m a GIS student from Portland, Oregon.

For a class project I’d like to add safety features to the “Cycle” layer of OSM. Safety features are commonly added to municipal cycle maps so people can avoid potentially dangerous stretches of road and intersections in their route planning.

Safety features would include converting sections of the existing cycle routes and intersections to reflect how hazardous they are to cyclists.

Typically municipal cycle maps illustrate these areas by depicting them with a dotted red line or a red circle around the intersection.

Because I have a deadline for this project, I’d like to inquire about the feasibility of adding such features to OSM’s cycle layer, and get some pointers in the process of proposing and implementing such a project.

Also, not being a coder or an OSM developer it occurs to me that actually adding a class of a feature - as opposed to adding to an already existing class of features - probably involves quite a bit more work than I’m aware. So I’d like to learn a little bit about the process of implementing an idea like this.



To clarify: OpenCycleMap uses OSM data however is a non-open source product of

It is unlikely that there is a way to do what you want short term with OCM and I suspect, as developing a full style is a largish undertaking, that a better approach would be to generate an overlay (bicycle route/infrastructure based).

There is some use of the “hazard” tag to model hazards :slight_smile: that might be applicable to cycling too. see

That was the good news.

The bad news:

What you want to add is, at least as a general concept, very, not to say hopelessly, subjective. Some people will only consider separate cycle ways/paths safe, for others dangerous starts at multi-lane roads at interstate speeds. So the really hard question is how would you define safe vs. non-safe and if that would fly with OSM mappers.


Just to add to Simon’s last point.

I imagine if you search back through OSM mailing lists, wikis etc. you will find this point has been discussed from time to time. However, the general consensus has usually been not to add such data to OSM.

For instance the wiki page on the Cheltenham Standard ( was initiated by Richard Fairhurst, the author of the website. Other contributors to the page are also long-standing OSMers who cycle. I can confidently state that since that page was written in 2008 the number of highways tagged with the proposed tags in Britain is vanishingly small. In the same period OSM has been widely used for several online cycle routers (e.g., CycleStreets and as well as printed cycle maps (e.g., for Wisbech in 2010). The much greater experience has shown that decent routes for various levels of cycling confidence can be generated largely from more objective tags. In the light of this there is little clamour from cyclists, authors of routing applications or the community in the UK to start mapping subjective hazards.

In general adding subjective tags will be frowned upon. It is difficult to get agreement, and there are huge differences between the needs of, say, a regular cyclist commuter, an elderly leisure cyclist, and a child cyclists. The best use of hazard tags are when they correlate with existing signage: this makes it easy for other mappers to verify the data.

So in summary, with an impending deadline adding data to OSM directly might be problematical. I would agree that creating suitable overlays is probably the best approach. Umap might be a way to try this out quickly and experimentally. Alternatively perform post-processing on OSM data, e.g, in a LUA script, or via weights in a suitable routing engine (Graphhopper comes to mind).

Types of data which is fairly objective, but is not usual to add to OSM includes:

  • Traffic accident statistics
  • Average traffic volumes
  • Average motor traffic speeds
  • Any classification of roads for cyclists by municipalities.

AFAIK makes use of available Open Data for at least 2 of these categories, but does not provide this information in it’s rendered view. Adding any speed limits and cycle infrastructure which are missing also helps a great deal.