I’m currently trying to get my head around how to tag a multi-storey car park, that has 2 levels, but only half of the parking is actually multi-storey. The other half (the upper right part and the bits south) are just ground-level. There is a single ramp that goes from the ground level to the upper floor, which I marked on the picture. This is what it looks like on bing:
Should I tag the whole thing as parking=multi-storey, even though it’s not exactly the same as a real multi-storey car park and only half of it has more than 1 level? In German, there’s a difference between a real multi-storey parking (Parkhaus) and one having only 1 or 2 storeys (Parkdeck), which is why it feels a bit wrong.
I’d like to add the service ways for this one. Given that the ways on the non-covered part are all layer=0 (even the part that is covered, actually), how do I properly map the ones on the “roof”? I cannot set them layer=1 without all the validators screaming “dude, this is a bridge, add bridge=yes”
And how would I actually map the part of the building where the ramp goes up to? My guess is building=parking, but wouldn’t the entire thing be a parking building, including the lower park level?
If there are any wiki pages I’ve missed, feel free to throw them into my direction.
Hello. In my opinion it is better to draw 2 separate parking features. As for the roads, if the highway on the roof intersect with the roads highway the building, I would just add layer=1 to the top roads (no bridge=* tag).
And the ways/roads on the building? Just layer=1 and ignore complains about them not being a bridge? And the whole thing as parking=multi-storey or 3 parts, 2 with parking=surface and 1 with parking=multi-storey? Are there any examples I could look at? I found a lot of different approaches how to tag these, but they were all different and no one seems to have mapped the roads on the building, but since there are footways up/down, it would be nice if we could guide people to their parked car properly.
The line of the highway that goes inside the building must be divided at the intersection of the road and the building, while the extreme points near the road must also be part of the building polygon (I don’t know how to phrase it better). A line segment inside a building with the tags highway=service + tunnel=building_passage (see vertical line screenshot).
The line on the roof of the building must be tagged highway=service + layer=1 (do not make shared nodes with the building).
Optionally, you can add tags maxheight=* to the line inside the building.
Thus, only the road that goes along the roof of the building should have a layer tag. In theory, everything should work fine in navigators.
Maybe using the tunnel=building_passage tag is not the best option and someone else will suggest a more correct one, but I don’t know another.
The whole area is parking=multi-storey, because it’s a single parking amenity and in total, it has multiple levels
The part that is an actual multi-storey, is building=parking + building:levels=1
Roads on the ground floor are all level=0
Roads on the upper level are all level=1
I settled for level=*, because I found the following:
It’s not ideal, because the upper right area that is not covered now has level=0 without being in the building. But enlarging the building to cover the upper right bit as well, and adding building:part=yes + building:levels=0 seems kinda wrong to me. Technically speaking, it’s probably part of that building, but I’m not even sure of that.
Linters are all happy, routing hasn’t caught up yet, but I’ll keep an eye on it.
Update: Valhalla is perfectly able to route to both levels of the multi-storey car park, so this seems to be a good way to map this.