Talk:Proposed features/toll

From OpenStreetMap Wiki
Jump to navigation Jump to search
For reference: Topics dicussed on the mailing list can be found here

Country type

Country type should be optional. It is only needed when a toll exists at the border of two countries and is operated jointly by both countries. A toll on a motorway in the UK does not need toll:UK=* to make sense. If the tolls at the border are separated then the placement alone is sufficient (they're on opposite sides of the border).

The country prefix is not optional for one reason. When a routing tool has to calculate a route from Berlin to Rome via Vienna you would only be able to say to use or not use streets that include a toll. With including a country prefix you can say that you have eg. a vignette for Austria and Germany, but want to stay off toll routes in Italy. You could also calculate if the street is within the countries boundary saved in a relation. However, this would take much longer to calculate than to parse a tag. --TBKMrt (talk) 16:50, 8 May 2019 (UTC)
a) We optimise for the mapper, not the data consumer. We don't create extra work for mappers just because "this would take much longer" for the consumer. b) It's nonsense anyway. I do lots of region-specific parsing for's routing. It does not "take much longer" at all. The impact is practically unnoticeable. --Richard (talk) 13:49, 19 November 2019 (UTC)
very good point why it should NOT be mandatory as it makes sense only for vignette. --Nospam2005 (talk) 12:27, 19 May 2019 (UTC)
There are ever more regulations concerning toll, either via vignette or based on the distance driven. There are also ever more restrictions upon entering, e.g. the city of London, which also requires a toll. Thus it should be encouraged and facilitated to add as much additional info as possible for drivers and programmers of navigational solutions. This is nnot an easy questions. When in doubt, I prefer that country type options should be mandatory. This allows for more clarity for the end use case. --Girolamo (talk) 19:41, 29 May 2019 (UTC)

What is missing is unidirectionality. Many toll bridges in the UK collect payment in only one direction. That arrangement means all the toll booths that fit in the space available for them handle traffic in one direction, speeding things up. Better handled by lane-splitting in most cases, but not all of them are multi-lane. --Brian de Ford (talk) 14:09, 8 May 2019 (UTC)

This is something I didn't know yet. However, this would be easy. If it's a separated road (so mapped with two separate ways in OSM) you tag only one and if both directions are in one way you can use toll:forward/backward. Can you give me more information about these bridges? --TBKMrt (talk) 16:50, 8 May 2019 (UTC)
Guess that is rather a special situation. Still the "forward/backward" key might be helpful in these special situations. --Girolamo (talk) 19:41, 29 May 2019 (UTC)


Please add a complete rationale that explains why this proposal is necessary

I also think you should send this as an email to the Tagging list. --Jeisenbe (talk) 14:11, 8 May 2019 (UTC)

The rationale section still does not explain why this new form of tagging is needed or useful, it only mentions that tolls exist, but we already know that. Please explain why we should use values like "toll=<ISO code>:fee" instead of "toll=yes", and why it should be under the "toll" key instead of new keys like "toll:fee="--Jeisenbe (talk) 11:40, 19 November 2019 (UTC)

Tagging List

An email has reached the tagging list. It includes the footer:

NOTE: All comments attached to this mail WILL NOT BE PROCESSED! Only comments on the wiki page will be answered and worked on!

It has rapidly become clear that any wiki page which attempts to dictate tagging practice, especially without taking onboard valid concerns raised on that list is likely to be ignored. Andy Mabbett (User:Pigsonthewing); Andy's talk; Andy's edits 16:05, 8 May 2019 (UTC)

I do not try to dictate anything (that's why this proposal exists in the first place). I have only one ass and my time is short so I don't have time to maintain both. Because I have to drop one anyway I dropped the one that is more uncomfortable to use. That's why I made clear right from the beginning that all comments should be written to the wiki. If someone is willing to copy ideas from the mailing list into the wiki that's fine for me. It's not said that comments and new ideas aren't welcome. --TBKMrt (talk) 16:50, 8 May 2019 (UTC)
I saw that some already mailed to the list. It is everything but well-aranged, has no easy to use layout, no logic line-up of comments, etc. It is already so bad it gives me eye cancer. If you want to copy the info be my guest! If they want to drop a comment here they are more than welcome to do so. --TBKMrt (talk) 17:02, 8 May 2019 (UTC)
[ec] You'll notice that I wrote "any wiki page which attempts to dictate..." not "any person who attempts to dictate...". I'll leave it to others to decide whether or not "comments attached to this mail WILL NOT BE PROCESSED!" is welcoming. Andy Mabbett (User:Pigsonthewing); Andy's talk; Andy's edits 17:03, 8 May 2019 (UTC)
Wikipages can't even dictate when they are approved. Some peple will happily remove the maxspeed value from streets arguing that this is the maxspeed in this country anyway. I added another mail to clarify that this comment is all about. If somebody doesn't feel welcome, he is free to not come over. If he wants to leave a comment anyway though, he is more than welcome to do so!
Since voting is done over here as well, discussing here is also a much more logical approach since everything is collected in one place. --TBKMrt (talk) 17:21, 8 May 2019 (UTC)
Definitely do not see the point in this discussion. Nobody/No page is trying to dictate tagging here. This is why we are discussion the issue her before new features are being introduced. Please keep up the constructive spirit and allow for new ways of thinking and new practical solutions! --Girolamo (talk) 19:41, 29 May 2019 (UTC)

Country codes

Why are the country codes included in most of the values? I can see how the currency of the toll could be useful for cash tolls, but usually this is obvious locally. In Europe everything is in Euros now, right? So is there any difference in paying tolls in Germany vs Italy? --Jeisenbe (talk) 14:11, 8 May 2019 (UTC) Not everywhere, UK, Norway, Sweden, Denmark, Poland..

The country prefix is not optional for one reason. When a routing tool has to calculate a route from Berlin to Rome via Vienna you would only be able to say to use or not use streets that include a toll. With uncluding a country prefix you can say that you have eg. a vignette for Austria and Germany, but want to stay off toll routes in Italy. You could also calculate if the street is within the countries boundry saved in a relation. However, this would take much longer to calculate than to parse a tag. --TBKMrt (talk) 16:50, 8 May 2019 (UTC)
I am against wasting time of mappers to duplicate data already present in position of way. Geocoding is not so hard, especially if you want to have just a country of a given location - it takes below milisecond to compute it Mateusz Konieczny (talk) 16:55, 8 May 2019 (UTC)
I'm not a routing tool developer so I don't know what would be the best way of doing that. If tag analysis is more efficient than geocoding, I still prefer the a more complicated tag. Maybe a developer from eg. Graph Hopper os OSRM can say what the more efficient way would be. Moreover: it's really not complicated. lanes is a rabbit hole compared to this one. --TBKMrt (talk) 17:17, 8 May 2019 (UTC)
And opening_hours=* is even worse. It is not justifying requiring mapper to enter again already provided information Mateusz Konieczny (talk) 17:49, 8 May 2019 (UTC)
opening_hours is quite simple in my opinion compared to Conditional restrictions. But I agree that it is not a good idea to overcomplicate things here.
However, the scheme is always the same and clear. There are good examples in it and we can add more if we see the need to do so. Since every step is explained and you are guided through the whole layout step by step, it is not hard at all in the very end. Sometimes there just is the need to provide more information between black and white.
--TBKMrt (talk) 17:52, 19 May 2019 (UTC)

Keep toll tag simple

I see no good reason to turn simple boolean tag (toll=yes/ toll=no are 98,98% of all values) into something highly complicated. It would work better as a new tag. Also, what is the point of tagging that road located in Italy is an Italian toll road? Mateusz Konieczny (talk) 14:49, 8 May 2019 (UTC)

The country prefix is not optional for one reason. When a routing tool has to calculate a route from Berlin to Rome via Vienna you would only be able to say to use or not use streets that include a toll. With uncluding a country prefix you can say that you have eg. a vignette for Austria and Germany, but want to stay off toll routes in Italy. You could also calculate if the street is within the countries boundry saved in a relation. However, this would take much longer to calculate than to parse a tag. --TBKMrt (talk) 16:50, 8 May 2019 (UTC)
This applied to other section. Here I am asking why you propose to redefine existing tag with a friendly boolean syntax rather than define a new one. And getting country from coordinates it not taking long, with a proper algorithm it is below a milisecond Mateusz Konieczny (talk) 16:56, 8 May 2019 (UTC)
For the same reason why maxspeed=yes/no is not really usefull. There is just much more information to the tag than a boolean value can express - beeing unfriendly or not. --TBKMrt (talk) 17:17, 8 May 2019 (UTC)
Every single road has defined maxspeed (in rare cases defined to be unlimited) so maxspeed=no is not even valid, making maxspeed=yes useless. In contrast some roads are toll roads and some not, such distinction is sufficient for many uses and easy to map Mateusz Konieczny (talk) 17:50, 8 May 2019 (UTC)
If maximum speed on one road is unlimited, there is not such a thing as a speed limit after all (eg. on german highways the street sign sinply indicates the end of the current speed limit so maxspeed=no would apply here since there literally is no maximum speed beyond this sign. If maxspeed=no is valid, maxspeed=yes is usable, but yet provied useless information).
There can be roads with different toll systems in one country which you have to map in order to be used as base for a good routing system. An example: You want to drive from Jenbach (AT) to Vipiteno (IT). You have a vignette for the austrian motorway system, but you don't want to pay extra toll for the Brenner motorway. How do you differ between the motorway where you pay with the vignette and the motorway where you pay with a fee just by using "yes" and "no".
--TBKMrt (talk) 18:16, 19 May 2019 (UTC)
Unfortunately I would say that reality is often much more complicated (in reply to Mateusz). I would definitely 1) provide more tagging possibilities in OSM (therefore this proposition), and thus 2) encourage mappers to add more info to the map. Automatisation does not always help. Situations are becoming ever more complicated and many different cases cannot be correctly displayed. We are lacking user info from the ground. Worse, OSM is losing out its position against other mapping solutions in terms of navigation, if we do not offer more possibiliteis. TBKMrt correctly explained the case. Which roads can I take if I have an Austrian vignette, but no Slovenian, Slovak or other vignette? (please do not say "just buy a vignette at the border") --Girolamo (talk) 19:52, 29 May 2019 (UTC)

Payed v Paid

I think that it should be "Paid", not "Payed" Mateusz Konieczny (talk) 15:04, 8 May 2019 (UTC)

Correct. Thanks for the note, I already fixed it. --TBKMrt (talk) 16:50, 8 May 2019 (UTC)

Toll payment options

Hello. I am a mapper from Okayama,Japan and intrested in improving highway tagging systems.

Usually, toll roads in Japan have two payment options.

(a) cash

(b) Electronic toll collection system(ETC)

In some Japanese expressways, the amount of toll is different depending on the payment method.

For example, when we use Shutoko(Metropolitan Expressway) with cash, we have to pay the fixed maximum toll(1300 yen for a regular car). If we pay the toll with the ETC system, the toll is a function of the travelled distance(29.52 yen/km).

What should we tag for such a case? --Yumean1119 (talk) 18:46, 8 May 2019 (UTC)

An interesting case!
I would say toll=JP:fee;JP:meter (since both apply) and toll:type=distance (because it looks like you can't drive as much on the highway as you want once you have paied.
--TBKMrt (talk) 17:43, 19 May 2019 (UTC)
Good point! From this we see how important national obligatory tagging is vital. Generally, I am aware that in some countries in Europe (e.g. Croatia) users are being motivated to use ETC. Croatia offers an ETC pre-paid and a post-paid model. Depending on the model chosen, there are discounts for each payment. As a whole, users need to top up their account depending on km driven. Anyhow, for mapping reasons I would still classify it as distance-oriented model. I guess that we would not need further differentiation for Japan, since it would go too far that OSM should also display the exact fees and special discount offers (for any given moment). --Girolamo (talk) 19:41, 29 May 2019 (UTC)


Type is one of the best words to choose if you don't want people to know what is behind the concept.

   time - The fee is paid once and the road can be used within a certain time zone (eg. a year, a month, several days)
   distance - The fee is paid per distance. The more often the road is used the more money it costs.

it defines a measurement, so tool:measure=* or tool:unit=* for instance. --Nospam2005 (talk) 12:39, 19 May 2019 (UTC)

That's an interesting idea. I just went for type, because in my head it figured out as how is the toll fee generated or what type of toll fee is it. So I went with type.
However, since it indeed defines how the payed fee is measured toll:measure really looks like a good choice here.
--TBKMrt (talk) 17:46, 19 May 2019 (UTC)
In general, we identified two measurement types: distance and time. I am totally fine with any identifier you deem most correct. --Girolamo (talk) 19:41, 29 May 2019 (UTC)
I switched from type to measure --TBKMrt (talk) 13:33, 2 June 2019 (UTC)

toll road for hgv

As an hgv engineer, I can say the following. In Europe, for hgv there are roads where payment for trucks depends on the kilometers traveled - for example, in Belarus it is 0.115 euro / km for hgv with 5 axles and euro-6, 0.9 for 3 axle etc. There are countries where road pricing is paid for by vignette, which is valid throughout the country (Eurovignette, for example (Netherlands, Luxembourg, Denmark) and there are roads, such as in France or Austria, where toll roads are divided into sections with a fixed cost, regardless of how many kilometers the car has traveled on it (for example Innsbruck-Brennero - about 50 euros) --Andrewkl (talk) 07:07, 21 May 2019

Thanks for your input. That is some interesting information!
Just to be clear: The idea behind this proposal is not to collect how much money the toll costs since it is always subject of change.
By looking at your examples I would say everything should be easy to handle:
Belarus: toll:hgv=BY:fee + toll:hgv:type=distance (Note that for the tag component "fee" it doesn't matter how much you actually pay, but only how you pay) If you would pay using a digital device that self records the track (eg. The GoBox in Austria) it would be BY:meter.
Eurovignette: This would be per country. toll:hgv=NL:vignette/LU:vignette/DK:vignette + toll:hgv:type=time (I assume that the vignette is for a set ammount of days/weeks/months - which is correct by the looks of the webpage). If there is a vignette for more than one country, the routing tool would have to take care about this. Eg.: If you have a baught a Eurovignette under the hood you actually have a vignette for each of the countries.
The highway in Austria is a bit more complicated. For regular cars you have toll=AT:vignette + toll:type=time. For HGVs you have toll:hgv=AT:meter + toll:hgv:type = distance. On some parts of the austrian motorway you pay for the driven part without needing a vignette (I'm not sure about HGVs on this road though. By the looks of the ASFINAG toll calculator it doesn't change the system for HGVs). So for these parts of the austrian motorway system (Brenner, Arlberg Tunnel, etc.) it would be toll=AT:fee + toll:type=distance (and maybe toll:hgv=AT:meter & toll:hgv:type=distance for HGVs)
Is there anything that you think I have missed? --TBKMrt (talk) 22:06, 22 May 2019 (UTC)
My proposition would be - maybe easier - to add special national categories for eg. Brenner or Tauerntunnel in Austria, which have a fixed fee (in addition to the vignette), for example "toll=AT:Brenner". Thus only for these special situations and as additional info. Most other situatiosn can be solved through distance based and time-based tags. --Girolamo (talk) 19:41, 29 May 2019 (UTC)
We can collect special information about the fee in a different key or subkey. In mind of consistency, ease of use and providing the essentials first, the key toll should only be used for categorising what type of toll it is. If we include special cases like eg. the Brenner every motorway with a fee would have to get one thus reducing the chance of ever beeing used by any routing software just becuase of the simple fact that the ammount of possible values is incredibly high.
After looking at how the fee is included I found toll:special as how it is included right now. A key that is never mentioned anywhere except as an item here. It is used ~1'200 times and almost exclusively in Austria. When we take a look at the existing values we can see that there is no standard layout such as naming, combinations with ref or anything like that.
I would support if we want to collect such data, but we have to agree on a standard way of doing it. I would be fine with either a subkey to toll or creating a new key. However, toll:special is not a name I would use since it doesn't say what should be collected in that key.
--TBKMrt (talk) 13:31, 2 June 2019 (UTC)

Ecological fees

Just wanted to draw your attention to a possible addition of ecological fees to the toll key. Examples are the city of London, many German cities (demanding a plaquette sticker), but also Chinese cities in which only certain number plates on certain days are allowed in various cities (equal/odd numbers or certain letters). Austria has also introduced night driving bans on certain motorway sections and varying speed limits due to air pollution legislation - the latter not feasible for mapping (night driving bans for HGV should be included). Thus in addition to distance and time, ecological reasons should be an additional option. --Girolamo (talk) 20:13, 29 May 2019 (UTC)

We have to differentiate between extra fees and general access restrictions.
I don't know about London, but as far as I know in german cities you have coloured stickers which indicate if you are allowed to enter environmental zones or not. I don't think that there is an extra fee included in that. It's just based on how pollutive your car is.
If only a certain roost of number plates are allowed in the city it's also not a toll as such. Same for austria. There are general rules and way section specific rules that say wether you are allowed to drive on that road or not. But again: This is access and not toll.
So far I don't know any toll that includes ecological fees. Also noted the key toll is to collect information whter there is a fee or not. It's not about the ammount of fee since this would be a wide field of possible fees which get changed over time.
In general it should be possible to include such fees using toll:conditional. The exact way of including this heavily depends on the how the fee is determined (so per emmited gramm CO2, EURO classification, type of fuel, type of vehicle, etc.). As soon as we have an example, we can take a look at it.
--TBKMrt (talk) 13:17, 2 June 2019 (UTC)