[Tagging] Mismatched Level of Detail in highways vs. other elements

Martin Atkins mart at degeneration.co.uk
Mon Apr 8 23:55:12 UTC 2013

On 04/08/2013 01:40 PM, Markus Lindholm wrote:
> On 8 April 2013 17:51, Dave Sutter <sutter at intransix.com
> <mailto:sutter at intransix.com>> wrote:
>     I like the idea of increasing the level of detail of the streets, and
>     I agree that this would best be done by separating the routing network
>     from the visual presentation. I think this can, however, be done in
>     the existing data model, which is very flexible.
>     Further, we wouldn't need to disrupt the existing data or the
>     renderers since the existing data is the routing network. We would
>     just be adding presentation data, which could be used or ignored.
> I agree. There seems to be an inherit conflict between routing and
> rendering because the same objects are used for both.

Right. It seems like the schematic vs. detail tagging situation is 
pretty good for streets if you accept the area:highway proposal:

Under this proposal you have area:highway as the detail element, and the 
existing highway ways as the routing network element, so the two tagging 
schemes can easily coexist without trampling one another.

I think the remaining challenge to fix the example in my initial post in 
this thread is to do the same thing for railways; right now ways tagged 
railway=rail and railway=tram are used as both network and detail, so 
detailed mapping of railways (the exact layout of the rails on the 
ground) disturbs network mapping of the railways (this railway connects 
to that railway, this highway contains a railway, this is where a 
railway and a highway meet at grade, etc).

Here's my strawman for resolving this:

* Treat railway=rail and railway=tram (and the other similar values) as 
being schematic ways, like "highway" ways: a single way represents the 
route of a number of parallel tracks, with a "tracks" tag just like the 
"lanes" tag on highways. For the Mapnik output, at less-detailed zoom 
levels, these could render as a single line just like we do for streets.

* Define a tagging scheme that allows us to represent a highway 
containing one or more rails as a single way, for schematic purposes. 
(Highways can contain railways, but I can't think of any examples of the 
converse.) I don't have a strong opinion about the details, but I'd 
probably follow the lead of the trolley_wire=yes tag (which is simply 
"there is at least one trolley wire above this highway") and then extend 
that using the Lanes tagging scheme where people want to provide more 
detail e.g. railway=tram + railway:lanes=none|tram|tram|none

* Tram route relations will contain a mixture of pure railway=tram ways 
and railway=tram highways.

* Alongside this, define a comparable scheme to the area:highway 
proposal for detailed mapping of the physical railway infrastructure, 
that uses completely separate tags from those described above that are 
considered only during detail rendering. I have no big interest in 
detail mapping so I won't try to define a tagging scheme for this here, 
but I'd encourage those interested in detailed rail mapping to do so.

I think this proposal has the same pros and cons as the area:highway 
proposal, but the main advantage is the characteristic of keeping the 
detailed mapping separated from the schematic mapping so that both can 
coexist in the OSM database without trampling on one another.

If people on this list are generally favourable to this then I'll write 
up a wiki proposal for it (though I'd delegate the detailed rail mapping 
to a separate proposal written by someone else), with the ultimate goal 
of converting San Francisco's tram rails to this simpler scheme for now, 
to match with the schematically-mapped streets.

More information about the Tagging mailing list