3D development

This page describes development projects that create 3D data using OpenStreetMap Data.

Libraries that display 3D data

Name Platform Language Website Source code License Description Last updated
Cesium Web Javascript cesium free - Apache License, Version 2.0 Open-source 3D geospatial library
Native C++ cesium-native free - Apache License, Version 2.0 Cesium native C++ libraries that help power the Cesium for Unreal plugin.
MapLibre Web Typescript maplibre-gl-js free Open-source alternative started after Mapbox switched to non-free licenses. Supports the same 3D features Mapbox SDKs do.
iOS, Android, Native C++ maplibre-native free
Mapbox Web Javascript mapbox-gl-js nonfree - Non-free license Mapbox supports 3D features through their extrusion layer type and has tutorials on how use it to show buildings.They also provide a terrain layer.
iOS Swift mapbox-maps-ios nonfree - Non-free license
Android Kotlin mapbox-maps-android nonfree - Non-free license
WorldWindKotlin Android, Web, Java Kotlin WorldWindKotlin free - Apache License, Version 2.0 3D virtual globe. Can display information in 3D or 2D. Can take geographic information from different sources.
Vizicities Web Javascript vizicities free - BSD-3-Clause license 2019
MapSurfer.NET Web C# MapSurferNET free - Apache License, Version 2.0 2018
XML3D Web Javascript xml3d 2016
osmtride Web osmtride free - BSD-3-Clause license Displays OSM data in browser using Flash. 2011

Services that provide 3D data

Name Provides Coverage Cost Accessible through Format Updated
Cesium Ion Cesium OSM 3D Buildings Global Free for non-comercial use 3DTiles
Esri OpenStreetMap 3D Scene Layers Global Paid ArcGIS Pro
3D Buildings 3D buildings from OSM and other sources. Global Paid Monthly

Plugins that show 3D data in other applications

Name Description Website GitHub
Cesium for Unreal Unreal Engine plugin that shows data from Cesium Ion Cesium for Unreal cesium-unreal
StreetMap Unreal Engine plugin that import OSM data and generates buildings. StreetMap
Cesium for O3DE Brings data from Cesium Ion into the open-source 3D engine O3DE Cesium for O3DE cesium-o3de
gazebo-osm Shows 3D data in the open-source robotics simulator Gazebo. gazebo-osm
blender-osm A Blender plugin Plugin on Gumroad blender-osm
osm2maya A Maya plugin osm2maya
Osm2xp X-Plane plugin to show data from OSM. osm2xp
Kendzi3d 3D Renderer part of JOSM Map editor kendzi3d

Applications that generate 3D data

Link Input Output
OSM2World CLI .osm, .osm.gz, .osm.bz2 or .osm.pbf .gltf, .obj, .pov
rsgeotools CLI OSM Planet, waterpoly
Vectiler Mapzen vector tiles .obj
Osm2pov .osm .pov

Applications that generate images of 3D data

Defunct applications

People and additional projects

The following users worked on 3D related topics:

Renderer

  • User:Bitsteller extends the osm2pov script and does city large isometric renderings
  • User:Komяpa working on isometric rendering embedded 3D models (Kothic) and created an Mapnik isometric layer (see openstreetmap.ru, source at
  • User:Runge created the isometric MapSurfer renderer, that is now OpenMapSurfer (both projects gone/discontinued)
  • SakirSoft working on ShugenDoMap

Exporter

  • User:h4ck3rm1k3 worked on a Blender3D export script
  • User:Jon made a 3D landscape export to FlightGear
  • Supertuxkart can get levels from OSM as well

General

  • Skye Book doing some 2D vis in 3D OpenGL space
  • User:Viw/OSM3D about 3D tagging and editing
  • User:Marek_kleciak working as a professional on a automotive centered 3D environment/service. Developer of OSM-4D definition. Also Roof modelling, 3d roof and dormer modelling, 3D terrain and bridges modelling, tree modelling, 3D Tunnels, DE:Stairs_modelling.
  • User:Klokan Petr Přidal working on a WebGL 3D globe for the browsers: Try it . Project page: .
  • User:Jongleur thinking about more complex 3D box modells within the OSM DB
  • User:Anatolie had some thoughts about a Collada 3D scenery sharing for Moldava
  • User:!i! made some improvements to the Rostocker Gebäudehöhen import 2009 and micromapping in Rostock and shared the experience at Geoforum MV 2013 including Blender rendering and games export
  • User:nickw has developed a demo OSM viewer with SRTM data using WebGL and early work on a standalone OSM/SRTM OpenGL viewer
  • User:stefan_zst80 Project page: osm3d.org , did some tests with WebGL
  • OpenDEM is working on a more accurate elevation model than SRTM
  • User:vvoovv working on a Google Sketchup interexchange
  • User:Aschilli thinking about roof line tracing
  • User:bvbmatze works on improving OSM-3D at the University of Heidelberg, current focus on external building repository OpenBuildingModels
  • User:Lulu-Ann is planning to produce 2.5D tactile maps for blind persons, see project HaptoRender
  • Using Kinect as 3D radar
  • in modern browsers: http://www.webglearth.org/
  • Lorenz Laucher added TMS OSM support to Rhino] 3D
  • Microsoft created a Kinect based 3D scanner,
  • Virtual Terrain project big portal
  • User:rajo Is working on OSM in 3D using Declarative 3D for the Web
  • Marble community asked for joining
  • osm3d.cs.technion.ac.il Showing off 3D interchanges and improvements to SRTM based on (3D) GPS traces.
  • User:Balrog maintains the OSMapa-Topo mapnik stylesheet with 2.5D buildings, rooves, etc. originally based on Komяpa's work, also created a WebGL-based 3D globe slippymap library.

Coordinated tasks

Even with most people working on their own projects, there are some shared resources and standards that could be used across projects or need support by the community to contribute data.

3D model repository

The 3D Model Repository (3DMR) offers a shared collection of 3D models which can be linked with OSM. This allows rendering software to go beyond the limited features of a LOD1 building model. It also supports models that exist more than once in the world (e.g. a common bench in New York).

Common tagging features

Most developers agreed to support use this tagging schema as a lowest common denominator: Simple 3D Buildings

In addition, most tools use one or several of the following tagging schemes to create 3D scenes:

OSM-3D Screenshots gives a nice overview, where 3D objects are already in heavy use.

Example Models just a start to collect buildings modeled according to Simple 3D Buildings.

Streaming services

Because of the massive grow by applying the 3rd dimension, it becomes more important to outsource the calculation/storage to a dedicated server. The client has only to download/cache tiles of the 3D world similar to games, where entering a new level means to unpack the level data. OSM-3D has such client/server architecture.

osm2x3d service

openearthview web site provide a simple service relying on osm2x3d tool:

http://www.openearthview.net/osm2x3d.php?zoom=_ZOOM_&xtile=_XTILE_&ytile=_YTILE_

It's a demo version but aims to be improved as a release in the future (with cache on disk).

LoD (Level of Detail - cf OSM-4D) will be taken into account. At the moment, zoom level 19 is the max and allow to get building divided in floors.

Discussions

There are many unresolved questions and ideas related to 3D modelling. Some discussion can be found on subpages:

Feel free to chat on this topic using the 3D tag in the community forum.

See also

This article is issued from Openstreetmap. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.