[Tagging] Equivalence relation (was: Re: Differences in cycleways)
Steve Bennett
stevagewp at gmail.com
Tue Jan 11 03:26:44 GMT 2011
On 11/01/2011 12:20 AM, Richard Mann wrote:
> I put adjacent=yes on the highway=cycleway, so the user of the
> cycleway=track tag on the main road can ignore ways with adjacent=yes
> on them. The user who'd prefer to use highway=cycleway ways doesn't
> know that the cycleway=track is a duplicate, but routers only have to
> give a slight preference for highway=cycleway over cycleway=track to
> use the "right" one (and even if they use the "wrong" one, it doesn't
> much matter anyway).
IMHO, this is being extremely optimistic about the powers of a router.
So you're saying that a router could see the "adjacent=yes", then locate
a nearby cycleway which is "adjacent" in some way, and conclude that the
two refer to the same thing?
My suggestion: let's get a relation happening, asap. Something like:
Relation:
* type=equivalence
Road:
* cycleway=track
* role: cycleway
Bike path:
* highway=cycleway
* role: highway
This is just brainstorming. But the idea is you'd read the above as "the
cycleway tag on this road refers to the same object as the highway tag
on the bike path".
The same could then apply to things like a central node for a large object:
Relation:
* type=equivalence
Node:
* amenity=hospital
* role: amenity
Area:
* amenity=hospital
* role: amenity
The relation is saying that there is only one hospital, and it is
defined twice.
(This example makes me think there could be a default, so you don't
always have to specify the roles...but that could be messy).
Steve
More information about the Tagging
mailing list