after adding support for colors in OSG-Explorer, I noticed many visual artifacts in some test areas. These artifacts result from z-fighting between multiple faces with different colors, so I assume that not all ways that are only intended as outline for 2D maps are filtered out for my 3D reconstruction yet. This is especially visible in the test area Schwerin. Other 3D renderers seem to have no problems with it.
In particular, i try to figure out how to filter out way http://www.openstreetmap.org/way/96820490
It is tagged as building, but covers many smaller building parts, so I assume it should not be used for 3D rendering. However, I could not find an outline tag. There is a building relation connecting to it but the role is empty. What am i missing here?
Another example: http://www.openstreetmap.org/way/96820491
It hides an overlapping building part with different height and color, but sharing same edges. My renderer fails to remove it from 3D rendering because it finds no outline tag or role.
how can I fix this?
btw, I think that this area looks great already with all these details.
Hm, since I am not running a database or specialized 3D server, this approach might be too complicated for this app. The spatial operations you describe require at least a spatial index structure for avoiding n to n comparisons and handling of complex polygons for computing geometric intersections and differences. That’s quite expensive.
I need to stick with the second approach and see how many issues i can fix with this. Actually its just a minor modification of my implementation. I was relying on the outline tag to be present.
Still, it won’t fix this one, for which I cannot find a building relation. http://www.openstreetmap.org/way/96820491
I could fix it manually by adding a relation myself, but if the remains of the outline after the cutting operation are still used for 3D rendering as you described, I would break the visualization in O2W and F4, or wouldn’t I? I need to try.