NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

Hi helpers, I've recently become aware of the stop=minor tag modifier for highway=stop nodes. (Always something "new" to discover -- it's been in the wiki since 2014 and has almost 25k uses, mostly in Europe and USA.)

The only mention I could find in the current wiki is:

  • Tagging minor road stops: Insert a node with tag highway=stop on the approach way(s) that must stop, at the stopping point. Drivers may be required to give way (yield) whether or not a physical sign is present; but if you also want to capture the signs, you can use a traffic_sign=* tag as well. In all-way stop countries you could also add stop=minor to distinguish 2-way from 4-way stop signs. ( minor road stops)

I find this text a little unclear... Regardless, the vast majority of these I've found do seem to correspond with the "you could also" suggestion: they're highway=stop nodes on a small road ("the approach way that must stop") near the intersection with a larger road, and so I guess the stop=minor tag gives a hint that perpendicular traffic on the bigger road will not be stopping, so cross with care.

But lately I've been seeing a few instances of highway=stop + stop=minor on the intersection node itself (eg I think the intended meaning is that, because of the addition of the stop=minor tag, only the traffic on the smaller road should obey the highway=stop tag. (Bing streetside confirms no stop on the larger road.)

Offhand this seems like an error and I'm inclined to move these highway=stop tags off the intersections and onto nodes on the smaller roads. But is there something I'm not understanding here? (I've already attempted to communicate with the mapper without result.)

Thanks, J

asked 28 Jul '19, 17:40

jmapb's gravatar image

accept rate: 22%

edited 28 Jul '19, 17:59

A highway=stop tag at the intersection node always means that his is a all-way stop. Combining highway=stop tag at the intersection node with stop=minor is clearly an error in my opinion.

Apart from that I'm unsure how useful the stop=minor tag is. When tagging a stop signs I always add a direction tag (direction=forward or direction=backward, depending on the direction of the way). This is similar to the traffic_signals:direction key for highway=traffic_signals tags.

permanent link

answered 30 Jul '19, 12:36

scai's gravatar image

scai ♦
accept rate: 23%

IMO highway=stop on the intersection node should only be used for 1) all-way stops or 2) stops that can be properly described with a single direction=forward/backward tag. Anything more complicated than that needs to be tagged on the roads themselves, not on the intersection.

I agree that there's no obvious value to the stop=minor tag. It doesn't actually add any information and as we see it's potentially confusing. I'm guessing it must be part of a preset pulldown in one of the editors, because I can't understand why it would be so popular otherwise, especially without any clear documentation.

For now, I've fixed the "minor" problems that I've found... but I assume there are more I haven't found. If anyone has a handy overpass query for finding a specific tag on a road intersection, let me know! Otherwise I'll see what I can come up with.

(31 Jul '19, 16:52) jmapb


It's a similar situation to traffic lights: Do we map the junction (node at intersection), or traffic control line (node on approach roadway).
Problem of priority control (stop/yield) is that all-way stop/yield is not as guaranteed (traffic lights most often control all ways), and not as certain (what does a highway=stop without stop=* means? Even if it is on the intersection node, the practice of tagging all-way stops this way doesn't give much assurance)

Your case

I'm inclined to move these highway=stop tags off the intersections and onto nodes on the smaller roads.

Yes, I would do this.

Offhand this seems like an error

I would agree with this about the intended usage of highway=stop; but disagree on the paradigm of mapping stops in general, for the same reason as the current acceptance of various methods to map highway=traffic_signals. This should be acceptable, and further refined afterwards (that's what you are doing now).

There's also the no stop line exists argument for relations I read, that could possibility be applied to accepting the tagging scheme you found.

Personal suggestion

Mapping both the intersection, and control line (if available), is worthwhile. One shouldn't preclude the other, even in all-way stops and traffic signals. Using highway=stop on the intersection node for all-way stops is merely a convenience. Like highway=traffic_signals, if there are crosswalks or divided roadways , it could be more straightforward to map stop lines for all-way stops. Until the often brought up proposals for signal and priority control relations are confirmed, it would be the best to accept stop=minor on intersection nodes, but highway=stop in combination should be debated.

An idea of mine, as an example for full-fledged mapping on stop intersections marked stop lines.

Intersection node:

// `highway=stop` acceptable junction=* // `yes`, specifically `priority` (because priority intersections can often comprise both yield and stop control stop=* // `all`, `minor` // Add `give_way=*` if applicable (there exists all-way yields too)

Stop line node:

highway=stop stop=* // This tells users whether it is an all-way or minor road stop junction=no // inspired by `crossing=no` when handling `highway=traffic_signals`

For other cases, I haven't made up my mind for priority_road as I'm not familiar with it as it.

permanent link

answered 29 Jul '19, 22:02

Kovoschiz's gravatar image

accept rate: 16%

edited 29 Jul '19, 22:13

We already have the widely-supported direction=* tag for limiting the scope of highway=traffic_signals and highway=stop. The commonly used values of this tag certainly have their limitations (ie, there's no clear way, on an intersection, to indicate a "backward" direction for one road and a "forward" direction for another) but I don't think adding an additional stop=*/traffic_signals=* tag will make this situation any clearer.

For situations where traffic control at an intersection can't be properly described with direction=*, moving the stop (or signal) nodes to the approach ways is the only currently viable solution IMO. The way I see it, in fact, tagging the stop on the intersection itself is a "shortcut" that should only be used in unambiguous situations (either all-way stops or those that can be properly described with a single direction=* tag.)

I can see the appeal of relations, because they would allow the intersection to be described in great detail. But they're harder to tag and maintain and I don't think they're worth the complication.

(31 Jul '19, 16:37) jmapb

Personally I would also put highway=stop node where a stop line should exist (relations aren't something I would fancy here). What I'm suggesting is to show whether the stop is all-way or minor road only to users. Tagging it explicitly by stop=* would save some trouble and provide more information easily.

The junction=* part is primary grounded in signalized junctions (evaluating number of traffic lights, identifying controlled points to replace highway=traffic_signals at intersection nodes, etc). Either way concerning the former, priority junctions deserves to be tagged even more to caution the uninterrupted major road of priority on mergings (as opposed to zipper merge, or lane adds that needs more detailed/micro lanes tagging).

(31 Jul '19, 17:04) Kovoschiz

Truth is I can't quite see the need for the junction tag and exactly how it would function, and these comment boxes, with their limited functionality, probably aren't the best place to clarify it. Using the wiki talk page is also a little awkward. Maybe try discussing on the tagging mailing list and/or writing up a diary entry on with example pictures for the various situations you're trying to cover.

(31 Jul '19, 18:23) jmapb

One thing I believe strongly, though, is that there shouldn't be a highway=stop node on an intersection if not all roads passing through that intersection have to stop there. I consider this "troll tagging", ie, what the main tag gives the subtag stop=minor takes away, which is a problem for any data consumers that aren't specifically looking for that tag. In a sense we already have troll tagging on highway=stop nodes via the direction=* tag, but that's in common use and people know to look for it. Attempting to use an additional troll tag with possibly contradictory information will be problematic.

If this scenario ("this road doesn't have to stop at this intersection but the other road does") is important enough that it needs to be explicitly tagged on the intersection itself (rather than be deduced from the tagging on the other road -- a data consumer can always follow the highway graph and find all this information from the connections if the stop node is there on the minor road) then a different tag would be needed. You might want to propose something like highway=minor_stop that will not interfere with existing software designed around the existing tagging scheme.

(31 Jul '19, 18:29) jmapb

I'm still new to OSM so I don't think it's best to be too formal and certain about my opinion yet. I saw stop=* being documented on wiki. I agree with highway=stop at minor stop intersection being essentially wrong, that's why I thought about junction=* as a better option for initial work and other cases. That being said, such incorrect tagging still needs to be detected and fixed.

I forgot to mention one reason is I encountered some priority junction having lane-based restriction on merging, prompting me to look at something that needs to support more complicated schemes like stop:lanes=no|all. Another potential use (I still need to look at international examples) is on roundabouts without physically segregated slip lanes (eg give_way:lanes=no|minor|minor).

I'm trying to see if there's a way to make use of existing tags the most (with backward comparability of course) as I don't want to propose new keys and values like highway=minor_stop unnecessarily.

(01 Aug '19, 07:20) Kovoschiz

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 28 Jul '19, 17:40

question was seen: 1,847 times

last updated: 01 Aug '19, 07:30

NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum