Systematic wrong highway tags "service" instead of "link"?

That’s a good point. I guess I want to disallow matchings to motorways in general. The match I would like to see is to tempelhofer damm though, precisely here: 52.46923, 13.38548, not in front of the building.

I disagree that a turning point should be tagged as *_link road.

A link is, colloquially speaking, a ramp that carries significant traffic from one road to another. Example https://www.openstreetmap.org/way/334005619 given above is a *_link.

A turning point in a dual carriageway system is not even a road or a lane. It is a place where the physical divider between the opposing carriageways has a gap and a paved surface. It’s intention is that places on the other side of the divider are accessible occasionally, without making a u-turn over the next big junction, which might be more dangerous.

Ok, I see what you mean. I agree, in that sense it is not a link.

Interesting. To my mind a service road is intuitively “the last 100 meters”. This also fits well the wiki definition, I am quoting:

None of these requirements are met by https://www.openstreetmap.org/way/24658684

Also, “not even a road” seems a bit exaggerated to me. I believe it is usually the same asphalt as the roads it links to and I know that it can have the usual turning markings on it, the white arrows, see e.g. here: https://goo.gl/maps/urBASR4HRyB2

By the way, the wiki page of “link” also explicitly mentions so-called “internal turning lanes”, see https://wiki.openstreetmap.org/wiki/Highway_link, which suggests to me that links might have a broader meaning than your description.

Polarbear, what do you think?

Perfect example for a service road. The only purpose is to reach the customer parking (way 83709017) on the opposite side of the dual carriageway. So, it is effectively the extension of the building passage onto the car park, thus it even fits your “last 100 m” criterion.

Effectively it is a wideing of the eastbound carriageway, and as such it has an arrow on it. Better visible in Geoportal/DOP2018 and mapillary, than google.

Please note that OSM has a linear abstraction for roads, which is required for one of its primary purposes, vector navigation. Thus you need some node/way connectivity to calculate a routing graph. Thus some auxiliary constructs are necessary, one is this kind of connection between dual carriageways, another one is how we map junctions of two dual carriageways.

If you want to solve you routing problem, you should not exclude service roads from your database, but instead give them a higher cost penalty so they are only selected if really needed.

I agree, but this is not what some people think. There are several contributors changing, e.g. from unclassified to *_link turning points, because is their understanding of the wiki definition.

So, when my nuvi with osm maps says “Take the ramp …” almost never there is a ramp. :frowning:

I think these parts of the roads are designed to serve the function of turning around not the function of reaching a parking space. They are certainly not “perfect examples” of a service function. What do the following roads service?

https://www.openstreetmap.org/way/62164705
https://www.openstreetmap.org/way/88535168
https://www.openstreetmap.org/way/88535168
https://www.openstreetmap.org/way/88535169
https://www.openstreetmap.org/way/88535170
https://www.openstreetmap.org/way/329869882
https://www.openstreetmap.org/way/310895756

Can you make these clickable? I don’t know what you are referring to here.

I can’t see the relevance. My point is that the tag “highway=service” is wrong and doesn’t fit the other uses of the same tag. Now “secondary_link” might also be wrong here, but that doesn’t make “service” right.

Thank you for thinking about my routing problem, but that has nothing to do with the issue. The routing problem is merely why I discovered the issue in the first place.

I am not sure anymore. It might be that they are designed so that places of interest can be reached… We should ask a city planer.

These are all a few meter stretches of pavement connecting two carriageways of the same road. In my opinion this makes them clearly belonging to this road and I would tag them with the same highway tag as the road itself. Not _link and certainly not service.

I think your suggestion is a good compromise. There is not enough “ramp” to be a link and there is not a clear enough “destination” to be a service road. Maybe I will write to a city planer and ask them specifically about the design purpose. If I get a response I will post it here.

BTW I am also willing to do the re-tagging work in Berlin, given that Polarbear does not veto.

I have no strong opinion, but have used all of the ‘bad’ tagging in the past.

  • ‘service’ because it didn’t need a name and turns / U-turns are an exceptional condition. But I can see how it complicates routing to insert a service road in the middle of a route rather than the closest way to start / end a route.
  • _link because it doesn’t need a name and it ‘links’ roads to each other. But that may not be the same way a traffic engineer would view the usage of a _link road.

If this is the new preferred way to tag center connectors, I can see massive retag projects coming. It does lead to issues when editing because of editors warning of lacking Refs and names.

Why would the connecting way not have the same name as the road? I don’t say it is necessary to tag the name but if I wanted to I’d take the same name and ref of the main carriageways. I think I only once have come across a situation where the two carriageways had different names.

I am preparing a list of affected way ids. Is there a better approach than to scan the city visually, panning around in the OSM editor?

Does the search box understand filter commands? I.e. can I select all service roads with less than 5 node elements and display them in the editor for me to scan?

EDIT: Lists of things under discussion might generally be a good idea. Do you use lists of elements for your editing purposes?

For finding and filtering you can use Overpass Turbo. It has a powerful albeit not too intuitive query syntax. I guess you could so something along: find all secondary highways, get the nodes of these highways, find all service roads that share one of these nodes. But I am no expert on Overpass Turbo queries. You need to figure it out by yourself or wait for more help here.

Sounds good. Will post results here.

I strongly disagree with tagging an asphalt widening e.g. between the left and the right secondary carriageway as a secondary carriageway. They do not have names, and they do not have refs. There is no “B1” in Berlin that connects the “B1” eastbound and the “B1” westbound. Not in my list of Bundesstrassen. There is an official Strassenverzeichnis for Berlin, and those turning points are not in it. As said, they are not ramps, and not even roads. You need a linear connection between the two nodes for navigable connectivity in graph theory. They need a highway tag that is accepted by routing engines.

You might consider highway=service not being ideal for this auxiliary connection, but it is better the other options. Please consider that a routing engine weighs the usability of a road by its rank, thus it would route major traffic through such turning point, which it is not built for. The turning point allows access to the property on the other carriageway, thus it fulfils the service meaning.

It’s totally new to me that carriageway get names at all in Germany. The roads are named and the roads consist of carriageways, separators, sidewalks etc. So in my opinion the connectors between the carriageways are clearly part of the same road and because of that it is totally acceptable to tag them alike.

I wrote an email to

Straßen- und Grünflächenamt
Straßenneubau, Planung und Entwurf
Bezirksamt Mitte von Berlin

asking about these parts of the road and what they are for. Here is the response:

So, the main purpose is to allow u-turns, but they are also sometimes used to give access to buildings on the other side of the road.

Fine. While it is difficult to interpret the answer without reading the question, it supports my position that:

  • they are not road segments, in particular not ‘link’ roads nor ‘secondary’ roads
  • they are just some asphalt on the median
  • they are not named
  • they are there to access a building on the other side (directly, or by making a u-turn)

The length of OSM-way segments is determined by connecting the OSM-ways which are a linear abstraction of the main carriageways; that positioned in the middle of the width of the carriageway. The way/node abstraction is a requirement of a major purpose of OSM, navigation. We do need the connection as a navigable way, for which I consider the lowest OSM highway category as suitable.

Anything else would go into the interest group of area:highway mappers.

I tried working with overpass but the query language is painfully difficult and I couldn’t find a solution. Finally I created a python script that reads the osm map of berlin and filters all ways that are service or unclassified and have both endpoints on a road with highway tag one of

["motorway", "trunk", "primary", "secondary", "tertiary", "residential",  "motorway_link", "trunk_link", "primary_link", "secondary_link",  "tertiary_link", "living_street"]

Of those roads I kept the ones of type service and unclassified. Finally I filtered by max length of 37m. Finally I found there are 402 of such road links in Berlin. Here are the ids:

[4446804, 4446805, 4474898, 4493352, 4570561, 4588814, 4588815, 4603596, 4674698, 4792166, 4804161, 4808080, 7956545, 8004061, 8008915, 8036572, 8039956, 8639449, 10742770, 13863064, 18830954, 19605972, 20134140, 22375562, 22375635, 22495063, 22996272, 22996291, 23046980, 23153460, 23153461, 24205292, 24258932, 24340273, 24561171, 24736779, 24743591, 24851963, 24909562, 24909586, 24909632, 24918387, 24954142, 24955768, 25020268, 25040367, 25040368, 25212774, 25538630, 25747798, 25770726, 26310230, 26414224, 26457884, 26545782, 26828719, 26832457, 27075128, 27156866, 27168531, 27623003, 27651712, 27730313, 27850034, 27852645, 27958575, 28077011, 28163470, 28273446, 28335666, 28405315, 28506724, 29239605, 31065216, 31116137, 31473268, 31611164, 31815293, 31815294, 31815295, 32765955, 34835386, 35465046, 36337929, 36338285, 36878113, 36942049, 37573646, 37815473, 37815474, 38329761, 38329762, 38725489, 38762417, 38763673, 38763676, 38763877, 40459892, 40667367, 40667790, 41292627, 41673714, 41764796, 42265707, 43036659, 43087006, 43394508, 44034147, 44524549, 44527383, 45339923, 45399418, 45869054, 46424277, 47427183, 47973247, 47973303, 47975006, 48015706, 48475976, 48477910, 48477911, 48792899, 48792902, 48873001, 49163432, 49163435, 49163437, 49163613, 49163614, 49166247, 49182373, 49438009, 49708150, 49748059, 51033116, 51033123, 51033124, 51033125, 51095762, 52990075, 53256975, 53797886, 53835765, 57391841, 59038366, 59392588, 59392589, 60046361, 60065272, 60065274, 60065496, 60690958, 61408223, 61423392, 62164704, 62164705, 62318496, 62318507, 63972160, 65975817, 66420988, 66424587, 66424589, 72202415, 74507243, 75262673, 75262674, 75262676, 75262677, 78579768, 79422546, 80029218, 83589278, 83888670, 83888818, 85278288, 88535167, 88535168, 88535169, 88535170, 88655690, 90525624, 90525625, 90993871, 93478263, 95189654, 95920837, 96824634, 96824635, 98208743, 102780037, 102943813, 102943816, 105506956, 106346031, 106797560, 106997206, 108704294, 109813713, 110133878, 110863802, 110899738, 111048867, 111812578, 112428001, 112428002, 112882899, 112882900, 112886551, 113780783, 115481679, 115481681, 115481701, 115481703, 115481707, 115484601, 115484607, 115484613, 115942561, 117322684, 117913907, 118199577, 118199578, 123002412, 124810762, 125520158, 126290784, 129207716, 130518509, 130518981, 130518984, 130518985, 131981024, 136699501, 137728433, 137728434, 137728435, 137728436, 137728437, 137728438, 137728439, 137728440, 137728441, 137728442, 137728443, 138147743, 138147744, 138147745, 138160564, 138556915, 141233526, 141233530, 143624379, 144021180, 147972697, 148888655, 148930580, 148930581, 148930866, 148930870, 152264782, 152264783, 154837291, 164955117, 165329543, 166973640, 168944479, 171095996, 176229664, 179652279, 181317533, 182674121, 183240212, 183256451, 190928928, 191278543, 191288219, 191806106, 193768734, 195075090, 197917666, 197917669, 199574478, 201686826, 210447761, 211153084, 212698443, 212700584, 214553469, 216025821, 216025822, 216206771, 216973995, 216974031, 220943181, 222152934, 223013765, 225142957, 236853029, 236955398, 237460084, 239336054, 239336055, 239620580, 240803994, 246044829, 246044833, 259433185, 267402930, 270669508, 279142400, 284232568, 284527347, 287142083, 289213495, 303548053, 303548054, 303548055, 303548056, 303548057, 303548058, 303548059, 306866895, 310386887, 310895756, 313099349, 313099708, 313803586, 317863876, 318665523, 319605609, 329869882, 329983271, 332164872, 333626092, 335384453, 335558813, 340606579, 347986368, 354073052, 361178554, 361178555, 365734821, 365734829, 365734845, 365734858, 368311664, 376269516, 376269517, 377570611, 377994687, 380651337, 381497914, 381646899, 391264985, 405607378, 406852132, 409126924, 412910073, 415424130, 420112516, 424956806, 425378222, 425378223, 426104484, 426168819, 426414158, 429439381, 429488377, 435358674, 436928320, 438254411, 438254412, 448025885, 450115388, 450126670, 453373586, 453803669, 454561097, 454730461, 457462518, 461146901, 461214810, 472040401, 482743526, 485464013, 485464014, 485468357, 485468359, 485468360, 492567356, 493400123, 500506545, 501806768, 520275223, 534118066, 547372892, 553017451, 640288269, 642669456, 666930105]

If anyone want to change the unclassified roads to service roads, so that they are labelled consistently, here are the 48 way ids of Berlin:

[4588815, 4603596, 4804161, 4808080, 8036572, 10742770, 13863064, 19605972, 24205292, 24561171, 27168531, 27730313, 31116137, 35465046, 42265707, 46424277, 57391841, 59392588, 59392589, 60046361, 60065272, 60065274, 66424587, 66424589, 111812578, 112886551, 118199577, 126290784, 129207716, 136699501, 143624379, 154837291, 166973640, 168944479, 183256451, 191806106, 211153084, 223013765, 259433185, 270669508, 317863876, 333626092, 335384453, 354073052, 435358674, 450115388, 453373586, 547372892]