[Tagging] Mismatched Level of Detail in highways vs. other elements
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