DE:JOSM/Plugins/indoorhelper
IndoorHelper ist ein JOSM Plug-In zur Erstellung, Validierung und Anzeige von Innenraumdaten. Es ist dabei behilflich ein Tagging-Schema (Simple Indoor Tagging) beizubehalten und Innenraumobjekte schnell und einfach mit Tags zu versehen.
Animation how-to: Indoorhelper_how_to.gif
Zusammenfassung
Dieses Plug-In ist dabei behilflich Innenraumobjekte schnell zu kartographieren und gleichzeitig das Tagging-Schema Simple Indoor Tagging beizubehalten.
Funktionen
- Versehe Objekt mit nur einem Klick vollständig mit Tags (inklusive indoor=* -Tag)
- Beibehalten des Simple Indoor Tagging -Schemas
- kartographiere einfache Multipolygone
- Datenvalidierung
- liefert eine MapCSS zur besseren Darstellung
Nutzung von OSM Innenraumdaten
Folgende Links bieten zusätzliche Informationen zur Nutzung von Innenraumdaten in OSM:
- Tagging von Objekten: Simple Indoor Tagging
- Handhabung IFC/BIM-Daten in OSM: indoorhelper#BIM
Benutzung
Nach der Installation erscheint das Plug-In in der Seitenleiste von JOSM. Das Plug-In nutzt verschiedene Funktionen des JOSM, wie z.B. die AutoFilter -Funktion. Diese ermöglicht es gemappte Objekte mit mehreren Ebenen nutzerfreundlich darzustellen.
Optionales Setup
Füge einen Gebäudeplan als Mapping-Grundlage hinzu:
- Nutze das Piclayer-Plugin um Gebäudepläne einzupassen. Beachte, dass die Kalibrierung des Gebäudeplans auf einem separaten Layer passieren sollte
Füge eine neue Ebene hinzu
- Mappe das erste Objekt einer neuen Ebene mithilfe des
Ebene hinzufügen
-Buttons. Betätige dazu den Button, füge die Ebenennummer ein und mappe das Objekt. Bestätige anschließend durch drücken derspacebar
. Wiederhole dies für jedes neue Level
Mapping
Das Kartograhieren sollte in folgenden Schritten erfolgen:
- Wähle die aktuelle Arbeitsebene über die AutoFilter -Button aus
- Mappe das Objekt
- Wähle die gewünschte Tag-Kombination im Plugin-Fenster aus
- Stelle sicher, dass das gewählte Objekt noch immer markiert ist und betätige den
Bestätigen
-Button. Nun werden alle ausgewählten Tags dem Objekt hinzugefügt. Außerdem erhält das Objekt einen indoor=* -Tag mit dem Wert der aktuellen Ebene (falls nicht deaktiviert).
Die empfohlene Reihenfolge zur Bearbeitung ist:
- Räume, Flure, Ebenenverbindungen (stairways, elevators) oder individuelle Bereiche (rooms, corridors, areas, ...)
- POIs (door/entrance)
- Wände und Fenster (walls, windows)
Warum sollte diese Reihenfolge genutzt werden?
Diese Reihenfolge garantiert ein "Layer-Mapping"-Schema. Dabei werden Objekte übereinander kartographiert. Hierbei sind grundlegende Objekte: Räume, Flure, Treppen oder Aufzüge. Wände bzw. Fenster werden darüber kartographiert. So decken alle grundlegenden Objekttypen die Fläche des Gebäudes ab.
Klick hier um das Mapping-Tutorial GIF anzuschauen oder siehe Indoorhelper_how_to.gif
Mapping Hinweise
Häufige Fehler
- Türen oder Eingänge sind keinem Objekt zugeordnet, d.h. sie sind mit keinem Weg verknüpft. Türen und Eingänge (falls sie als Nodes kartographiert sind) müssen mit einem Weg (z.B. einem Raum) verknüpft sein. Hierbei ist darauf zu achten, dass diese nicht zwei angrenzende Räume verknüpfen (Tür oder Eingang wird nur einem Objekt zugeordnet)
- Türen oder Eingänge sind mit Wänden oder Fenstern verknüpft. Ist eine Tür oder ein Eingang zu mappen, so ist an dieser Stelle die Wand etc. zu unterbrechen und die Tür oder der Eingang an das grundlegende Objekt (z.B. Raum, Flur) anzuheften
Tipps:
- Falls ein Objekt über mehrere Ebenen hinweg besteht und auf diesen Ebenen an der selben Stelle existiert (z.B. Aufzüge, Treppen), so ist es möglich das Objekt nur ein mal zu mappen und es anschließend mit einem repeat_on=*-Tag zu versehen (nähere Beschreibung folgt). Das Plugin ermöglicht es mithilfe des AutoFilter -Buttons das Objekt auf allen relevanten Ebenen zu sehen
- Treppen sollten mit incline=* (Key:incline) und direction=* (Key:direction) gekennzeichnet werden
- Weitere Tag-Möglichkeiten sind unter JOSM Presets zu finden
Plugin
Level Bar
Field/Button | Action | Description |
---|---|---|
Level Name | Name der aktiven Ebene | Setze optionalen Ebenenname. Bestätige per Bestätigen -Button. Das Objekt wird mit level_name=* getagged.
|
Arbeitsebene | Ein dynamisches Feld, welches die aktive Arbeitsebene anzeigt | Das Feld gibt die aktive Arbeitsebene an, welche mithilfe des AutoFilters ausgewählt werden kann. Diese Funktion funktioniert nicht ohne den AutoFilter
|
Checkbox | Aktivier/Deaktiviere automatisches Level-Tagging | Falls aktiv, so wird jedes Objekt mit level=* versehen |
Ebene hinzufügen | Eine neue Ebene zum Datenset hinzufügen | how to:
|
Tagging Bar
Dieser Plugin-Bereich stellt Tag-Vorlagen zur Verfügung (Nutzung per Buttons).
Field/Dropdown | Description |
---|---|
Objekt | Die Auswahl der Tag-Vorlagen ist im Dropdown-Menü zu finden und darüber auszuwählen. Falls kein Tag zugeordnen werden soll wähle NONE . Eine detaillierte Tag-Map folgt
|
Name | Versehe das Objekt mit einem Namen (z.B. ROOM - classroom wird versehen mit name=classroom)
|
Referenz | Versehe das Objekt mit einer Referenz (z.B. classroom - R025 wird versehen mit ref=R025)
|
Repeat_on | Definiert die Ebenen, auf welchen das Objekt wiederholt wird (z.B. elevator - 3-4 bedeutet, dass der Aufzug auf Ebene 2 startet und über die Ebene 3 bis hin zur 4 fortgesetzt wird. Andere Beispiele: -3-6 or -3--1
|
Mehr zu repeat_on=*:
- Definiert, ob ein Objekt mehrere Ebenen verbindet (z.B. stairways, elevators). Siehe auch Simple Indoor Tagging
- Um das Mappen zu vereinfachen, zeigt das Plugin Objekte mit repeat_on=* auf den jeweils definierten Ebenen an.
Tagging Map:
Plugin tag | Tag map | Nutzbar mit |
---|---|---|
CONCRETE_WALL
|
indoor=wall, material=concrete | |
DOOR_PRIVATE
|
door=yes, access=private | |
DOOR_PUBLIC
|
door=yes, access=yes | |
ELEVATOR
|
highway=elevator | |
ENTRANCE
|
entrance=yes | |
ACCESS_PRIVATE
|
access=private | |
ACCESS_PUBLIC
|
access=yes | |
ENTRANCE_EXIT_ONLY
|
entrance=exit | |
TOILET_FEMALE
|
indoor=room, amenity=toilets, female=yes | |
TOILET_MALE
|
indoor=room, amenity=toilets, male=yes | |
GLASS_WALL
|
indoor=wall, material=glass | |
ROOM
|
indoor=room | |
STEPS
|
highway=steps | |
CORRIDOR
|
indoor=corridor | |
BENCH
|
amenity=bench | |
AREA
|
indoor=area | |
NONE
|
no tagging of indoor objects |
Vorlagen-Buttons
Auf der rechten Seite des Plugins befinden sich Vorlagen-Button. Diese Button taggen Objekte direkt durch Betätigen des Buttons und werden je nach Häufigkeit aktualisiert (Häufigkeit der Nutzung bestimmt Reihenfolge der Button).
Multipolygon Bar
Diese Funktion ist lediglich zum Zeichnen einfach strukturierter Multipolygone
Die empfohlene Reihenfolge zur Bearbeitung ist:
- Füge den äußeren Bereich hinzu, d.h. ein Objekt mit role=outer durch
outer
- Füge den inneren Bereich hinzu, d.h. ein Objekt mit role=inner durch
inner
(siehe auch Multipolygon)
Schritt-bei-Schritt Vorgehen:
- Betätige den
outer
-Button um in den Zeichen-Modus zu wechseln - Mappe das Objekt und betätige
spacebar
um dem Objekt role=outer hinzuzufügen - Betätige den
inner
-Button um in den Zeichen-Modus zu wechseln - Mappe das Objekt und betätige
spacebar
um den Vorgang abzuschließen. Anschließend wähle das "outer"-Objekt aus, zu welchem das "inner"-Objekt hinzugefügen werden soll und betätigeenter
um die Objekte zusammen zu fügen.
Falls mehrere "inner"-Objekte einem "Outer"-Objekt hinzugefügt werden sollten, wiederhole den Prozess beginneng bei Schritt 3
BIM
Das Plugin beinhaltet eine Import-Funktionalität für .ifc
(BIM)-Dateien. Um eine neue .ifc
Datei zu importieren, füge einen neuen Layer hinzu und nutze den Import-Button unter Datei
→ BIM Datei importieren
. Es ist zu beachten, dass diese Funktionalität in der beta-Phase ist! Für weitere Informationen zur Überführung von BIM-Objekten zu OSM-Objekten siehe Wiki Building Information Modeling.
Datenstruktur
Das Datenschema basiert überwiegend auf dem Simple_Indoor_Tagging -Standard. Erweiterungen wurden im Rahmen dieses Standards vorgenommen. Das gesamte Schema charakterisiert sich ausschließlich durch Tags und macht es somit leicht verständlich und gut umsetzbar.
Um das intuitive Mappen zu unterstützen werden wichtige Objekte direkt mit dem Tag indoor=* versehen. Damit der Simple_Indoor_Tagging -Standard durchgehend gesichert wird werden bestimmte Tags mit Tag-Kombinationen versehen (Beispiel: TOILET_FEMALE
: indoor=room, amenity=toilets, female=yes). Für weitere Informationen siehe auch Tagging Bar.
Datenvalidierung
MapCSS Rendertheme
Die erste Möglichkeit der Validierung ist das MapCSS Rendertheme, welches mit dem Plug-In installiert wird.
Das Rendertheme nutzt die Möglichkeit der Zoomstufenfilterung um die Daten abhängig vom JOSM Zoomlevel unterschiedlich darzustellen. So werden bei einem hohen Zoomlevel alle Gebäudedetails ersichtlich, die auf einem niedrigen Zoomlevel noch verborgen sind.
JOSM Validator
Die andere Validierungsmethode, die genutzt werden kann ist die JOSM-Validatordatei.
Der Validator meldet dem Nutzer folgende Mappingfehler:
- Weg oder Knothen ohne den Tag level=*
- Tags, die nur Wegen zugeordnet werden sollten wurden zu Knoten hinzugefügt
- Tags, die nur Knoten zugeordnet werden sollten wurden zu Wegen hinzugefügt
Die Validierung wird immer beim Klick auf Apply ausgeführt.
Einschränkungen
- Es ist nur eine grafische Repräsentation der Innenraumdaten
- Daher sind die Daten nicht zum Routing geeignet
Entwicklung
Erstellt durch User:Erigrus
Bugs/Issues bitte an User:Rebsc
Quellcode: JOSM/indoorhelper
Aktuelle Projekte: JOSM/indoorhelper/projects