How to map a building - osiris-indoor/sample-maps GitHub Wiki

Table of Contents

The basics

We are using the Simple Indoor Tagging proposal with some modifications (explained later)

Draft specification: http://wiki.openstreetmap.org/wiki/Simple_Indoor_Tagging
Example of indoor tagging: Aachen University

Drawing the building

The first step is to download an area containing our building in JOSM. If not exist, we mustdraw the shell of the building. Then, every room, corridor or facility has to be represented in the model.

Importing the level images

Load a level image

  • We need an image of each level
  • Then we use PicLayer plugin in JOSM to draw everything

Image transformations

  • Transform the image to match the building in OSM
  • After resizing and rotating we can draw over the image

The building tag

building=*
min_level=*
max_level=*
non_existent_levels=*
Example:
building:levels=5
 building=university
 max_level=3
 min_level=-1
 name=Lehrstuhl für Prozessleittechnik
 ref:RWTH=1381
 roof:shape=flat
 university=institute
 website=http://www.plt.rwth-aachen.de/
 wheelchair:description:de=Rollstuhlgerechte Toilette im Keller vorhanden
 wheelchair:description:en=toilet in the basement
 wheelchair=yes

Introducing indoor data

Indoor elements

indoor= [room|corridor|area|wall]
name=*
level=*
ref=*
 
Doors
door=[yes|hinged|sliding...]
Level=*
Building entrance
Entrance= [yes|main|...]
door=[yes|hinged|sliding...]
Level=*
indoor=room
 level=3
 ref=332
door=hinged
 level=3

Stairs and elevators

Stairs:
stairs=*
indoor=[room|area]
level=*
name=*
 
Elevators:
indoor=elevator
level=*
name=*
highway=elevator
 indoor=room
 level=-1-3

Special keys and values

  • All elements on the same level get a level tag or are optionally member of a level relation.
  • Optional level-outline (indoor=level)
  • Multi-level features and repeated features
    • level=* Examples: level=1;2, level=-1-5, level=-4--2
    • repeat_on=*
Our server cannot make use of this point of the proposal yet, it is required to repeat these objects during the mapping task, using one level value for each.

Data conversion

After finishing the map edition, it is time to upload the data to the indoor server. The OSM file is processed by some batch scripts, the data is converted to GeoJSON and stored in MongoDB

⚠️ **GitHub.com Fallback** ⚠️