Real time 3D map using WebGL

We handle every building tag value but “building=no”.

The “round roof bug” is due to the roof modelling algorithm that is based on minimal oriented bounding box so for now it won’t work on non rectangular shapes.

building values:
look here: http://map.f4-group.com/#lat=48.1320774&lon=11.5312780&zoom=19&camera.theta=69.082&camera.phi=-8.308

Let Your people adapt the algorithm for round roofs. This is often the case.

These buildings have:
_ “building:part=yes” that means we should extrude them.
_ “building:parts=horizontal” that means we should skip the extrusion process.

I’m not a medium but i’m a lazy boy so the code take the easiest: do not extrude anything :smiley:

I can not understand this tagging. Do You understand what the artist mean? :wink:
I guess he wanted to show the horizontal stripes on the facade. For me very helpful feature for rendering of two colours in skyscapers.
Simply ignore building:parts=horizontal in recent form.

Or you use some parts with min_height and height tags like here:

http://map.f4-group.com/#lat=52.2228702&lon=10.5071807&zoom=18&camera.theta=66.944&camera.phi=-67.666

Please talk to each other then i’ll may change the code :roll_eyes:

Or even here: http://map.f4-group.com/#lat=52.4051450&lon=16.9217806&zoom=19&ui.showMenuPage=true&menuPage.type=search&menuPage.id=Poznan&camera.theta=50.518

This approach produces too much shapes and should be used only for irregular structures.
Please give me time for clear specification of this problem and I think, cmif4 can order the adding of this function for rendering.

building:parts=… means, that it is building=…, which consists of several building:part=…, and we should skip volume rendering for such building=…, because we have several building:part=… for such purposes.

For example, this way now has:

Such tagging is, obviously, incorrect.

Ignoring building:parts=horizontal is not a good idea. I think, that better idea is deletion of building:parts=horizontal from elements in OSM database, for which using of building:parts=horizontal is incorrect.

This is redundant, though, because you could just look at the building:part=* polygons and their tags to find out whether they are arranged horizontally and/or vertically.

building:parts is basically your own invention and has not been discussed before it was presented in the wiki as if it was an established tag. Unfortunately, I still don’t think it is useful. The name is also very typo-prone.

Let me say in other words. It is your decision, to use some tag for some your purposes or not. But if you see, that someone’s work with incorrectly used tag leads to incorrect result, you can not say “ignore this tag”, you should say “delete incorrectly used tag from database”. In this concrete case we see incorrectly used tag - the reason of incorrect rendering is not in bad tag, but namely in incorrect using of tag.

For example, we have tag natural=water for water areas. It is your decision, to render it in some way or not. But if someone asks “why does this soccer pitch render as blue area in this render?” and you see, that pitch is tagged with natural=water, you can not say to author of render “ignore tag natural=water, because it leads to mistakes”, you should say to author of question “delete incorrectly used tag natural=water from pitch”.

P. S. Not all software can determine buildings, divided to parts, by analyzing building:part= polygons. There is a software, which use tag building:parts for such determining. If tag can help some software in some cases, why should we consider it as a harmful?

A tag shouldn’t be ignored because it is sometimes used incorrectly. You are right about that.

The reason why I suggest to ignore building:parts=* is different, however: Because it is redundant, and burdens mappers with a task that should be done by computers.

There are other reasons to determine the parts belonging to a building. For example, the parts are generally understood to “inherit” attributes such as colour from the building. Furthermore, placing parts without grouping them to a building will also cause problems if you place them on a terrain surface, which would introduce unpredictable vertical shifts. So the tag does not actually free software from that task (and even if it did, I would still consider it questionable to trade mappers’ time for CPU cycles in this manner).

I would love to see building:levels rendered as rows of windows. I boosts the visual result further IMO:

http://maps.osm2world.org/?h=128&view=N&zoom=18&lat=51.16566&lon=6.9473&layers=B0TTFF

building:material=glass with levels should be rendered as seen here:
http://maps.osm2world.org/?h=128&view=N&zoom=18&lat=50.77749&lon=6.08057&layers=B0TTFF

BTW I like the rain feature :slight_smile:

What´s about: colour for element barrier=city_wall pleease add also for this element the function area=yes if not already implemented.

Regards,
Marek

This is not planned as we think this is ugly

The colour tag will be handled it has already been asked on our support, area=yes is already handled as barrier tags use the same code path.

Is it possible to show natural:water + water:reflecting_pool different than the other water areas? It has to be something like half water/half mirror.

It is not possible as it is done in fragment shader.

Great.
I would suggest adding of couour tag for every possible elements. Of Course we have it more detailed for the buildings, bot there are another elements like e.g. street lamps etc…

Ekhm:
http://map.f4-group.com/#lat=41.8981300&lon=12.4763596&zoom=19&camera.theta=63.098&camera.phi=175.879
Somebody tried to make 3D model of pantheon in rom.
Please support shape “dome” for semi circular ground floor.
Steps:

  1. Approximation of circle by use of closed semi-circular polygon from the ground floor shape
  2. Use as “height” for this element calculated radius.

Resulution of segments in ground floor by use of closes multipolxgon shape which is drawn.
In z-direction resolution depend of calculated radius. In this case i would say app. 6x dividing…

Best regards,
Marek

PS: Very good 3D:
http://map.f4-group.com/#lat=50.0613940&lon=19.9377035&zoom=19&camera.theta=59.374&camera.phi=-179.687 (Poland, Kraków)

Hello cmif4,
do You already have implemented roof type “gabled” for donut topology? I mean e.g. such objects:
http://www.openstreetmap.org/browse/way/49855129

If You need help with algorithms, please ask.

Regards,
Marek

Thank you for the help proposal but we’re already updating potsgis to get the StraightSkeleton computation done on server side, then i will be in charge of the roof refactoring on client side.

I hope we won’t spent too much time on this improvement :confused: