I have a somewhat special case. In a series of buildings, which are by default provided by the Dutch authorities (BAG), always two neighbouring houses form a big gabled roof together. The buildings concerned can be found in https://www.openstreetmap.org/changeset/95116290 .
As building:part is not allowed to span over two different buildings (won’t be rendered by f4map, I tested it), each of the buildings needs its own skillion roof with the right direction. What I get with “normal” roof:shape=skillion is the following:
The right skillion roof in each pair is oriented the wrong way.
(The rightmost pair of buildings still has a wrong level number, never mind, I fixed this already.)
I tried roof:direction=NW and SE for the left and right roof, respectively. The result is that the roof baselines become inclined with respect to horizontal, probably because I would need to know the exact building angle w.r.t. world coordinates (not 45 degrees)… and it looks terrible. (You can see the effect in the left roof of the rightmost of the three roof pairs I edited.)
I also played with the direction of the way on which the attributes building:part and roof:shape sit. It seems that this has no influence?
I am a bit lost how to cure this.
Thanks for any hints!
I think you found the answer by yourself. The best way is to use roof:direction=*
Now it looks fine for me, but the building:part with roof:shape=flat needs a building:levels=1 and the building himself doesn’t need building:levels if there are building:parts.
I think it would make sense for renderers to interpret cardinal directions like “NW” or “SE” in a manner that makes sense given the shape of the building. That generally means picking the closest direction that is parallel or orthogonal to one of the walls. But there is no standard for this kind of “snapping” logic yet. So unfortunately, the only thing that reliably works today is to give exact direction numbers.
Thanks pyram and Tordanik,
in fact I had hoped that there is no need to specify the precise angle, once there is a rectangular outline. It would have been nice to have an option analogous to orientation:across (for gabled roofs) or a snapping mechanism as for side:hipped. In the meantime, having a good set square ready to lay on the screen works better than expected
BTW, if all building:parts have levels specified, shouldn’t then still the whole building have a building:levels tag? Just referring to the wiki page https://wiki.openstreetmap.org/wiki/Key:building:part, last sentence of “How to use”…
You are right. But in my opinion (as I wrote) you needn’t. It’s redundant.
I tend to use JOSM’s status bar, which shows the heading of the line segment being drawn (third number on the left).
Not sure if it beats the set square, though.