2012/6/13 Tobias Knerr <o...@tobias-knerr.de>:
> On 13.06.2012 16:12, Martin Vonwald wrote:
>> If you use a different character (like the ? in the 1.5)
>> it would be clear where the conditions start.
>
> That's a valid argument, but we need to be aware that there is already a
> lot of existing tagging that uses a colon as the condition separator.
> These are usually examples with just a single condition, things like
> maxspeed:wet, :hgv,

Correct. And for the sake of compatibility I would never-ever touch them.

> :forward, :backward, ...

I don't think of them as conditions, but more a selection of a part of
a way. Just like :lanes is to me not a condition.

> I also doubt whether the distinction between a "subkey" and a
> "condition" would always be obvious to mappers.
>
>> Didn't know about that too. And it has the same problem:
>>   maxspeed:lanes:hgv:wet=60|50|40
>>
>> Where does the condition begin? Again this is not obvious. Small change:
>>   maxspeed:lanes?hgv:wet=60|50|40
>
> That's interesting, I would have assumed that the tag should look like
> maxspeed:hgv:wet:lanes to allow for per-lane fallbacks.

Is "lanes" a condition? I don't think so. To me it's a subkey. So we
should always have
<basekey>:<subkey1>:<subkey2>?<condition1>:<condition2>=<value>


> For example, if there is only one lane that changes maxspeed when wet,
> one might want to write that as follows:
>
> maxspeed:lanes = 80|80|80
> maxspeed:lanes?wet = ||50

I would instead use maxspeed=80 for the first tag. Simpler. Compatible.

> Yes, you could evaluate this without any knowledge about the semantics
> of the base key. But doing so would result in "the value of
> 'maxspeed:lanes' is '||50' when the road is wet". That's not actually
> what we want - we do want the keep the '80' for the first two lanes.

Actually it is what we want. Because:
1) Either the application knows, what ":lanes" means. Then "the value
of 'maxspeed:lanes' is '||50' when the road is wet" means that the
first two lanes don't change the maxspeed value if the road is wet,
but the third changes it to 50.
2) Or the application does not know what ":lanes" mean. Then it also
has no clue what maxspeed:lanes is and ignores it.

To me it seems perfectly consistent.

Martin

_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
http://lists.openstreetmap.org/listinfo/tagging

Reply via email to