Proposal:Layer change
layer_change | |
---|---|
Proposal status: | Abandoned (inactive) |
Proposed by: | RichardMann |
Tagging: | layer_change=yes/no |
Applies to: | way |
Definition: | a flag to renderers that the way joins another on a lower layer |
Statistics: |
|
Rendered as: | end caps suppressed when drawing lines |
Draft started: | 2010-07-27 |
Rationale
It is useful for renderers to know that a way joins another way at a lower level, so they can suppress the normal drawing of a circle at the end of a line. These circles are normally almost entirely over-written by lines, but that doesn't happen if one of the lines is on a lower layer (assuming the layers are being respected).
For simple bridges, a renderer can simply assume each end of the bridge is on a higher level than the ways it connects to and suppress the circles at both ends accordingly, but that doesn't work for tunnels/underpasses. Most renderers currently give up, and only partially respect layers. This flag allows renderers to properly respect layer tags in all situations.
Applies to
- Way
Usage
layer_change=yes for ways joining a lower-layer way. For example, the ways joining a layer=-1 way. It may be sensible to create a separate, relatively short way to connect to the layer=-1 way, to be sure that nothing unexpected happens at the other end of the connecting way: you should avoid having two layer_change=yes ways connecting to one another.
layer_change=no for bridges where, for some reason, they connect to ways on the same level, and those ways connect to lower ways (and therefore need layer_change=yes tags). For instance, it may feel appropriate to tag an above-ground walkway as layer=1, even when it is not actually bridging over another way.
Rendering
Renderers are advised to consider drawing borders/casings in the correct layer, and to suppress end caps when (bridge=yes and (not layer_change=no)) or (layer_change=yes)
Remarks
This tag is purely for the renderer, and not directly associated with a physical feature. As such, some regard it as an abomination.
It has been designed so that it is effective at allowing renderers to respect layers without pre-processing, while only needing to be used occasionally. It is unlikely that a consensus will be reached in favour of this tag: it is left up to taggers and renderers whether they wish to make use of it.
Comments
Please use the discussion page for comments.
See also
- layer=*