Tagging number of lanes for non-highway features

Hi all,

The lanes=* key is, according to its wiki page, only to be used for highway=* elements. Yet other mappable features can have lanes.

Three that immediately spring to mind are running tracks, swimming pools, and 10 pin bowling alleys.

  • For running tracks (amongst other types included in leisure=track), the wiki recommends using lanes=* in contradiction to that key’s own page.
  • For swimming pools, the key swimming_lanes=* is in use.
  • For bowling alleys, no guidance is given though I did start a talk topic about this a while back (with no responses).

I think it would be useful for us to agree on a consistent approach here.

Should lanes=* only be used in conjunction with highway=*? If so:

  • Why? Surely data consumers aren’t expecting lanes=* as a stand-alone tag, so it’s straightforward enough to understand the context based on the primary tag. Why should usage be exclusive to highways? We don’t restrict surface=* just to highways for example.

  • How should “lanes” for other features be mapped? Does it make sense to keep creating new keys for each feature (e.g. swimming_lanes=*, bowling_lanes=* etc.)?

  • Perhaps using some namespace tagging? E.g., swimming_pool:lanes=*, bowling_alleys:lanes=* (or even highway:lanes=*).

Interested to hear your thoughts…


Certainly have been using lanes=* at athletics facilities, in fact think a few tagging presets ask the question as to how many lanes are in the oval. Think it’s even included in a long jump preset.

Example Relation: 14176110 | OpenStreetMap

See no need for creating the type of lane since in the sampled case the object is a running track, lanes a feature qualifier.

1 Like

Interested to hear your thoughts…

the lanes tag is currently used in 99.76 % of cases in combination with highway: https://taginfo.openstreetmap.org/keys/lanes#combinations

but as the numbers are quite high, the 0.06 % of usage with leisure still corresponds to 9400 instances, of which 8440 are leisure=track

Or in other words, 7.4% of leisure tracks have a lanes tag.
IMHO these numbers would justify adjusting the current lanes description to mention there is also significant use in combination with running tracks.


I once saw a sports track where each lane was mapped seperately with leisere=track, and I hated that. :wink:

So, yeah, I think lanes on sport tracks and swimming pools is fine.


Bwilliant idea, let me see how Shift P works on this :nerd_face:.
Wonder how a sports minded renderer would show a 6 lane running track when mapped as area. Seen a french version which had all the different pitches right.

Edit: And the results are in, working from inside out, ever larger perfect replicas of the previous copied ring. 100% parallel. Tagged as divider=solid_line

JOSM Validor has no problems with them either. ;P)

where it is claimed?

I and another user modified the page a couple years ago to acknowledge non-highway usage, for consistency with other pages that had mentioned these possibilities as far back as 2011, but this page is still confusing overall because it’s focused on roadway lanes. The definition still says “lanes … on a highway” and excludes non-motorized lanes. It may be obvious to some of us that this language only excludes cycle lanes on highways, but it also technically excludes all the lanes of a velodrome track (thus lanes=0).

OK, I see the first sentence says:

which I guess is saying all information that follows is only for highways but sentences like:

make it confusing.

There was some discussion back in 2021 on the tagging list about whether to overload lanes or use namespaces.

1 Like

In the case of a bowling alley I would think of key:capacity.

1 Like

alleys and lanes are doubled, means the same.

This change seems to suggest it?


The capacity of a bowling alley, like that of any indoor venue, would normally be understood as the number of people who are allowed to fit inside the venue at the same time. The number of lanes corresponds to the number of games that can be played at the same time.


Automatically removed quote of whole previous post.

Quote from Minh Nguyen: “The capacity of a bowling alley, like that of any indoor venue, would normally be understood as the number of people who are allowed to fit inside the venue at the same time. The number of lanes corresponds to the number of games that can be played at the same time.”

I disagree with the argument because that would be true if a two lane road can only be used by two cars at the same time. But it may indeed be confusing what capacity means.

Perhaps I formatted that last post too subtly:

  • The capacity=* key on a leisure=bowling_alley is typically being used to indicate the number of people who are allowed to fit in the venue at one time, just like on any other indoor venue. Otherwise, we apparently know about 200-lane and 300-lane bowling alleys that far outstrip the 116-lane alley in the Guinness Book of World Records.
  • In fact, when someone refers to “an eight-lane bowling alley”, they mean the floor is divided into eight linear tracks with eight pin decks and up to eight simultaneously rolling bowling balls. They don’t mean that the bowlers have to play in solitude without any spectators.

I intentionally wrote “number of lanes” rather than “the lanes=* tag” because I don’t have an opinion on whether the three leisure=bowling_alleys tagged with lanes=* are correctly or incorrectly tagged. But there should be a key for this information, just as there’s an (ungrammatically named) screen=* key for the number of screens in a cinema.

Incidentally, this reminds me that I’ve used capacity=* to indicate the number of cars allowed on a one-lane bridge simultaneously.

1 Like

alleys and lanes are doubled, means the same.

Apologies that was just a typo. I meant bowling_alley:lanes as the example.

The combinations table on taginfo doesn’t seem to be working for me so I’m not sure if there’s any other method being used to record this info.

Also, just to note I did once tag a bowling alley with lanes=* but that was subsequently changed (it’s now recorded in the description) so it’s possible this information is being added/removed.

I’m amused that anyone is concerned about a building=entertainment leisure=bowling_alley sport=10pin getting misinterpreted as a road just because it has a lanes=* tag on it. That simply isn’t how renderers or routers work. Granted, bowling:lanes=* would account for the possibility of a new “extreme bowling” sport in which you use an active two-lane roadway as a single bowling lane, tailoring your hook to dodge oncoming traffic. (I would settle for a gutter ball.)

Alas, even bowling:lanes=* was deemed too risky in this case. There are a dozen bowling alleys with “lanes” in the description, most of them the work of SEO specialists. But it isn’t very nice to take already structured data and turn it into unstructured data just because the key isn’t widely used yet…

1 Like

A fundamental issue for lanes= on them is using areas instead of lines. This makes the directionality meaningless, and has to be derived implicitly.
The bad thing about leisure=track + area=yes is it doesn’t show the section of 100m start lines explicitly, which you haven’t drawn here either. So I personally believe leisure=track lines should still be drawn inside the area with a tail to the 100m start lines. The area should have been eg area:leisure=track similar to area:highway= for compliance of typology for lanes= and possibly other linear attributes.
It may not seem significant for running. But in horse-racing, there are much more variations on the course. Plus, some may want to add the slopes and corner or curve details. incline:across= could be used for bikes and =raceway (which already has area:highway=raceway mentioned) superelevation. There is also type=circuit to define the racing routes.
On a side note, number of lanes would be applicable to shooting, archery, and golf driving range too. Anything else?

1 Like

OT\ On the globe there’s only 25 instances of the area:leisure and to my surprise it did render on Carto standard so wonder what their problem is with some other area:* variations. /OT

Since what I mapped is a inner/outer ring of a type=MP, no area=yes to be found. Either is cool, more ways in OSM than ways to Rome.

BTW, I just tried out the shift P technique to discover how accurate it would be… very, the more nodes in the bends the smoother the pic becomes. After, the edit went to the bin. Those who want to go overboard in mapping these details incl 100 meter start/finish can have a go.
Mapped a few driving ranges, but I’ve never seen them in real live each mat being numbered nor lanes being painted on the grass. In days of shanking the balls, i’d manage to hit all ‘lanes’ in one stroke ;o). Would use capacity=* tag on this function for the number of spots from which to ‘drive’, and some have multiple levels at that.