From OpenStreetMap Wiki
Jump to navigation Jump to search
Authors: Roland Wagner, Roland Olbricht
Platform: Web
Language: English

OpenStationMap is a project to map stations with routing, indoor, 3D and of course station specific features.

OpenStationMap of Munich Hauptbahnhof [1]

OpenStationMap is a project to map railway stations with routing, indoor, 3D and of course station specific features. A visual map can be found at...

Some new features are needed for these views which will be discussed and defined here. This site started as a pilot with Deutsche Bahn and Akaparis GmbH to explore, create a data model and create examples of the indoors in stations in 2015. Other roots of this site resulted from many joined bachelor and master theses together with Mentz GmbH. Also the overall activities of Mentz GmbH into the pedestrian routing in public transport in the last years are noteworthy. Also the team around did great work about the railway tracks and it is worth to have a look onto railways from their point of view.

Railway stations are buildings and therefore the indoor and 3d building elements are relevant. Also railway specific elements, e.g. platform sections needed to be introduced. The connections between levels play a major role. Steps, elevators and rams were extended and refined. Also doors and entries play an important role in using a station.

Therefore the model has these subparts:

  • Routing with multiple levels
  • Simple Indoor Tagging
  • Simple 3D buildings
  • Doors, extended from node to way
  • Steps, Elevators and Ramps, extended and refined with Stairwell, Stair Landing, Flight of Stairs
  • Station specific elements, e.g service-point


Berlin Ostbahnhof:


Birmingham New Street Station:


Grand Central, New York City, USA:


Gare Du Nord, Paris, France:


München Hauptbahnhof:


Tokyo Ueno JR Station:

OpenStationMap-ScreenShot-Ueno Station Tokyo.PNG

Sydney Central:


List of more station examples

Station Name Link Remarks
Braunschweig Hbf
Berlin Hbf Some parts on level -1 to be captured
Berlin Jannowitzbrücke S and U stations
Berlin Ostbahnhof
Berlin Südkreuz
Bielefeld Hbf
Cairns, Queensland shopping center may be added
Darmstadt Food court missing
Dresden Hbf
France, Paris, Gare de Lyon
France, Paris, Gare du Nord
Frankfurt (Main) Hbf Some refinements are needed (steps)
Gütersloh Hbf
Hamburg Hbf
Hannover Hbf
Kassel Wilhelmshöhe Some refinements are needed (shops and travel center)
Kuranda, Queensland, Australia
Grand Central, New York City, U.S.A.
München Hbf, Bavaria, Germany
Paderborn Hbf, Westphalia, Germany
Osnabrück Hbf
Soest, Westphalia, Germany
Tokyo Ueno JR Station, Japan
Sydney Central, Australia
Wien Hbf add Indoor Profile
Zürich HB add Indoor Profile

Level of Details

LoD 0: Existence and location

The existance of a station with a name is the basic level. Typical tags are:

For Germany the coverage of this level is about 97% ( ). Nevertheless also here is a permanent change.

LoD 1: Derived from aerial images

This level contains elements, which can be derived from arial images. Typical elements are:

Platforms should also be connected for routing if the access is visible, which is often the case for smaller stations. In theses cases the access can be also tagged, e.g. with

LoD 2: Capturing from by passing trains

A result of the pilot was that the number of train stations is large and that aerial pictures are not good enough to detect e.g. steps, elevators, platform numbers, benches and more, because often travellers on platforms are protected by roofs. This data can be captured for existence and for proximity location<--What is "proximity location"?--> from a stopping train. This approach allows to capture a larger number of stations within a day or with the same ticket.

Typical features are:

  • Steps as simple ways with an assumed level information, e.g. level=-1;0 and fixme=ground level may be different, please adjust with a LoD 3 survey"

LoD 3: Survey

A detailed survey with laser distance measurement devices (starting from 40 EUR) is suitable for capturing these geometries areas, ways and nodes and their topology and semantics. The simple indoor tagging schema is used for rooms, e.g. corridors, shops, stairwells (extended) and doors (extended). Prior capturing of the main buiding, tunnel/bridge and platform axis is relevant for an efficient work progress and to solve the global reference problem, because distance measurements do not have a global reference (GPS). Therefore it is a simple "paddock navigation" approach just within the indoors and with a laser distance device.

Typical features are:

  • Level connections with a multi-level tag, e.g. level=0;1. These features are captured as areas (closedway) and ways. The handle tag "stairwell" is introduced for areas. For an escalator a simple (closedway) area with e.g. a level="-1;0" attribute is sufficient.
    • Steps
    • Escalator
    • Elevators
    • Ramps
    • Detailed stairwells: steps are often separated with stairwell=stair_landing and stairwell=flight_of_stairs.
  • Indoor rooms with
    • Shops
    • Corridors
    • Restaurants
    • Toilets
    • and more
  • Platform sections, e.g. A for DB trains
  • Service Point
  • Travel Center
  • Luggage Room

LoD 4: Signs for Pedestrian Navigation & more

There are some ideas to capture physical signs for a future pedestrian navigation ("go along the signs 'Friedrichstraße' until the underground entrance"). Other more refined elements may be found and grouped into this LoD.


This paragraph will give more hints on how to capture with a laser distance measurement device.

Data Model

The OpenStationMap collection of features consists of frequently found map features in and around stations, the indoor and 3d tagging, extended features and new station specific features. More explanations will be added, especially for the stairwells and for e.g. door extentions. Currently you can already use a JOSM preset:

JOSM Preset (latest) ( ) . This preset may also be used in Vespucci.

Indoor related features

OStM builds on the simple indoor tagging schema without relations. From a (railway) station point of view, there was the need to extend this schema and established features for two elements:

  • Doors
  • Stairs

Because mass transit requires large entrances and exits for many people, there are large entries and exists lines with many doors, e.g. 8-10 doors. Doors also have an easily measureable 1D extent, which can be expressed with an OSM way. Together with walls, rooms and corridors, also door ways are very useful to visualize openings in a building outline. This is relevant especially with the simple indoor tagging approach to focus on room areas and not on walls. Many doors usually also have a specific side to open, e.g. hinged doors. Therefore a simple convention can be proposed to have the opening side always on the left side of the directed way. This convention is very usable and can be visualized. Although doors are relevant, e.g. with opening hours, for navigation, from a capturing phase point of view, there is still the option to capture first the major geometries, e.g. rooms, and use a simple node for a door first. Later these nodes may be extended to ways and to represent the line geometry and also the opening side.

Contrary to doors, (station) stairs do have a significant usage of space in a 2D world, of areas, because the vertical connections require large stairwells. Measurements of stations and comparisons to the OSM representations showed frequently that the dimensions of steps are usually underestimated. From a map understanding point of view, stairs are also very relevant to understand the map station in the indoors. A simple icon to represented and visualize stairs is not sufficient and also not required, because there is much "map space" available to use area styles. Classical architecture drawings are very usable as good patterns. The Wikipedia article "Stairs" gives a good introduction to sub elements. But the current highway=footway way will still be required for

  • Routing
  • Visualization of a directed area with step patters with a width attribute e.g. width=3.2 (m)
  • backwards compatibility

The highway=steps feature way should be always directed upwards as a convention. The incline=up or incline=down attributes are still relevant for compatibility until this (architectural) convention is adopted. To show the vertical connections the attribute list level is introduced, e.g. level=0;1.

It is relevant to mention that highway=* tags should not be used for area tagging and remain line geometries (ways), because of too complex area routing algorithms. The simple indoor profile uses indoor=corridor and not highway=corridor. These area (closedway) geometries extend the stair features from a 1D (way) to a 2D (area) geometry:

  • Stairwell with (barrier=railing, new, to be created in wiki)
    • Yes, for combining elements, e.g. elevators, escalators and steps (stairwell=yes, new, to be created in wiki)
    • Stair Landing (stairwell=stair_landing, new, to be created in wiki)
    • Flight of Stairs (stairwell=flight_of_stairs, new, to be created in wiki)
    • Stairwell for Elevators (stairwell=elevator, optional, needs to be discussed)
    • Stairwell for Escalators (stairwell=escalator, optional, needs to be discussed)

A stairwell is a well between levels. In many cases this "hole" is different than the stairs, because it includes e.g. an elevator. A stairwell needs to be secured with a railing (barrier=railing). Currently these "holes" in (platform) levels are usually modeled with inner multipolygon relation elements in OSM but without an explizit tagging.

"Stair landings" subdivide a general stair into parts to allow a rest and to reduce the risk of falling. Very often there are up to four stair landings in a general stair, e.g. Sydney Central, because larger vertical distances need to be "bridged". Therefore also the level tag needs more refinements, e.g. level=0.3 or level= 0.7 for two middle stair landings. For three stair landings, this pattern level=0.3 and level=0.5 and level= 0.7 can be used. Very often there are also stair landing elements at the starting and ending level, e.g. to close the gap to a larger or shorter step, elevator and escalator stairwells. Simple Indoor Tagging indoor=corridor may also be used for start or ending stair landings, if it is used e.g. for the tunnel.

Station related features

Platform Section

node Because long distance trains are rather long, platform sections are used to indicate the expected position of a car. Therefore platforms are separated and marked with section signs. There is a close relationship with Tag:public transport=platform.

Key Value Object Description Default
public_transport platform_section_sign Platform Section Sign Visible sign, e.g. A..F
platform_section_sign_value <value> The alphanumeric value of the sign, e.g. "A" Different kinds of section and naming for cars are in use.
Service Point

nodearea Travel information of often needed due to many reasons. In opposite of selling tickets, these service points, e.g. at the Deutsche Bahn are designated for providing quick information only.

Key Value Object Description Default
public_transport service_point Information or Service Point A point where staff provides quick travel information

Travel Center

nodeareaWhile quick information needs can be provided at the Service Point, more complex questions that concern special tickets, special trains, problems and other needs, require detailed treatment. Therefore at larger stations an office style room with sufficient space for queuing exists.

Key Value Object Description Default
public_transport service_center Travelling Office A room to acquire more detailed information and to buy tickets
shop ticket
name <name>

Luggage Room

amenity=left_luggage nodearea

See also: amenity=luggage_locker (Proposed features/Luggage Locker)

Editing with PC JOSM and Android Vespucci

Two JOSM Plugins are very useful:


This paragraph will give some hints how to capture with laser distance devices.


Generic Map of LoD of (German) train stations:


This paragraph will give some hints how to tag.


See also