For fun I’m making a 3D renderer for openstreetmaps using Mapzen and babylon.js. The aim is to find a balance between accuracy and ‘filling in’ some blanks; for example rendering trees where there reasonably may be some, like residential areas; assuming a gabled roof to buildings that may have it.
Still busy developing it, but here are some examples:
Oops, sorry, my last quote was not intended to be placed in your post.
That looks great!
babylon.js is about like three.js I use for my “OSM go”. You have an other intention than me: To show the world als realistic as possible. And yes, it makes a great impression.
Some “effects” remind me to my own problems. But you also has found some good solutions, I did not. Sure, a lot details are just random but the animated trains make me smile. Building:parts and roof shapes make it even better. It may be good if you start downloading in the center of the area and in rings around it.
What data/tiles do you use? Did you find any OSM frameworks to analyse tags and render in 3D? Or did you write it all yourself? Will you keep it open source?
Could you add keyboard controls for move and rotate? And allow to go deeper to height zero?
Is there any description of your work? A name for your renderer? You should make a OSM wiki page.
The URL parameters are q for quarry location, c for coordinates, zoom for “height" size for the downloaded tiles?
Are there more for direction and view angle?
Very nice, I like the attention to detail (parking spaces!) and the great-looking colours.
Curious to what extent you support Simple 3D Buildings tagging – is that possible with Mapzen? I read in your reddit thread that you are limited due to limitations in the vector tiles when it comes to lane tagging, for example. Do they already include building:part and similar attributes?
In any case, great work! (And some extra encouragement for me to finish my own WebGL frontend project. ;))
No, I just meant what tags your renderer is parsing.
Good to hear that building:part is considered important enough to be included in vector tiles! Although you’re right, of course – it should have been obvious from just looking at some of the buildings.
For buildings, Mapzen supports name, kind, height, landuse, kind_detail, roof:shape, roof:height. Missing tags are material/color and #floors unfortunately (though #floors can be guesstimated from height).
For roads: kind, service, isBridge, isTunnel, oneWay are some of the supported tags. Missing in Mapzen are number of lanes.
Mapzen is also missing some industrial tags like container cranes, ship mooring locations, and a way to see where container depots are; but I believe at least some of these are not prevalent in openstreetmaps in the first place.