tordanik / OSM2World

converter that creates three-dimensional models of the world from OpenStreetMap data
http://osm2world.org/
GNU Lesser General Public License v3.0
558 stars 124 forks source link

building:part=yes not rendered if only roof is visible #203

Closed Nadyita closed 1 year ago

Nadyita commented 1 year ago

Common scenario: I have a building-passage which is covered by a roof only. When I set the following tags:

building:part=yes
building:levels=1
building:min_level=1
roof:levels=1
roof:shape=gabled
roof:orientation=along
roof:height=2.2
height=5

it doesn't get rendered at all. Same when using min_height=2.8. It works when I set building:part=roof instead, but that will give me an "unfilled" roof, not the roof of a house. There are many use-cases when I need something like this, most are building-passages, or just the roof not covering all of the house and the "body" of the house consists of my elements without a roof and then finally the roof is added.

tordanik commented 1 year ago

Thanks for reporting this, I believe I've noticed some similar problems and this might help us get to the bottom of it.

However, I have some difficulty reproducing the issue:

issue-203

The central building part in this example has the tags you provided, and it does get rendered. Can you modify the example file or provide a different one to trigger the error?

Nadyita commented 1 year ago

Here's an example.zip where it doesn't work. I think I already figured out, how to trigger it.

image

This node is shared by all 3 building parts. If you remove it from the middle roof, it gets rendered again and all is well.

tordanik commented 1 year ago

This is now fixed in 9a94a98. Thank you for the excellent test case! :+1:

Rendering of the latest test case