[OSM-talk] Potlatch and the evil semicolons

Dermot McNally dermotm at gmail.com
Tue May 27 13:42:30 BST 2008


2008/5/27 Rory McCann <rory at technomancy.org>:
> There's a FAQ entry that says that you should use ";" as a value separator
> (http://wiki.openstreetmap.org/index.php/Faq#What_shall_I_do_for_roads_that_have_multiple_values_for_a_tag.3F).
> Is this offical OSM policy? If so then, merging ways this way seems like The
> Right Thing for potlatch to do. Sounds like some renderers can't cope with
> this. Isn't that a renderer flaw?

Well...

Let's start with the simple part. A road is either primary or
secondary, not both. So while a semicolon might be an interesting way
to tag such a shared identity, in the real world you won't ever want
to do so. Predictably, the renderer requires you to commit to one or
the other, so a semicolon here can be considered breakage.

I'm going to claim that the same holds true for name. When merging
ways, a name conflict generally means you shouldn't have merged them.
In Dublin, there's a long stretch of road that is variously George's
Street, Aungier Street, Wexford Street and a bunch of others. Merge
the wrong two ways and you'll end up with both, split by semicolon.
Once again, there's no good use this could be put to. There is a real
edge case here, though, such as where you may have "Wibble Terrace"
sitting on "Foobar Street", wholly contained within it. I've seen
other discussions on that, but can't see that a semicolon will solve
the problem.

Road ref begins to enter the territory where you might consider a
standard way of handling multi-valued keys. Not all countries support
multiplexing, but those that do could make use of this. This was the
possible valid case I had in mind for what Potlatch is doing, but TBH,
it feels more like something a mapper should have to consciously set.
Helpfully combining existing values seems a bit wrong.

> I'm guilty of starting off this discussion. I was trying to tag a beach and
> I tagged a stretch of the way "natural=coastline;beach". This broke the
> coastline renderer. However what if you want to tag a way in such a manner?
> What's the right way?

It's not actually your fault - while you did break the renderer, you
really did it without any sneaky help from Potlatch. Yours was an
isolated example of a case where it's easy to reverse a conscious
piece of mapping. I'm far more worried about the fact that Potlatch
makes it easy:

a) For novice mappers to break the tagging of (mostly) roads
b) For them to assume that the Potlatch-proposed appending is valid
and should be submitted.

In your specific case, what you were trying to do is (almost) never
necessary. coastline is applied to a way, beach to an area. The rare
case where this comes into conflict is a desert island (all beach). In
such a case, you can draw two closed ways using the same nodes. Tag
one beach, the other coastline.

Dermot

-- 
--------------------------------------
Iren sind menschlich




More information about the talk mailing list