Hi, I’ve created my first 3D building for the OSM (see osm.org, F4 Map, wikipedia), mainly by copying from other 3D buildings, but after reading lots of stuff on the wiki and some attempts to get the details right, it got pretty confusing and I’d be glad if someone took the time to answer some questions for me.
What kind of relation should I use to combine the building parts? If it’s type=building, which roles should I use for the building parts?
Should I use a single big outline for the whole building? If yes, should I tag it with building=* or building:part=yes like the others, or both? And how would I handle areas of the outline where there are no walls on ground level (like here)?
Where should I store all non-3d tags of the building? In the relation, the outline, a single POI in the center of the building?
I tried to stick to the tags defined in Simple 3D Buildings, because I don’t want to tag for just a single renderer like Kendzi3d, but there’s some awesome stuff in there I’d like to use. Are there any other general-purpose tags I’ve missed? Or should I get used to the Kendzi3d-Tags? (I really like the plugin, but the 3dr:* tags are too specific for the implementation, in my opinion…)
I really like the Aschilli/ProposedRoofLines, are they already supported in any application? I’d love to have some more control over the shape of roofs, but I couldn’t find a nice solution by now (fun fact: people actually tag domes of christian churches with roof:shape=onion ;D)
OSM-4D/Roof_table contains all the roof shapes I might ever need (including options to customize them), but the wikipage doesn’t say how to tag them. Are there even tags for those roofs?
Oh, and because I don’t have any answers to these questions, I probably applied some hacks to make the tower look good, like roofs ending inside an inner ring of the tower, abusing the height tag to make the roof looks nice, etc. - if you find other issues (or have ideas how to fix them), just let me know!
This kind of relation, using roles “outline” and “part” but most renderer will work without relation, drawing building:part inside a building should be enough.
You can find some explanation on how we handle buildings in F4Map in our wiki.
Outline should be a single polygon with building=yes and it must fully cover the parts (even those with min_level), building:part=$ will change renderers behaviour, for example F4Map will ignore polygons with building=yes and building:part=no.
The outline or a POI are fine for that (use POI if the building has several usage).
S3DB tags are more commonly supported than 3dr tags (and they’re clearer in my opinion)
F4Map and Kendzi3D already support to tag a single roof:shape on a complex roof without going as deep in the specification as this proposal.
OSM-4D is not fully validated by the OSM community, it’s better to stick on the Simple 3D Building spec for now.
OK, but when I use a single polygon with building=yes and there is a part with min_height on the outside, the outline will still be drawn and there will be a wall where no wall should be. But F4Map will ignore the outline, if I use building=yes and building:part=no, is that correct? Do other renderers behave the same way?
As for the roof tagging: There is currently no support for roof:ridge/edge tags in any of the renderers, if I got you right? Is there another way to influence the shape of a roof, except for individual building:part polygons?
Osm2World and Kendzi3d partially support Roof lines tagging schema. For Kendzi3d it is very basic support and you should not expect most of features form description.
Roof_table is really nice idea especially parametric description for dormers. Unfortunately some parts are not liked by community eg. number codes for roof shapes. Kendzi3d is most advanced in implementation of that tagging schema. Most current version of description you can find on Polish and German language. Unfortunately I didn’t update examples for long time and many are outdated. Some example.
It seems currently most correct way is using S3DB schema. But if you have any ideas for future draft don’t hesitate to discuss them.
Concerning the number codes, I agree: All OSM tags should be designed to be human-readable, or we’ll scare off new users with unnecessary complexity and make it hard for the average contributer to learn the meaning of new tags just by viewing stuff in a map editor. Anyway, that’s how I got to know most of the commonly used tags.
Well, after spending a few hours with S3DB, I’m not really convinced… It takes a really long time to create 3D models of complex buildings in JOSM, compared to actual 3D modelling software (no surprise here), and imho the results are not worth the effort. Apart from that, I’m introducing a lot of spam in the database, like duplicate polygons with just slightly different tags (height, material), multiple overlapping polygons in very small areas, etc. - it just doesn’t match the current philosophy of having abstract descriptions of real-world objects, rather than implementation details.
In my opinion, S3DB is a great model to account for at least 90% of the buildings in the western hemisphere (rectangular base, simple gabled or flat roof) and if we can add the Aschilli/ProposedRoofLines, we could cover even more complex buildings with this model, without polluting the database tons of polygons in the same place.
But we definitely need support for actual 3D meshes as discussed here, or we will never have high quality 3D models of architecturally interesting structures.
Hi there, I’ve just noticed the area from #1. What is going on with the Wasserturm Friesing? Didn’t you check the tower in F4map or is it unfinished work? Between some building parts there are empty spaces or roofs where dont have to be. Mabey you have to add roof:height=0 or roof:shape=flat, so that the empty spaces are filled and it would look right on this map or there is another problem (see below). Also I would add building:color and roof:color tags and imho the roof:shape is not pyramidal but onion.
@cmif4: Did you see this problem? Imho a building part that is completely covered by an upper part has to be handeld as a part with no roof.
Oh, actually I’ve seen that the relation is wrong. The building parts has to be ‘part’ and not ‘member’. Maybe then it will be rendered right.
I have some related questions. I’m trying to model the awesome Peckham Library, here: http://www.openstreetmap.org/way/19798157
At the moment, instead of showing the overhang, it’s just one solid cube. From the above, it looks like I should try tagging the outline building:part=no. Is that right?
Here are my actual questions:
Is the relation type=building actually supported yet? The wiki says it’s status is “inactive”.
When should a relation be used instead of outline + parts? Again, from the wiki, a building with physically separated parts is an example. If it’s a building with holes in it, but which can be contained within one outline, it could be a multipolygon relation. Any reason to use building relation instead of multipolygon in this case?
Is the tagging system to allow building parts to be given roles supported? For example, to the east of Peckham Library is a block of flats with shops underneath. I want to give this an outline, then tag the shops with building:part=retail:part and the flats with building:part=apartments:part. Is that correct?
Is there a way to “try out” how buildings are rendered before actually making them live? (I realise the answer may depend on the renderer.)
Lastly, are there any support groups for OSM addition? This might be becoming a problem for me :/