JOSM/Plugins/indoorhelper

From OpenStreetMap Wiki
< JOSM‎ | Plugins
Jump to: navigation, search
Available languages — JOSM/Plugins/indoorhelper
· Afrikaans · Alemannisch · aragonés · asturianu · Aymar aru · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · bamanankan · Bân-lâm-gú · Basa Jawa · Basa Sunda · Baso Minangkabau · bosanski · brezhoneg · català · čeština · corsu · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · Latina · latviešu · Lëtzebuergesch · lietuvių · Limburgs · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tagalog · Tiếng Việt · Türkçe · Türkmençe · Vahcuengh · vèneto · walon · Wolof · Yorùbá · Zazaki · isiZulu · српски / srpski · авар · Аҧсшәа · башҡортса · беларуская · български · қазақша · Кыргызча · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · भोजपुरी · मराठी · संस्कृतम् · हिन्दी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 中文(繁體)‎ · 吴语 · 粵語 · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް
indoorhelper icon indoorhelper
a plug-in to create, validate and view indoor maps correctly

IndoorHelper is a JOSM plug-in to create, validate and view indoor maps correctly. It helps you to stay at one tagging scheme (Simple Indoor Tagging) and also makes it easy to tag indoor objects a fast way.

Summary

This plugin helps you mapping indoor objects using the Simple Indoor Tagging scheme.
What is the plugin doing?

  • makes it possible to tag objects with pressing just one button (includes automatically tagging of level=*-tag)
  • guarantees to stay at Simple Indoor Tagging scheme
  • makes it possible to create easy mulitpolygons in a fast way
  • checks if objects always have a level=*-tag
  • provides a MapCSS

Usage

After the installation the plugin appears in the sidebar of JOSM. To be able to use all plugin features it is neseccary to do a short setup first before start mapping! This plugin uses different JOSM functionality for example the AutoFilter. The AutoFilter makes it possible to only show objects with a specific level=*-tag on layer what is necessary to map objects with more than one floor (alias level).

How to start

Setup

To be able to use all features do the setup first!

  1. use Piclayer plugin to fit indoor maps into existing OpenStreetMap data or GPS-tracks (recommendation). Make sure the mapping is done on a other layer than the image is shown (two layers are needed).
  2. draw the first object (of a new level) with using the Insert level button (fully description below). Using the Insert level button makes sure the AutoFilter will work with your OpenStreetMap data. This step must be repeated with every new level you want to map!

Mapping


The mapping works as follows:

  1. select the current working level with using AutoFilter button (if not already selected)
  2. draw the object
  3. choose a tag combination in the plugin
  4. make sure the object is still selected and press the apply-button. All tags should be insert to the object tag-list, also the level-tag (if not deactivated). To deactivate the level tagging select the checkbox next the working level field.

The recommended order of editing is:

  1. rooms, corridors, stairways, elevators and individual areas
  2. POIs (door/entrance)
  3. walls and windows


Why using this order?

Mapped object with and without walls.

This order provides a "layer-mapping"-scheme what means objects are mapped about each other. Rooms, corridors, stairs or elveators are on the buttom. Walls and windows are put above. Now, if walls and windows are filtered (not shown in layer), the basic objects (rooms etc.) fill out the whole floor-space.

Tips and most done mistakes

Most done mistakes

  • single objects are connected to other single objects. Map objects separate! Do not use same nodes for different objects! (example: two rooms next to each other must have in total 8 different nodes. The two nodes next to each other should not be the same.)
  • door or entry nodes are not connected to a room, corridor etc. Always connect a door or entry node 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 a door or entry node.
  • freestanding walls are not part of a relation. Map freestanding walls as a multipolygon with role= inner.

Tips

  • if an object is repeated on another level use repeat_on=*-tag (description see below). It is possible to map the object only once. If the repeat_on=*-tag is used the right way the plugin helps you to still see the object on every working level you defined in the tag!
  • it is possible to tag stairs also with door=no, see Simple Indoor Tagging (topic: modelling connections between different levels).
  • for more information how to tag specific objects have a look at Presets' in JOSM editor!

Plugin parts

Level Bar

Level Bar - easy tagging of levelname and automatically tagging of level value.
Field/Button Action Description
Level name To add a name label to the level Insert the optional level name with using the text field. Afterwards confirm with the apply button. The object will be tagged with level_name=*.
Working level A dynamic field which shows you the current working level This field always shows you the current working level you selected with using the AutoFilter buttons. This function is not working without the AutoFilter function. To makes sure the AutoFilter buttons appear on screen (left upper corner) use the Insert level button. The following status can be shown in the field:
  • number : the current working level (just objects with this level tag or repeat_on tag (see below) are shown on screen).
  • NONE : no level is selected or the AutoFilter is not active now.
checkbox To deactivate the automatic level tagging If the checkbox is not ticked the current working level (shown on the left, Working level) will be automatically tagged to the object after pushing the apply button. To deactivate this function tick the checkbox. No more level tags will be related. The object will (not) be tagged with level=*.

About repeat_on=*:

  • tells if an object is connecting one or more level via stairways, elevators etc. (see also Simple Indoor Tagging)
  • to simplify the mapping the plug-in makes it possible to map an object like stairways, elevators etc. ones (which are actually needs to be mapped on each level again) and tag it via the repeat_on field. Now the selected working level will also consider objects with a repeat_on=* -tag what means objects which are tagged with another level=* -tag but also with a repeat_on=* -tag including the current working level will also be shown on screen.

Insert Level Button

The Insert level button needs to be used if a new level wants to be added.

How to add:

Step Description
1 Push the Insert level button to open the level selector window.
2 Insert the new level number (example: 1, -4, 0).
3 Push the OK button to close the window. Automatic switch to drawing action follows.
4 Draw the object and press the spacebar to finish. Now the object will be automatically tagged with the new level tag. Also the AutoFilter buttons should appear on screen (left upper corner). From now on the normal mapping actions (left sidebar) can be used.

Tagging Bar

Tagging Bar - fast tagging with given object selection and individual name, ref and repeat_on textfield.

This panel makes it easy to tag objects with popular tags on a fast way.

Field/Dropdown Menu Description
Object The dropdown menu shows you some optional tags which are often used during indoor mapping. If no object tagging is requested select NONE.

The following will be tagged:

Tag Tagging background Usable with
CONCRETE_WALL indoor=wall, material=concrete closed wayway
DOOR_PRIVATE door=yes, access=private Mf node.svgway
DOOR_PUBLIC door=yes, access=public Mf node.svgway
ELEVATOR highway=elevator closed wayMf node.svg
ENTRANCE entrance=yes Mf node.svgway
ACCESS_PRIVATE access=private Mf node.svgway
ACCESS_PUBLIC access=public Mf node.svgway
ACCESS_PRIVATE access=private Mf node.svgway
TOILET_FEMALE indoor=room, amenity=toilets, female=yes closed way
TOILET_MALE indoor=room, amenity=toilets, male=yes closed way
GLASS_WALL indoor=wall, material=glass closed wayway
ROOM indoor=room closed way
STEPS highway=steps closed way
CORRIDOR indoor=corridor closed way
BENCH amenity=bench closed wayMf node.svg
AREA indoor=area closed wayMf node.svg
NONE no tagging of indoor objects
Name Tags the object with a name tag (example: ROOM - classroom). The object will be tagged like name=classroom.
Reference Tags the object with a reference tag (example: classroom - R025). The object will be tagged like ref=R025.
Repeat_on Tags the level area the object contains (example: elevator - 3-4, what means the elevator is starting at level 2 and is repeated till level 4. Also possible -3-6 or -3--1).

The object will be tagged like repeat_on=3-4. Also see Simple Indoor Tagging.

Preset Buttons

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.

Multipolygon Bar

Multipolygon Bar - to create simply multipolygons on fast way.

Caution: this function is only to add simple multipolygon objects.

The recommended order of editing is:

  1. add outline member with outer button
  2. add inner member with inner button.

How to add:

Step Description
1 Push the outer button to select the drawing action.
2 Draw the object and press the spacebar to add the multipolygon with role: outer.
3 Push the inner button to select the drawing action.
4 Draw the object and press the spacebar to finish the drawing. After that select the "outer"-object you want to add the "inner"-object to. If selected push enter to 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 the multipolygon function of the plug-in just tick the checkbox next to the inner button.

Data Scheme

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.

Data Validation

MapCSS Rendertheme

Rendering of the MapCSS rendertheme in low, mid and high zoom levels

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 exmaple in a high zoom level every detail is shown and in a low zoom levels rooms and POIs are hidden.

JOSM Validator

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 everytime when the user clicks the "apply"-button or a preset button.

Shortcuts

  • spacebar : finish drawing of objects created via the plugin
  • enter: Confirm the selected multipolygon to edit an inner-role member

(For further information see Multipolygon Bar, Insert Level Button)

Limitations

  • It's just a graphical representation
    • therefore not suited for routing
  • It is no usable standard (yet)

Development

Created by User:Erigrus.

Plug-in updated by User:Rebsc.

Please submit your bug reports to User:Rebsc.

Source Code: SVN

See also

  • [1] - JOSM HelpBrowser, short user instruction.