Which OpenStreetMap tags become 3D geometry
The whole map comes from OpenStreetMap tags. This page lists the ones the pipeline reads, and what each one becomes on screen.
The data comes from OpenStreetMap
Millions of people have mapped their own streets, and the result carries far more than roads. Map data comes from OpenStreetMap and its contributors, under the Open Database Licence. Our work is to turn that data into a 3D map: the geometry, the tile pipeline, the rendering. That line never moves, and everything below sits on the data side of it: what we read, and what we do with it.
What becomes geometry
Buildings. A footprint is extruded to the height its tags describe (height,
building:levels), and min_height or building:min_level lift arcades and bridge decks off
the ground. A building with no height tagged gets a plausible one rather than leaving a hole in
the city block. Roofs are flat.
Ground cover. Every landuse value and a curated set of natural, leisure, amenity and
water tags become coloured ground: parks, forests, farmland, industrial estates, parking, beaches,
pedestrian squares, and the water itself. Each type has its own colour in one palette, the one
that restyling recolours.
Roads, rails and waterways. Lines are read from highway, railway, man_made, waterway,
barrier and natural.
Trees and street lamps. Every natural=tree point is planted individually, scaled by its
height tag when it has one, all from the same model; every highway=street_lamp point becomes a
lamp. They are instanced objects in the scene, not a texture painted on the ground.
Named places. Points tagged amenity, shop or office, plus a curated set of leisure and
tourism values, become markers ready for the projection interface.
Broken values break nothing
OSM values are free text. Heights arrive in feet, with unit suffixes, with comma decimals, as ranges, or as noise. The pipeline parses what it can: an unreadable tag costs one building its precision and never costs a tile its geometry.
Names come from the tags, not from a translator
A marker's label is the OSM name tag, verbatim, in the language the mapper wrote it in. The map
never invents one: a nameless park is still a park, while types where an anonymous point is just
noise (museums, hotels, swimming pools) are kept only when they carry a name.
The whole planet, from the same pipeline
There is no per-city packaging and no list of supported places. The source is the planet, so a scene in a capital and a scene in a village nobody has heard of come from the same tables; the only difference is how rich the OpenStreetMap data is at that spot.
Read on: from an OpenStreetMap row to a shaded pixel, or OpenStreetMap as a 3D globe, not a flat map.
Read more
- From an OpenStreetMap row to a shaded pixel
Spherical cells instead of a Mercator grid, real geometry at every zoom with no raster fallback, a sky computed from your date and place, and a composable shader chain. How CityMap3D turns OpenStreetMap into a 3D globe.
- Canvas, scene and camera: what you actually plug in
Give the engine a canvas and a configuration. Replace the camera, drop in your own 3D objects, re-tone the whole output to your palette, and get frame-synced screen positions for your own data.