Quick animated how-to: Indoorhelper_how_to.gif
This plugin helps to map indoor objects using the Simple Indoor Tagging scheme.
- tag object via button
- always stay at Simple Indoor Tagging schema
- create easy multipolygons
- indoor object validation
- provides a MapCSS
- import BIM data (beta state)
About OSM indoor data
The following topics might be useful in case one wants to working with OSM indoor data
How to start - Guide to create indoor data
Add indoor map (e.g. floorplans)
- use Piclayer plugin to fit indoor maps into existing OpenStreetMap data or GPS-tracks. Make sure the mapping is done on a layer other than where the image is shown (two layers are needed).
Add new level to layer
- draw the first object (of a new level) using the
Insert levelbutton. Press
Insert level, insert level number, draw object and press
spacebar. Repeat for each new level.
- select the current working level using AutoFilter
- draw the object
- tag the object using
The recommended order of editing is:
- rooms, corridors, stairways, elevators and individual areas
- POIs (door/entrance)
- walls and windows
Why using this order?
This order provides a "layer-mapped"-schema. Rooms, corridors, stairs or elevators are on the bottom. Walls and windows are above. Now, if walls and windows are filtered (not shown on layer), the basic objects (rooms etc.) fill the whole space.
Click to view a tutorial GIF showing how to map the basic objects or see Indoorhelper_how_to.gif
- door or entry nodes are not connected to a room, corridor or area. Always connect an opening node to a basic object.
- door or entry nodes are connected to a wall. Do not map a wall object where a door or entry node should be. Interrupt the wall for an opening node.
- freestanding walls are not part of a relation. Map freestanding walls as part of a multipolygon with role=inner.
- if an object appears on multiple levels use repeat_on=*-tag (description see below). So you only need to map the object once
- stairways should be tagged with incline=*
- for more information about how to tag specific objects have a look at JOSM Presets
|Level name||Name the current level||Insert optional level name. Confirm with the |
|Working level||A dynamic field showing the current working level||The field shows the current working level set by using the AutoFilter. This function is not working without the AutoFilter
|Checkbox||Activate/deactivate automatic level tagging||If active the current object will be tagged with level=*|
|Insert level||Add a new level to layer||how to:
Panel provides tag presets via buttons
|Object||Available tags can be selested by using the dropdown menu. If no tagging is requested select |
|Name||Tags the object with a name tag (e.g. |
|Reference||Tags the object with a reference tag (e.g. |
|Repeat_on||Set the levels on which the object appears (e.g. |
- tells if an object connects one or more level (e.g. stairways, elevators). See also Simple Indoor Tagging)
- to simplify mapping the plugin supports objects tagged with repeat_on=* (e.g. stairways, elevators). If a level filter is active the object will be shown if repeat_on=* value includes active level
|Plugin tag||Tag map||Usable with|
||indoor=room, amenity=toilets, female=yes|
||indoor=room, amenity=toilets, male=yes|
||no tagging of indoor objects|
On the right side of the panel you can find the preset button section. These buttons are created depending on what objects you are using the most. To use these presets, just draw an object and click on the preset you would like to apply.
This tool is to add simple multipolygons only.
The recommended order of editing is:
outerbutton to select drawing action
- map the object, press
spacebarto add the outer object with role=outer
- push the role=inner to select drawing action
- map the object and press
spacebarto finish. After that select the "outer"-object you want to add the "inner"-object to. If selected push
enterto add the object with role=inner
If you want to add more than one "inner"-object, skip step 1,2 and restart at step 3. To deactivate this tool use the checkbox next to it.
The plugin includes an import functionality for
.ifc (BIM) files. To import a new
.ifc add a new layer and use the BIM import button (
Import BIM File). Please note that the import functionality is a beta version!
- For more information about how to translate BIM objects into OSM objects see Wiki Building Information Modeling.
- For detailed docs of BIMtoOSM parser check BIMtoOSM Docs
- Code hosted on Github BIMtoOSM Code
The data scheme which underlies the plug-in is based on the Simple Indoor Tagging approach but has some differences or improvements. It is completely based on tags and is therefore easy to understand.
To hold it simple the most important objects are directly tagged with indoor=*. To make sure the tagging is always on Simple Indoor Tagging standards specific objects will be automatically tagged with needed tag-combinations (example:
TOILET_FEMALE : indoor=room, amenity=toilets, female=yes). For more information see Tagging Bar.
The first way of data validation is the MapCSS rendertheme which comes with the plug-in. It is installed during the first start. Thus the user does not have to care about it and has a instant graphical validation of the mapped data.
The rendertheme uses the zoomlevel filtering of MapCSS to show the data in different ways depending on the zoom level of JOSM. For example in a high zoom level every detail is shown and in a low zoom levels rooms and POIs are hidden.
The other method which can be used to validate the data is the JOSM validator file which is also installed with the plug-in.
The validator alarms the user if following mapping errors occur:
- way or node without the tag level=*
- properties which should be only assigned to ways are assigned to nodes
- properties which should be only assigned to nodes are assigned to ways
The validation check is done every time when the user clicks the "apply"-button or a preset button.
- It's just a graphical representation
- therefore not suited for routing
- It is no usable standard (yet)
Created by User:Erigrus
Source Code: JOSM/indoorhelper
BIMtoOSM Parser Code: rebeccasc/BIMtoOSM