[Indoor] repeat_on and unrolling other tag values
Tobias Knerr
osm at tobias-knerr.de
Mon May 27 18:18:26 UTC 2024
On 27.05.24 at 17:47, Volker Krause wrote:
> https://www.openstreetmap.org/way/1134007505 (example, repeats in that
> building).
>
> (1) pure repeat_on vs. level + repeat_on use
This aspect of the mapping is correct.
The mental model we had when writing SIT was that you would map the
feature at one (arbitrarily chosen) level the same way you normally
would and then "copy" it to the other levels using repeat_on. I do
acknowledge that omitting the level tag entirely and listing all the
levels in repeat_on would work just as well – I don't remember that we
consciously considered that alternative at the time.
> Might be worth clarifying, but from an implementor's perspective always just
> using the union seems safe I guess, or is there a semantic to a combined
> level/repeat_on use I'm missing here?
If the level value is just a single level, using the union is definitely
correct.
However, there is a possible complication when repeat_on is combined
with multiple levels or level ranges. I would consider it more natural
to interpret something such as level=0-1 + repeat_on=2;4;6 to represent
4 rooms, each of which is 2 levels high; rather than 5 rooms (which
would be the result if you calculate the union).
Note that I would recommend against ever using something like that when
mapping.
> (2) "unrolling" other tag values
>
> In the above example ref is a list of room numbers that are meant to be
> assigned to the repeated rooms (I guess). As a human reader I kinda understand
> that, but that looks like something very ambiguous/error prone to implement.
> Is that even specified/allowed
No, it is not correct mapping, and I don't think supporting this
approach would be desirable either. Conceptually, it is a lot simpler to
have one way for each room.
More information about the indoor
mailing list