Real time 3D map using WebGL

things-change: the first part I mentioned as an example how one could extract a likely rectangle subdivision from the outline. the other part is to handle the constraint that the smaller roof must connect with its ridge to the edge of the main roof - with this constraint height of both roofs(parts) could be inferred automatically as there seems to be only one solution :slight_smile:

cmif4: for my interpretation of an open dome no skeleton is needed. when the center is inside the inner ring:
1 connect lines from center to all points in outer ring
2 clip lines to building footprint
3 interpolate height along lines - this way the height is constant at the inner ring

I’ll try that soon

Though when center is not inside the inner ring (or there are more inner rings) things get more complicated. Then one could build the triangle mesh for the rounded dome shape (as usual) and then insert the lines from the inner rings, put all that in a constrained delaunay triangulation and filter out the triangles inside the hole afterwards.

cmif4,
look here:
http://www.openstreetmap.org/browse/way/79799800
There is no right interpretation in 3D.
A bug?

Regards,
Marek

As already said few post before, for now we don’t handle roof:shape when polygons have holes.
The building part http://www.openstreetmap.org/browse/way/244031566 makes a hole on the outline when we merge building relation so outline roof shape is not handled.

I am currently working on buildings roof it should work in a few days, i already got dome, skillion and pyramidal working with holes (like the Pantheon in Roma).

f4 maps processing is outdated >20hrs, can you please fix it?

We’re already working on it, some osm data import broke our database.

Edit: check out this relation: http://www.openstreetmap.org/browse/relation/1980619 (prepare yourself for Internal Server Error :D)

Congratulations!!

Got it working locally, check out the screen below.

I’m working on straight skeleton aswell and i’m having some spectacular result on very complex shapes, but unfortunately it is very instable and it screws up very simple buildings that worked fine with the old method :roll_eyes:.

I’m also dealing with artifacts on buildings outlines incompletely used for rendering due to our “remove building:part from outline”, skeleton goes outside and does not really match the 3d shape…

Anyway there is a sample of how it looks on some spots:

cmif4,
please contact me.
I see, You´re very talented programmers. I teached architects geometry over 15 years.
There is an geometric approach for fixnix this problem, which is used by architect for construction of such building shapes.

You can contact me using the “Email” button under my avatar (it is not a trap :laughing:)

cmif4: building heights of ‘hotel des invalides’ look wrong. did you mess with the map data?

BTW do you calculate the minimal distance through the skeleton to the outline to retrieve the relative heights? There should be a patch in sfcgal soon so that the skeleton contain the correct distances as z (or m) value :slight_smile:

I split the building into 3 parts this morning as they do not have the same height http://binged.it/1cX4pJl

Height is computed on client side (we do not add z in the database) so it can’t be calculated during straight_skeleton process.

Oh indeed, you are right. I looked at some images of that building recently and was sure they were the same height…

You plan to use skeleton algorithm only for roof tagged with roof:shape=hipped?

We plan to use it on

gabled, half-hipped, hipped, gambrel, mansard and round 

maybe with some condition on the polygon (for example if shape is convex there is no point to build the skeleton, the old obox approach should work).

I started with hipped as skeleton does not need to be processed and can be used “as it” for triangulation.

I’m currently wondering how to handle the “roof:orientation=across” tag with skeleton on complicated shapes :roll_eyes:

What is this?
http://map.f4-group.com/#lat=52.5199191&lon=13.4115507&zoom=17&ui.showMenuPage=true&ui.discoveryOpen=false&menuPage.type=search&menuPage.id=Berlin&camera.theta=65.931&camera.phi=-13.178
:laughing:
We really need sphere as a point with height and radius for such purposes…

We really need contributor to stop doing buildings inside buildings overlapping with buildings and all together inside a building relation (how about using part and shapes defines in S3DB :p)

I see,
you´ve problems with rendering of roof:shape pyramidal with too many points.
See Heinrich Herz Tower in Hamburg / Germany
http://map.f4-group.com/#lat=53.5628755&lon=9.9764111&zoom=18&ui.showMenuPage=true&ui.discoveryOpen=false&menuPage.type=search&menuPage.id=Hamburg

Btw.:

Absolutely yes.

Hi,
let me know how to tag boats:

and how to avoid that they are driving above the bridges.

There is no issue, i got the same rendering as Kendzi3D, the only difference is the outline that got a hole and is higher in F4Map due to the man_made=tower tag (our random height is based on building or man_made values).

Add “building:part=no” to the outline way and it will look what you expect.