User talk:Dschwen

From OpenStreetMap Wiki
Jump to navigation Jump to search

WikiMiniAtlas 3D support

Hi DSchwen, you wrote about the 3D support of your tool. Can you please give me further details about the data processing and which tags are in use? --!i! This user is member of the wiki team of OSM 05:57, 12 February 2013 (UTC)

Hi !l!, the code is up on github here, the 3D-building rendering (and the client-side tile rendering is in this file. I access the building, building:part, height, min_height, building:levels, and building:min_level tags. I'm looking at processing roof shapes as well to get nice domes on cathedrals etc. My client side rendering stuff (including buildings) uses data extracted from a copy of the osm-mapnik rendering database. The extraction script generates a JSON file per tile (see source). --Dschwen (talk) 15:03, 12 February 2013 (UTC)
Thanks for your explanations, maybe your server can be used for OSMBuildings too. There might be a good knowledge exchange between both projects? --!i! This user is member of the wiki team of OSM 01:14, 13 February 2013 (UTC)
Is that the building geometry repository from Heidelberg? Well, I'll look into that, but right now it looks like a lot of work for a rather small payoff. By the way I commented on Talk:Key:height about the policy of tagging max height on main building elements even if parts are present. This may be a big problem for 3D visualization projects. Any ideas/comments? --Dschwen (talk) 01:20, 13 February 2013 (UTC)
By the way I just fixed a bunch of bugs in the WMA 3D module. Now height values such as 200 m or 523'12" are interpreted correctly (that caused the Burj Khalifa not to show up for example) and there was a bug that made parts of building being cut off (that affected the Empire State bBuilding among many others). Also the lighting was inconsistend doe to inconsistent polygon winding orders. --Dschwen (talk) 01:24, 13 February 2013 (UTC)
!i! was referring to osmbuildings.org, which is a 3D building visualization in Javascript similar to the 3D feature of WMA. The developer has recently asked for help/cooperation in the 3D forum (this thread). Oh, and hi by the way. :) --Tordanik 01:59, 13 February 2013 (UTC)
I'm not sure but AFAIK it's a homebrew solution to transfer just outline and height while OSM-3D streams full 3D vector geometry tiles. Regarding heights, the most devs worked on Simple 3D buildings schema and support it within their tools. But yes, it might be wise to make use of fallbacks ;) --!i! This user is member of the wiki team of OSM 02:07, 13 February 2013 (UTC)
On Simple 3D buildings it says Note that if a building has at least one area tagged as building:part=yes, the building outline is no longer considered for volume rendering. I wonder how you can efficiently detect this. --Dschwen (talk) 03:14, 13 February 2013 (UTC)
One answer would be if the building way shares nodes with any building:part way. Unfortunately my application can only access a mapnik rendering database, not the original OSM data. And there all info about shared nodes is lost (at least not straight forward to recover). --Dschwen (talk) 03:19, 13 February 2013 (UTC)
Testing for shared nodes seems like a good and efficient solution if you only need to know whether a building has parts, and not which ones they are. Not all parts will share necessarily nodes with the outline, but with a properly mapped building at least some need to. So it's unfortunate that this rendering database scheme does not contain the necessary information.
In OSM2World, I'm testing for "intersects" and "contains" relationships between any pair of objects (I need that anyway for e.g calculation of bridges, for avoiding to cover streets running through a forest with randomly placed trees and many other details like that, so it seems practical to reuse it for building parts). I wouldn't describe that solution as "efficient", though, and I think your use case calls for something simpler. --Tordanik 22:14, 13 February 2013 (UTC)
Well "something simpler" would be not tagging main building elements with a maximum height, or using a separate key for an approximate or maximum height, keeping key:height consistently populated with a minimum height in both building=yes and building:part=yes elements. --Dschwen (talk) 22:21, 13 February 2013 (UTC)