It seems there is no really clear consensus on how should indoor POIs be mapped. That’s basically almost the same question that existed long time ago whether to add POI details to the building or not (and there it was agreed/recommended that building should stay as such and all POIs should go as separated nodes unless that particular building IS the POI. Reasoning was quite simple - buildings don’t change so often as do shops). However for indoor case I’ve seen both types of mapping: POI as nodes and POI details merged into indoor=room/area areas.
Is there any actual consensus, on how it should be? Of course nodes-mapping won’t go anywhere as it’s really easy to drop bunch of pois “in the field”, but the question is like “is merging POI details into indoor=room/area actually recommended”? I tend to think that it should be separated because of exactly the same reasons as mentioned above - rooms in malls/airports are relatively constant, while shops might change often. But I did see a lot of mapping done with merging details into areas/rooms…
It is good practice to place poi’s on nodes. This goes for buildings and for indoor rooms.
For buildings there are specific poi’s that should be on the building. Like historic=house.
For indoor mapping i cannot think as an example of where that would be. Placing a poi on something like indoor=room, is in violation of one feature one element
With poi’s on indoor mapping there is way less probability for it to become a problem. In contrast to adding poi’s to buildings witch very quickly cause tag conflicts. So there is less incentive to change that.
At the level of detail involved in indoor mapping and floor maps, we really want POIs to be areas, not nodes.
For a POI which occupies exactly one room, that leaves us with two options:
add the POI tags to the room’s area
create a second area using the same nodes and carrying the same level tag
I can see arguments that the second option would be somewhat cleaner in terms of the data model. So if you want to use that mapping style, I support that. However, it’s more work and offers few practical benefits, so I’m not surprised that I do see the first option used a lot more frequently. In any case, I would much rather see people add POI tags to a room’s area than lose geometric detail by using nodes for indoor POI.
Which exactly “lose geometric details” are you talking about when there is indoor=room/area having geometry and one puts POI on top of it/next to the entrance with POI-related tags?
The geometry of the POI. The mapping you describe provides the geometry of the room, but doesn’t tell me if the POI occupies part of that room, all of that room, or multiple rooms.
For indoor mapping i cannot think as an example of where that would be. Placing a poi on something like indoor=room, is in violation of one feature one element
the (better) alternative to mapping “big” Pois as nodes is not placing Poi information on buildings or rooms, but to map dedicated objects (areas) for them.
But similarly to how we accept the shortcut of adding poi information to buildings, we can likely accept it on rooms as well, the cleaner solution are dedicated objects
Certainly prefer areas, and I can agree with your concerns. But a =room or =area can have its own name= or ref= . They can’t be mixed in that case, or you would have to lose them for addr:*= only.
There’s another problem, with features that span multiple levels. It’s not straightforward to represent. More easily avoided by limiting to points for now.
Certainly prefer areas, and I can agree with your concerns. But a =room or =area can have its own name= or ref= . They can’t be mixed in that case, or you would have to lose them for addr:*= only.
sure, you have to add a distinct object for everything to make it work, a room gets its name, and things in the room also get their names, they should not be merged onto the same osm object or you will loose the information where the tags belong to
There’s another problem, with features that span multiple levels. It’s not straightforward to represent.
if the outlines are different you need to draw each level (that is different), then add level=* tags to indicate to which level it refers. Otherwise you can have one outline and add a range like level=0-3