OSM-3D is a research project carried out at the GIScience Research Group, University of Heidelberg. It investigates how Volunteered Geographic Information and freely available data sets can be incorporated in a 3D Spatial Data Infrastructure at global scale. OpenStreetMap has a very active and dynamic community which can adapt to new circumstances and requirements very quickly. Mapping activities after the earthquake in Haiti in 2010 showed how motivated this community can be if spatial information can help disaster response teams plan their activities. These "hot spots" and densely populated places are often the origin of new features and functionalities, for instance the Emergency Route Service taking into account barriers and unpassable roads.
OpenStreetMap was designed for mapping streets, ways, landuse areas, boundaries Points of Interest etc. in 2D space. However, more and more buildings are mapped as well since high resolution imagery has been made available. More details such as number of storys, absolute height, colors, facade material, and roof structures will follow. This allows us to create a workflow for computing 3D shapes from building footprints, attribues, meta data, and linked geometries and to generate 3D city models from OSM. POIs, providing "deep map" information such as locations of hotels, restaurants, pharmacies, ATMs and many other facilities and amenities, can be displayed in a different way using 3D symbols and geometries. We also applied very complex and animated models for technical facilities which usually have a similar shape and appearance, for example wind generators, lighthouses, wind mills.
The terrain has been generated from SRTM/GCIAR data which comes in a horizontal resolution of 3 arc seconds and has a vertical accuracy of about 16 meters. For regions above 60 degrees north and for smaller scales GTOPO30 data has been used. All terrain data has been transformed from the original rasters (e.g. GeoTIFFs) into triangulated meshes and stored as tiles, each representing a quadratic area in spherical mercator projection. These tiles can be compared to a 2D TileCache used to accelerate map rendering. A special feature is that all streets and landuse areas have been integrated into the terrain model providing a map like appearance in 3D. Alternatively, satellite imagery, Mapnik, or Osmarender tiles can be mapped on the terrain as textures.
Processing of OSM Data
The following figure shows some of the components involved in the data update process:
OSM data is retrieved as change sets via the API using Osmosis. It is then passed through a chain of update processes, which are triggered periodically. The Osmosis database contains the raw OSM data in form of node, way, relation, and attribute tables which are connected by foreign/primary keys. This is a pure relational database schema. In order to be used by map or GIS components, it must be polygonized and transformed into an object-relational schema using PostGIS datatypes and spatial indices. The update process applies attribute filters and creates tables for each map feature type, e.g. landuse, highway, POI, places, building. This database is called WMS database because it is used by an OGC Web Map Server / OpenLayers branch accessible through http://osm-wms.de.
The 3D database is derived from the WMS database and SRTM data sets by several processes, from which only a few are shown in this figure. They partly involve heavy CPU use and I/O access. The XNavigator client is used as 3D viewer. It is implemented in Java and requires no previous plugin installation. It uses a branch of Java3D scenegraph technology and JOGL which runs on several platforms including Windows, Linux, and Mac OSX. XNavigator can be started as Java Webstart, embedded in web pages as Applet, or installed as application.
The most complex process is DEMTileGenerator, which combines SRTM and OSM data and creates triangulated tiles in various sizes.
It comprises the following steps:
Derivation of low resolution terrain data sets from SRTM using mesh reduction techniques. This happens only once
For each tile:
1. Triangulation of SRTM sample points
2. Generalization of OSM polygons (landuse) and lines (ways)
3. Applying buffers to lines (ways)
4. Integration of OSM data into the triangle mesh
5. Flattening streets
6. Cutting tile borders
7. Creating vertical fillets at borders
Processing of buildings, labels and points of interest
Buildings are rendered as polyhedra, extruded from footprints with flat roofs. The base height is interpolated from the DEM. In OSM, buildings are modeled either as ways representing the footprint at the base or as relations, with an outer ring and 0..n inner rings for courtyards. Inner rings are displayed as holes in the polyhedron. The bottom and the top are flat. Mostly, height information is not available, so that we have to use a fixed height value, with some random deviation added. However, the development of attributes and extra information such as roof details will continue so that building could be modeled more precisely. Currently height information is sometimes provided as number of levels or absolute height.
Other point elements such as labels and POIs can be displayed as 3D symbols or text elements, according to the category and attached attributes.
Web 3D Service (W3DS)
The server for distributing all processed data is implemented as W3DS. A W3DS is a portrayal service for three-dimensional geodata such as landscape models, city models, textured building models, vegetation objects, and street furniture. Geodata is delivered as scenes that are comprised of display elements, optimized for efficient real time rendering at high frame rates. 3D Scenes can be interactively displayed and explored by internet browsers with 3D plugins, or loaded into virtual globe applications. A W3DS is capable of handling data sets of a wide range of scales, from full globes down to smaller immobile objects such as lanterns which are still of geographic relevance. It can handle data sets consisting of multiple Levels of Detail for each object, thereby greatly increasing performance without sacrificing quality. The representation of geographic objects may range from very detailed and textured models, to prototypic and generic models used for same types of objects, to abstract boxes or symbols. Scenes are retrieved by queries defining the geographic area, information layers, styles, and further parameters, very similar to the Web Map Service (WMS) interface. The formats used for encoding 3D scenes are designed for limited bandwidth networks like the internet and realistic and efficient real time rendering. They avoid overhead produced by e.g. XML tags, and exploit graphics technologies like display lists, re-using scene graph nodes by defining links, indexed geometry arrays, and hardware shaders. Due to the formats used to deliver content, the W3DS is not restricted to static objects; it can also include animations and other visual effects, as well as pre-defined behaviors triggered by user interactions.
How exactly OSM data is interpreted, how tags are filtered, and what symbols are used is described in detail on the OSM Wiki page.
2012 University of Heidelberg, Department of GIScience, GIScience