OSM-3D.org

The 3D Development team are currently working on unifying 3D related tags.
For first results see Simple 3D Buildings.

The OSM-3D.org project aims to provide a Web-based interactive 3D view on OpenStreetMap data. It is currently maintained by the University of Heidelberg, GIScience Group http://giscience.uni-hd.de. It is used as a show case to demonstrate the potential of 3D maps as well as how 3D Spatial Data Infrastructures (3D-SDI) can be set up using standardized and open interfaces. The map display goes beyond simply rendering cached tiles that are somehow distorted in order to create a perspective effect. It is based on a scene graph model that incorporates an elevation model and as many OSM features that we could process. This scene graph can be explored using the online viewer XNavigator. Preparing OSM data to be viewed in OSM-3D requires a lot of preprocessing steps which are done on GIScience's servers.

Project home page: http://www.osm-3d.org

Author: User:Aschilli

Data Availability

As the name implies, all of the map features are imported from OSM. We tried to extract all significant features that can be incorporated into a generic all-purpose 3D map. Since OSM does not provide a landscape model, the height information was imported from another source. The elevation model is derived from SRTM (Shuttle Radar Topography Mission) data kindly provided by CGIAR. It has a resolution of ca. 90 m. CGIAR closed many no-data voids that occured in mountaineous regions and on water surfaces using interpolation techniques. The original SRTM data set was not usable for our terrain triangulation package since it relies on homogenously distributed point. The regions at the poles from 60 N to 86 N and 60 S to 86 S where no SRTM data is available have been filled up with GTOPO30 data, a coarser data set with a resolution of ca. 1km.

The terrain is available as rectangular tiles matching the Spherical Mercator reference system from OpenStreetMap. Levels 3 - 13 have been completely processed. Levels 14 - 18 are computed on demand and cached. Hence, if you visit a place for the first time it may take a little longer to load.

Buildings and POIs are processed worldwide and updated on a regular basis.

The combined OSM and SRTM data set is redistributed as Web 3D Service (W3DS). The W3DS is a 3D portrayal service is currently discussed at the Open Geospatial Consortium (OGC) as component for distributing geospatial data encoded in X3D, VRML, Collada, KML and other 3D internet standards. It is designed for providing landscape and city models as well as information layers such as POIs and labels. The W3DS for the OSM-3D project has been made available as reference implementation for the OGC standardization process. More information, a test client, and the interface documentation can be found on

http://www.w3ds.org/doku.php?id=osm-3d_w3ds

Map Features

Map Tiles

All tiles available in Mercator projection can be used. Currently the following styles are available:

Buildings

Buildings are rendered as polyhedra, extruded 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 processed correctly, they are displayed as holes in the polyhedron. Outer rings consisting of more than one way cannot be processed. The bottom and the top are usually flat. Where roof information is available, the algorithm tries to reconstruct the roof geometry from the roof type (e.g. gabled) and alignment. In some cases buildings on steep hillsides cause problems and parts become hanging over the ground. For this reason, walls should not be tagged as buildings. Mostly, height information is not available, so that we have to use a fixed height value, with some random deviation added. If available, the following tags are used in order to construct the building geometries:

Key Description Example values Notes
height Approximate height - distance from ground to roof of the building (Roof, not antenna or spire for skyscrapers by default)
  • 7 m
  • 44 m
  • 541 m
  • 300 ft
  • 60 yd
By default : meter. For use in 3D apps

Includes well-known abbreviation of a length measure

min_height Approximate height below the building structure 31 m Can be used to model complex building structures that have overhanging parts, or bridges. This value specifies the distance from ground to the lower edge of the building structure. The unit is meters unless otherwise specified. Note that when min_height is used, height is still defined as distance from ground to top of the structure. So "bridge" with 3 meters height, where bottom part of the bridge is positioned 100 meters above ground level will have height=103, min_height=100.
building:min_level Number of stories between ground and actual first existing floor 5 For parts of building that are "floating in air" (actually, they are supported by other building parts that are fixed into ground), number of floors from ground that are not present. So if there is a passage under building, where 5 floors are missing, use building:min_level=5

Note that building:levels still counts floors from the ground, including also those nonexistent "skipped" floors, as can be seen in the explanatory picture

number of levels is multiplied by 3 m to estimate the actual height

building:levels:aboveground Number of stories of the building 50 number of levels is multiplied by 3 m to estimate the actual height
levels Number of stories of the building 50 Same meaning as above. Number of levels is multiplied by 3 m to estimate the actual height

Note: Some keys are used redundanty. Measurements in distance units (m, ft) are preferred over number of levels, which can be estimated with 3 meters each.

The order for parsing height keys is as follows: height, building:levels:aboveground, levels.

Please see Building_attributes for a reference of possible building attributes that could be very helpful in achieving realistic city models in the future.

For large buildings is much better to divide them into multiple parts, each with a different height value. Otherwise, the groundplan is just extruded up the top level, which may look odd. Flat roof structures can be modeled very nicely using multiple rings of buildings (actually, this would be parts of a building and we should be looking a different key, but for now, we stick with building). Inclined roofs are not possible.

Good Examples:

Bad Examples:

Obviously there are many.

Points of Interest

Points of Interest (POI) are displayed as 3D boxes with the symbol as texture and a text label. POIs are organized in the following layers:

  • Money
  • Public Facilities
  • Health
  • Shop
  • Traffic
  • Eating
  • Enjoyment
  • Education
  • Public Transport
  • Post
  • Accomodation


Money

Key Value Element Rendering Key Value Element Rendering
amenity atm amenity bank
amenity bureau_de_change

This table is a wiki template with a default description in English. Editable here.

Public Facilities

Key Value Element Rendering Key Value Element Rendering
amenity telephone amenity toilets
amenity courthouse amenity police
amenity public_building amenity townhall
amenity fire_station amenity place_of_worship
tourism information

This table is a wiki template with a default description in English. Editable here.

Health

Key Value Element Rendering Key Value Element Rendering
amenity hospital amenity pharmacy

This table is a wiki template with a default description in English. Editable here.

Shop

Key Value Element Rendering Key Value Element Rendering
shop supermarket shop bakery
shop butcher shop kiosk

This table is a wiki template with a default description in English. Editable here.

Traffic

Key Value Element Rendering Key Value Element Rendering
amenity fuel amenity parking

This table is a wiki template with a default description in English. Editable here.

Eating

Key Value Element Rendering Key Value Element Rendering
amenity fast_food amenity pub
amenity restaurant amenity biergarten
amenity cafe

This table is a wiki template with a default description in English. Editable here.

Enjoyment

Key Value Element Rendering Key Value Element Rendering
amenity cinema amenity theatre
amenity nightclub

This table is a wiki template with a default description in English. Editable here.

Education

Key Value Element Rendering Key Value Element Rendering
amenity university amenity school
amenity library amenity college

This table is a wiki template with a default description in English. Editable here.

Public Transport

Key Value Element Rendering Key Value Element Rendering
highway bus_stop railway tram_stop
railway tram railway subway_entrance
railway station amenity bus_station
amenity taxi

This table is a wiki template with a default description in English. Editable here.

Post

Key Value Element Rendering Key Value Element Rendering
amenity post_box


amenity post_office

This table is a wiki template with a default description in English. Editable here.

Accomodation

Key Value Element Rendering Key Value Element Rendering
tourism hotel tourism hostel
tourism motel tourism guest_house

This table is a wiki template with a default description in English. Editable here.

Labels

Labels (POI) are displayed as 3D text objects. Labels are organized in the following layers:

  • Suburb Labels
  • Building Labels
  • Building Numbers
  • County Labels
  • Locality Labels
  • Village Labels
  • Region Labels
  • City Labels
  • Nature Labels
  • Street Labels


Suburb Labels

Key Value Element Rendering Key Value Element Rendering
place suburb place airport

This table is a wiki template with a default description in English. Editable here.

Building Labels

Key Value logical operator Key Value Element Rendering
building yes or true AND name any

This table is a wiki template with a default description in English. Editable here.

Building Numbers

Key Value logical operator Key Value Element Rendering
building yes or true AND addr:housenumber any

This table is a wiki template with a default description in English. Editable here.

County Labels

Key Value Element Rendering Key Value Element Rendering
place county

This table is a wiki template with a default description in English. Editable here.

Locality Labels

Key Value Element Rendering Key Value Element Rendering
place locality

This table is a wiki template with a default description in English. Editable here.

Village Labels

Key Value Element Rendering Key Value Element Rendering
place village place hamlet

This table is a wiki template with a default description in English. Editable here.

Region Labels

Key Value Element Rendering Key Value Element Rendering
place region

This table is a wiki template with a default description in English. Editable here.

City Labels

Key Value Element Rendering Key Value Element Rendering
place city place town

This table is a wiki template with a default description in English. Editable here.

Nature Labels

Key Value Element Rendering Key Value Element Rendering
natural peak

This table is a wiki template with a default description in English. Editable here.

Street Labels

Street Labels are created from the road network and displayed as separate layer. This layer is also tiled, i.e. labels are not provided as individual features, but as collection of features of a rectangular area. The font size depends on the tile level.

Key Value Element Font Size / Tile Level
16 15 14 13 12 11 10 9 8 7
highway motorway 18 33.6 62.4 115.2 211.2 384 768 1536 3072
highway trunk 12 24 48 96 192 384
highway primary 12 24 48 96 192
highway secondary 12 24 48 96
highway tertiary 12 24 48
highway residential 12 24
highway living_street 12 24
highway service 12 24
highway pedestrian 12 24
highway footway 12 24

This table is a wiki template with a default description in English. Editable here.


Technical Facilities

Some man-made objects can be displayed as 3D symbol since they usually share a similar shape and color.

Key Value Element Rendering Key Value Element Rendering
man_made lighthouse man_made windmill
power_source windgenerator

This table is a wiki template with a default description in English. Editable here.

Map Functions

Displaying and navigating through the map is not the only purpose of the OSM-3D project. Access to feature information, finding places and routes, importing your own tracks, and other interactions with the map are equally important. Most of these functions have been realized by connecting to specialized geo-services with open OGC interfaces. Using OGC services has the advantage that components can be easily replaced, for instance a third party OGC service working on local, non-OSM data can be plugged in. These services are the actual building blocks of a spatial data infrastructure. However, usually geo services provide 2D data, e.g. a geocoder will provide most likely 2D coordinates. In order to be displayed together with the virtual landscape model, the height must be obtained from an additional source. For this purpose we set up an Elevation Query Service (EQS) which interpolates height values from the DEM. The EQS contains a PostGIS database with triangulated SRTM data.

The following plugins are available in the XNavigator Webstart edition. Some must be enabled in the Panels menu:

Get Feature Info

GetFeatureInfo is an operation of the W3DS. You can click on the map and will receive a list of attributes of the selected feature.

Geocoder

Geocoder is a common component in map applications. It allows to search for places and addresses. The Reverse Geocoder receives coordinates and looks up the address in the database. Click on a building and the address will pop up.

POI Search

Convenient function to search for POIs. All OSM POIs have been categorized, spatially indexed, and stored in a PostGIS data base. Access to this data base is enabled through an OGC Directory Service. The POI search panel ("Yellow Pages") offers a list of all available categories and sub types. Click on the map, specify a search radius, select either a category or a single feature type, and you will see all nearby POIs that match your query.

3D Routing

Routing allows to find shortest or fastest connections between two points. The 3D route service (3DRS) is a special modification of the service used in OpenRouteService. It supports several modi: fastest route for cars, shortest route for cars, routes for pedestrians, and routes for bicycles. All these modes can be used in OSM-3D. The 3DRS delivers, in contrast to the normal RS, 3D line strings in the route description, which can be easier imported and displayed together with the DEM. You can either pick two arbitrary points, or specify addresses for the start and end point.

GPX Import

If you have recorded your own GPS tracks, you can upload the GPX file and display the track in OSM-3D.

Access to Sensor Data

Sensor data can be obtained from an OGC Sensor Observation Service (SOS). The display of sensor data includes a 3D symbol representing the sensor category and a list of values which were recently recorded by the sensor. The SOS contains environmental sensor data collected from another source.

OSM-3D Client Software

The web client that is used in OSM-3D is called XNavigator. It has been mainly developed as client for the W3DS reference implementation, but it also allows access to a couple of complementary OGC services. Hence it is sometimes also referred to as "integrated client", but in the OSM-3D project its main purpose is to fly through the city and landscape models without the need to install or configure anything.

XNavigator can be used in 3 ways:

  • as Applet embedded in a webpage. This is the simplest version. Selection and configuration of layers is fixed and cannot be changed. Permalinks can be created and distributed. The Applet provides an External Authoring Interface (EAI) giving a limited access to internal functions. See OSM-3D Applet page for details.
  • as Java Webstart. This gives you a complete GUI and full access to layers, settings, and map functionalities, including routing, geocoding, sensor data access and others. As additional navigation mode a 2D overview map can be used.
  • as installation. Same as Webstart, but without restrictions. Webstart is running in a sandbox environment with limited access to system resources. With the installation you can also import models from your local hard drive. The installation is sometimes faster than Webstart, therefore it is the recommended version.

XNavigator homepage: http://xnavigator.sourceforge.net/doku.php

Data Updates

It does not update anymore. --Henriko 11:48, 29 April 2011 (BST)

yes, we are doing updates: Buildings, POIs, labels etc. are updated approx. weekly or more often. But: Landuse & streets are only updated occasionally at the moment (very rarely) az 15. July 2011

Some Interesting Places

City of Rostock
The first complete city model in OSM-3D was made available for the City of Rostock. In April 2009, The Land Surveilling Office (Kataster-, Vermessungs- und Liegenschaftsamt - KVL) of Rostock donated all their building data to OSM. The building footprints have been slightly simplified and have an accuracy of <= 1m, which is sufficient for an LOD-1 (see CityGML) city model. On request of the University of Bonn, they also provided building height information which could be imported in August 2009. For more information on the data import see Rostocker Gebäudehöhen Import 2009.

Screenshots

more OSM-3D Screenshots

Servers

OSM-3D is running on several servers installed in the Computing Center of the University of Heidelberg (URZ).

Server Function Configuration System
rax Application server

Proxy for internal services

CPU: 2 x Intel Xeon X5355 @ 2.66GHz

HDD: 2 x 250GB SATA 7.2k in RAID 1

RAM: 16 GB

Windows Server 2003 Enterprise x64 Edition

Java SE 6

Apache 2.2 HTTP Server

Several Apache Tomcats

feldberg Data processing server

Used for updates

CPU: 2 x Intel E5440 @ 2.83GHz, Hyperthreading off

HDD: 2 x 300GB SAS

RAM: 48 GB

Ubuntu

PostGreSQL 8.4

Java SE 7

zimba Database server CPU: Intel Core 2 Quad Q6700 @ 2.66GHz

HDD: 4 x 2TB SATA 5.4k. 3 of them in S/W RAID 0

RAM: 4 GB

Debian Squeeze

PostGreSQL 8.4

nebelhorn Update server. Dedicated to building updates CPU: Intel Pentium Dual-Core @ 2.50GHz

HDD: 250 GB

RAM: 2 GB

Windows XP

Java SE 6

This table is a wiki template with a default description in English. Editable here.

Statistics


As of 02/14/2012:

  Buildings: 50.043.209 / 76 GB
  Point Objects: 3.514.446 / 1GB
  Terrain Tiles: 68.562.212 / 398GB
  Total Database Size: 475GB
  Processing Database Size: 1425GB


As of 01/15/2011:

  Buildings: 23.262.900   
  Point Objects: 5.659.070
  Terrain Tiles: 120.030.291 / 513GB
  Total Database Size: 572GB
  Processing Database Size: 1425GB


As of 07/20/2010:

  Buildings: 2.378.301
  Point Objects: 5.659.070
  W3DS Database Size: 99 GB
  Processing Database Size: 306 GB



Links

External links


XNavigator
Author: User:Aschilli
License: GPL2
Platform: Java
Version: 1.4.1 (2012-02-26)
Languages: German and English
Website: http://xnavigator.sourceforge.net/doku.php
Programming language: Java

3D OSM viewer using SRTM DEM, Routing with OpenRouteService.

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