How to map new REV cycling paths in Montreal (and elsewhere in Canada)

Since 2020-2022, the City of Montreal started installing new dedicated cycling paths called REV (Réseau express vélo / express bike network). These large paths are protected either by buffers/barred areas with flex posts, by parking lanes or by permanent bollards. They are most of the time separated from the road by concrete planters/curbs at intersections and alongside bus stops. At first they were not mapped separately from the streets and cycleway tags were added on the road itself. However, since there are concrete separators at intersections, some mappers drew the path separately at intersections and then merged them to the road where the concrete stopped. This created a mess so we decided to draw them separately for the whole way to simplify. Also, it allowed us to create crossing segments at each intersections and this allowed analysts to calculate the length of each segments (intersection segments where car crossing may occur, and protected bike path segments where the cyclist is protected by bollards, parking lanes or barred areas). This is particulariy useful for public safety agencies to calculate the probability of accident and estimate the safety of each cycling path segments.

On the wiki page about cycleway:track, it says that in the USA, these are usually mapped separately even when only a parking lane or flex posts separate the road from the path.

Can you provide suggestions here with pros and cons for both drawing them separately and not?

For my part, I support the separate drawing method since it allows more precise segments analysis like I explained above, but I would prefer a consensus on this issue. This will help prevent back and fourth adding/removal of bike paths on the REV network. Thanks!

2 Likes

Some of my thoughts:

Pros of tagging on the main highway:

  • It is clear what street/road the track is next to or on. This can help determine some properties of the bike paths, for example, even if there is physical separation, riding on a bike track next to a 60 km/h highway=primary is quite different from riding on a bike track next to a 30 km/h highway=residential. [1]
  • Also, the street/road itself would also know that it’s next to a bike track, so car routers can give appropriate warnings or prefer to avoid it.
  • In particular, name is always set, and routers can give directions like “take the cycle track on Bloor Street”. We can and should add name to highway=cycleways mapped separately, but in practice this hasn’t happened a lot, perhaps because it creates clutter on the carto map styles
  • There is less chance of making mapping errors like ending the track on a driveway that’s been tagged private, like
    image

Pros of mapping separately:

  • Tagging on the main highway can get quite complicated, for example a two-way track on one side of a one-way street could end up with something like bicycle:oneway=no + cycleway:left=track + cycleway:left:oneway=no + cycleway:left:separation:right=bollard… That won’t be trivial to get right, and it’s not clear to me that any map users can use all of it properly right now. Mapping separately lessens this because it’s now just highway=cycleway + oneway=no + separation:right=bollard
  • Geometry could be shown more accurately (though it sets up potential problems at transition to and from the separate mapping)
  • A lot of mappers seem to like this style (perhaps so they can see the bicycle infrastructure shown on the default carto style?) so you won’t be potentially swimming against the stream and repeatedly having discussions about this. (In Toronto we had a mapper from New Zealand (?!) come in and map some tracks separate ways, with several issues, but if you set up the guidelines for mapping separately well, maybe that won’t happen as much.)

  1. There is a proposal and some usage of is_sidepath:of so we could do is_sidepath:of=tertiary + is_sidepath:of:name=Some Street but even that proposal doesn’t include is_sidepath:of:maxspeed. Routers matching the street by name or by guesswork might be feasible, but a lot of work. ↩︎

1 Like

Thanks for your feedback. Just a note: in Montreal, we add the street names to sidewalks and cycleways along streets, so this should not be an issue for navigation. Also, we have tools to detect connectivity errors like cycling path unconnected at the end or connected to private/inaccessible highways and I usually fix them the next day or so.

1 Like

May be worth watching:

1 Like

One more consideration: when a cycle track transitions into a lane.

When tagging on the highway, it’s a pretty simple change from cycleway=track to cycleway=lane, and it’s obvious to data users that we stay on the same street:

On a separate cycleway you’d have to either merge back into the main highway, or do something like highway=cycleway + cycleway=lane.

The New Zealand mapper who changed Toronto did the former and it made routing pretty useless as the router listed every merge back and forth on this straight street as “turn slight right”: https://bin.piorkowski.ca/2024/2024-06-14%20bike%20track%20routing.png (perhaps made worse by giving the cycleway a different name than the street?)

On the other hand having a highway=cycleway + cycleway=lane doesn’t seem optimal either – it’s not really a separate cycleway if it’s just paint separation, right? It’s one thing to have a cycleway=crossing through intersections, but another in places where the bike track is downgraded to a lane for several blocks, but then resumes as a track later.

So perhaps on routes that somewhat frequently transition from track to lane we should encourage not mapping as separate way.

2 Likes

It appears there’s no transcript of this 30 minute video? That’s a shame. Do you know if there are any proposed solutions in the talk, is there maybe a blog post announcing and discussing them somewhere?

under the video there is a text summary

Yes, I saw - it seems to be the talk pitch, which ends with:

“This talk will discuss these cases, and provide a starting point for discussion on what should be done to improve the situation. As people are ever keener to add more detail to the map, and as more and more mainstream users look to OSM, we have to ask whether the current model is arguably creaking too heavily. Is there a way that we can represent spaces as a set of interconnected flows in some way?”

So what was the discussion in the talk? Was there a new “way that we can represent spaces as a set of interconnected flows in some way” presented? Any potential solutions discussed, with pros and cons? Or was the talk only asking questions?

I’m not done yet listening to it, I will come back to you :slight_smile:

Uh-oh… Changeset: 157775696 | OpenStreetMap


I for one like mapping them separately—likewise I map sidewalks separately—because of the aforementioned comparative ease in tagging them instead of adding a myriad tags to the highway. To do them “properly” also often means splitting the highway way into preposterously small segments, especially when factoring for other reasons why highways are split into small segments: for lanes, lanes:forward/backward, turn:lanes, turn restrictions, speed limits, surface, etc., etc.

And don’t even get me started about parking…

In the video: it is a discussion of the problems, but there is no solution provided: there may be no solution in fact except mapping all streets as areas and add relations but this would be too intensive for the available resources… So we need to decide between us :slight_smile:

2 Likes

Here are some examples of how it is mapped right now (my work, but there are similar intersections mapped by others in Montreal):


In my eyes, we are well beyond the point that sidewalks and cycleways are tagged in details on the main road. I am fine with that as long as there is a physical separation like some kind of barrier or a grass strip. Though we should still connect the separate ways and the main road to each other with tags and we need to take care of each changing opportunity between the separate ways. E.g. if the curb is lowered at one place or there is an opening in the barrier we need to add a link. This gets tricky if the barrier has lots of openings or is a line of bollards.

Sounds like is_sidepath=* and its subkeys.

cycleway[:side]=separate and bicycle[:direction]=use_sidepath

Not a pretty tag but is_sidepath:of:name=* can be used instead.

How about placement=transition? Routers can ignore the short links and calculate the angle between the way segments before and after the way with this tag.

We have a guide for tagging sidewalks separately but still I often have to remind (new) users to tag it properly with footway=sidewalk, is_sidepath=yes plus change the value of sidewalk[:side]=* to separate on the main road (and add foot=use_sidepath in Germany). Not talking about lots of missing links between the sidewalk and the main road.

Looks good!

Do you have any recommendations on tagging lower-quality infrastructure mixed separation, shifting from paint- to parking- to curb-delimited and back again? Or would you prefer that to be a separate discussion?

Which is the case in most of Toronto bike infra.

Maybe elsewhere in Canada it’s better?

There are currently zero uses of is_sidepath:of:maxspeed but you could be the first one :slight_smile:

Which incidentally isn’t meaningfully supported by any data users, see Haben straßenbegleitende Rad- und Fußwege Namen? - #30 by Jarek

I would love to use it. Please get some data users to add support (25k current uses) then I will join in.

Do routers or renderers actually do this? The proposal has been around since 2012 - has anyone implemented using this?

1 Like

At least you were mapping in your province, not across the globe! :slight_smile:

Though to get from the Red Arrow stop to Celebration Square by bike you now continue on 9 Avenue SE, then turn right, then turn left, then turn left, then turn right, then turn left. Easy!

Compare with car directions:

image

Honestly, I kind of agree, but I think that battle was lost at turn:lanes.

And then parking:lane=* happened…

I’m a big fan of mapping the cycling infrastructure out individually where possible. We have excellent mapping imagery resolutions now in most cities why not make the most of it? Additionally, cycling infrastructure is not entirely bound to roadways with paths and routes take departures through greeways, parks etc… There are specifics of crossings that the roadway tagging does not capture for pedestrians and cyclists that i feel should be there to help users. Finally its completely lost on new mappers that these road tags even exist, it’s easy to see and map a new way with what its function is.

Where i typically see the breakpoint from moving from road tags to dedicated mapping is going from “safer streets”, sharrows and painted lanes to a separated lane, cycle track or MUP.

This can confuse routers. What i would encourage you to do when mapping is think of the segment as a bus route to ensure there are no gaps in the lines. Ideally we are turning these into bike routes using the meta tagging. (there is a whole question i need to bring up to you all regarding naming schemas and route creating in the absence of formalized ones for cities without)

I also see the Montreal REV mappers don’t make use of the forward tag on their routes as well you might want to consider that to indicate directionality on your one-way cycle lanes routes. Here is an example from Edmonton i did a while back to help

OpenStreetMap - Edmonton 76/106 routes

anyway excited to see how others are settling in on cycling infrastructure mapping its a bit challenging to find gold standards to copy from as every city seems to have its own takes and quirks.

I added the placement=transition to all motorways in the Montreal area. I plan to use them in my research, but I am not aware of any tool that parse them correctly right now.

1 Like

I watched the linked video… Am still equally confused on a path forward for the OSM people but I see now the inherent problems of dedicated mapping I kind of overlooked. Sidewalks and bike routes probably need some extra work from what I or other locals have done to help. I still think referring to entirely road based tagging is just accommodating a flawed OSM architecture and routing issues is a dead end.

Really the core issue is in testing routing and connectivity. Is there any way to test this efficiently before uploading? The wiki suggests using an export and OSMand but that is pretty convoluted too and reliant on manual checks.

Equally are there tools to flag routing issues on the existing map to investigate further?

It’s really hard to sort out why a certain router doesn’t do what a normal human would expect or gravitate towards safer options and I would love to know why.

1 Like

I would also love to know if there are good solutions to this. In suburban contexts, there’s a lot of stuff that is perfectly navigable by bike in real life (e.g. going through one parking lot to another in a way that is not possible for a car) but the routers will put you on a 4-lane 60kph street instead.