Simple 3D buildings - One year experiences


you might remember, that in March 2012 we started the “Simple 3D buildings” schema, to unite all the seperated approaches to model 3D buildings with OSM.

Now time has passed and IMHO this is a good way to see how far we got and how we might proceed. Or in short, what are your experiences with the schema? Does it work well with all the 3D OSM tools out there? What are problems you encouter in mapping or synthesing the 3D models?

To make a begin I will start:

I mapped a part of my district using fotos from every building and the surrounding areas, to do real micro-mapping. I used OSM2World to visualize the results, while editing in JOSM. To make it short I was really impressed, how much detail you can get, only by adding a few further tags to the houses, make the shape more exact, or adding things like flag poles or waste baskets :slight_smile:

Most real world things could be mapped, for more details on buildings (as multiple colours per wall) I will try OpenBuildingModels instead. Maybe one day I will really start Open3DMap :confused: (currently stopped, as my master thesis has a different topic).

Interesting questions I have:
-defaults should be equal everywhere
-Is 3D geometry using building parts everywhere equal? Do we need an testbed?
-Gabled roofs seem to be problematic on** L and T shaped buildings**. Can we deal with it, or is it an aspect for next step “Advanced 3D buildings”?
-A persisting problem are flat roofs with a incline just in one direction (usually only small houses or garages)
-What aspects of buildings can be described with minimal tagging but** increase the recognition** of real world objects? (roof outstanding, colour of doors/windows , …)
-Are balconies building parts? (To me they seem to be more outdoor aspect, thus need an own tag. But allow quit well customization of buildings)
-How can we model walls with a gear in one direction? How can this stay simple? (maybe allow height=* tags to single wall nodes?)
-What about introducing pillars?

More general aspects on my mapping I will post in a seperate thread.

It would be nice if someone compare results generated by 3d render and report difference.

Sorry, there was a mistake. I tried to point to roofs, that incline in just one direction.

So you are referring to „skillion” roof type like this [1]. My approach is described on this page [2], sadly someone broke links on wiki. But basically this kind or roof required vector to describe direction and I use for this vector tags on building outline 3dr:direction=begin and 3dr:direction=end [3]. You can test how it work in Kendzi3d. You can consider this like idea of tagging this kind of roofs.

Why not to tag them building:part=balconies, building:part=pillars?

[1] -
[2] -
[3] -

Unfortunately user Sardnaer.** Please don´t do it in the future!**

There is also an experimental implementation of skillion roofs in OSM2World - however, it uses roof:slope:direction=* for the direction. (This is the same difference we originally had with ridge directions, unfortunately. :/)

On a related note, I have received suggestions that “monopitch” (which is not used so far) would be a better word for this type of roof than “skillion”. Does anybody know enough English to comment on this?

Which links are broken? They still work for me?

Edit: Saerdnaer moved the page to your user namespace (probably because it does not describe established tagging). But this should not affect existing links because there is a redirect from the previous page name.

Thank you, I will spend some time to compare the different approaches thaht focus those problems :slight_smile:

That sounds good. But as we said in the S3DB specs, that the building has the ultimate outline, we might reconsider if this would be still useful here. I guess a seperated thread will make sense here.

I’m pretty sure that it wasn’t the interest of Sardnaer to break anything. I believe as Tordanik said, he wanted to make sure, that nobody expect this to be something “official” and get’s depressed that it’s currently not in a wide use (I’m ok with that).
Personally the links working for me, too, but the language support seems to be broken?
Please give us a pink in the /wiki forums and tell us what to fix.

There are some problems with using direction for roof description. It because roofs surfaces are usually parallel to one of the walls. So direct render of direction cause unrealistic roof with won’t be parallel to walls. This tag require of align it to wall but then it isn’t direction any longer.

Why are you using two tags that meaning the same? Skillion roof have ride isn’t it?
So why not to use only roof:ridge:direction or for short roof:direction?

It is true that I’m not using the direction directly, but instead try to “snap” it to the closest direction of a side of the outline polygon.

There are good arguments for your solution, but it also has some significant drawbacks. In particular, you need to use a relation in some cases (when a node which is is in multiple building or building part outlines). It also doesn’t really work with editors’ presets because you need to tag nodes instead of the building.

The direction keys, on the other hand, work well with presets and copy-paste.

The tags both use the same direction value syntax, but they are not equivalent. The reason is that ridge directions are treated as symmetrical. Therefore, these two roofs both have a north (or south) ridge direction:

+---------+     +---------+
|>>>>>>>>>>     <<<<<<<<<<|
|>>>>>>>>>>     <<<<<<<<<<|
|>>>>>>>>>>     <<<<<<<<<<|
|>>>>>>>>>>     <<<<<<<<<<|
+---------+     +---------+

But the left example has an east slope direction, whereas the right example has a west slope direction.

What are you plan to do when roof ride is not parallel to any building walls? Or more probably snap to wrong wall? Do you plan to add next tag like: roof:ridge:direction:real and roof:slope:direction:real in degrees? Or do you differently parse direction in angles and differently string labels?

What when someone try to rotate building, this will require to rewrite value of this tags.

Neither of solution is perfect. But this can be easy solved by plugin. Exactly the same like direction picker for your proposal.

This asci-art look interesting nevertheless it don’t give me clear view where it is „highter” part of roof (ridge) and where is lower. Am I correctly assume that ridge on left image is on left site?

Maybe we should start an wikipage for complex buildings/roofs that can currently not good modelled with S3DB? So we can show the problems with photos and introduce possible solutions with different tagging schemas? So all of us can show possible solutions with different approaches and we all can view the resulting osm data?

Well we can talk about it for weeks without any result. Lets both project add this tags and allow users to decide what is better for them?

From my part I added support for tags roof:ridge:direction, roof:slope:direction. I will add magic „Snaping” shortly in this week.

I hope for a similar move from Osm2world about 3dr:direction tag.

It is good idea. Can you start it?

In most cases siple 3D worked well for me. I remember just one thing where i don’t know how to get it tagged :

It would be nixe to have pillars.

Currently I only know modelling level by level as a sollution to create such “bevel” buildings.