OSM-3D.org

From OpenStreetMap Wiki
(Redirected from OSM-3D)
Jump to navigation Jump to search

information sign

The 3D Development team are currently working on unifying 3D related tags.
For first results see Simple 3D Buildings.
osm-3D in browser showing Mapquest tiles

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

Frankfurt am Main downtown with skyscrapers
Paris

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) 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
Explanation of building height tags
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 Mf node.png
Osm3d-atm.jpg
amenity bank Mf node.png
Osm3d-bank.jpg
amenity bureau_de_change Mf node.png

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 Mf node.png
Osm3d-Amenity telephone.JPG
amenity toilets Mf node.png
Osm3d-Amenity toilets.JPG
amenity courthouse Mf node.png
Osm3d-Amenity courthouse.JPG
amenity police Mf node.png
Osm3d Amenity police.JPG
amenity public_building Mf node.png
Osm3d Amenity public building.JPG
amenity townhall Mf node.png
Osm3d-Amenity townhall.JPG
amenity fire_station Mf node.png amenity place_of_worship Mf node.png
Osm3d-Amenity place of worship.JPG
tourism information Mf node.png
Osm3d-Amenity information.JPG

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 Mf node.png
Osm3d-Amenity hospital.JPG
amenity pharmacy Mf node.png
Osm3d-Amenity pharmacy.JPG

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 Mf node.png
Osm3d-Amenity supermarket.JPG
shop bakery Mf node.png
Osm3d-Amenity bakery.JPG
shop butcher Mf node.png
Osm3d-Amenity butcher.JPG
shop kiosk Mf node.png
Osm3d-Amenity kiosk.JPG

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 Mf node.png
Osm3d-Amenity gas station.JPG
amenity parking Mf node.png
Osm3d-Amenity parking.JPG

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 Mf node.png
Osm3d-fast food.jpg
amenity pub Mf node.png
Osm3d-Amenity pub.JPG
amenity restaurant Mf node.png
Osm3d-Amenity restaurant.JPG
amenity biergarten Mf node.png
Osm3d-biergarten.jpg
amenity cafe Mf node.png
Osm3d-cafe.jpg

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 Mf node.png
Osm3d-cinema.jpg
amenity theatre Mf node.png
Osm3d-theater.jpg
amenity nightclub Mf node.png
Osm3d-Amenity nightclub.JPG

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 Mf node.png
Osm3d-Amenity university.JPG
amenity school Mf node.png
Osm3d-Amenity school.JPG
amenity library Mf node.png
Osm3d-Amenity library.JPG
amenity college Mf node.png

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 Mf node.png railway tram_stop Mf node.png
railway tram Mf node.png railway subway_entrance Mf node.png
railway station Mf node.png amenity bus_station Mf node.png
Osm3d-Amenity bus station.JPG
amenity taxi Mf node.png
Osm 3dAmenity taxi.JPG

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 Mf node.png
Osm3d-Amenity post box.JPG


amenity post_office Mf node.png
Osm3d Amenity post office.JPG

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 Mf node.png
Osm3d-Amenity Hotel.JPG
tourism hostel Mf node.png
tourism motel Mf node.png tourism guest_house Mf node.png

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 node
Osm3d-Place suburb.JPG
place airport node
Osm3d-Place suburb.JPG

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 area

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 area
Osm3d-housenumber.jpg

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 node
Osm3d-Place county.JPG

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 node

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 Mf node.png
Osm3d-Place village.JPG
place hamlet Mf node.png
Osm3d-Place village.JPG

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 node

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 node
Osm3d-Place city.JPG
place town node
Osm3d-Place town.JPG

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 node
Osm3d-peak.jpg

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.

Street labels


Key Value Element Font Size / Tile Level
16 15 14 13 12 11 10 9 8 7
highway motorway way 18 33.6 62.4 115.2 211.2 384 768 1536 3072
highway trunk way 12 24 48 96 192 384
highway primary way 12 24 48 96 192
highway secondary way 12 24 48 96
highway tertiary way 12 24 48
highway residential way 12 24
highway living_street way 12 24
highway service way 12 24
highway pedestrian way 12 24
highway footway way 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 Mf node.png
Osm3d-lighthouse.jpg
man_made windmill Mf node.png
Osm3d-Buildings Windmill.JPG
power_source windgenerator Mf node.png
Osm3d-Buildings windgenerator.JPG

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

Looking for nearby restaurants using the 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

Mountain hike to Le Brevent in the Mont Blanc Massif, shortest route computed by the 3D route service

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.

Rostock-warnemuende.leuchtturm.osm-3d.jpg Rostock-3-osm-3d.jpg

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

See also

External links

XNavigator
Osm3d praha.jpg
Author: User:Aschilli
License: GNU General Public License v2
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.