From OpenStreetMap Wiki
Jump to: navigation, search



Look at [OpenEarthView]

Welcome in the osm2x3d wiki page. The idea of osm2x3d project is to convert data from openstreetmap to 3d scene graph using x3d format. The idea is not only to see buildings but also to see building indoor.

Currently, it looks like it:

Empire State Building:

ESB osm2x3d.png

Saint Petersbourg Cathedral:

StPetCat osm2x3d.png

For a given building, the first is to divide it by floor. So, for that, we need the following information:

  • height
  • building:levels
  • min_height (0 by default)
  • min_level (0 or 1 by default)

The next step is to provide a navigation system able to focus on a single building to select a specific floor...

I'm looking for people interested by the idea to link it with 3D indoor visualisation...

Source code is available here: https://github.com/clement-igonet/osm2x3d

Demo are here:

OSM data

The following key/value pairs are taken into account:

  • bounds
  • node
  • way
    • nd
    • tag - building (building:part not used)
    • tag - building:levels
    • tag - height
    • tag - min_height
    • tag - name
    • tag - building:colour
    • tag - roof:shape
    • tag - roof:height
  • relation
    • member - way
    • tag - name
    • tag - building
    • tag - building:part
    • tag - type
    • tag - height
    • tag - min_height
    • tag - roof:shape
    • tag - roof:height


| Building without height key | grey form in a plan |

Expected result
OSM data 3D scene result
No height Grey form in a plan
Height Extrusion
Height + level extrusion divided in floors


Osm2x3d flow.svg

OSM data Osm Object My3d Object
"building" and "building:part" OsmBuilding w/wo "part" attribute My3dBuildingPart
relation for "building" and "bulding:part" OsmBuildingRelation My3dBuilding containing set of MyBuildingPart
"building" or "building:part" alone OsmBuilding w/wo "part" attribute My3dBuilding containing one MyBuildingPart

x3dtile web 3D service (W3DS)


Raw 3D object

Property to use:

  • building:obm


  • building:object

... as suggested in OpenBuildingModels

Links and references