Routefiles
Routendaten enthalten im contagt System einen Routengraph mit unterschiedlichen Attributen. Im Normalfall werden diese mit dem Programm JOSM
erstellt und verwaltet.
Pfade
Als erstes werden i.d.R Pfade durch den Guide erstellt. Zur besseren Orientierung können die entsprechenden Karten-Dateien gleichzeitig in einer zusätzlichen Ebene in JOSM geöffnet werden.
Anlegen der Pfade
Die Pfade können z.B. einfach mit der Maus durch visuelles Markieren in JOSM erzeugt werden. Dabei sollten keine unnötig getrennten Teilstrecken erzeugt werden, um eine schlechte User-Experience zu vermeiden.
Besteht ein Routingpfad aus mehreren, vollständig getrennten Segmenten, so wird es Benutzern, die sich im Bereich eines ersten Segments aufhalten, nicht möglich sein eine Route zu einem Ziel auf einem zweiten Segment zu erreichen.
Die Vermeidung von Routenstrecken kann nach dem Hochladen in die contagt API über den Routeneditor konfiguriert werden.
Tagging der Pfade
Routenabschnitte sollten mit dem Attribut highway:footway
getaggt werden. Nicht-getaggte Abschnitte können zur Orientierung integriert werden, werden aber bei Import ignoriert.
Alle in JOSM verbundenen Routenabschnitte können auch später vom Benutzer durchlaufen werden, und es ist ein Routing von jedem zu jedem Node möglich.
Um optimale Routen zu erhalten, sollten Abschnitte im Generellen an Kreuzungen zu einzelnen Pfaden aufgetrennt werden. In JOSM ist dies mit der Tastenkombination STRG+P
umzusetzen.
Nodes
Nodes repräsentieren alle Entitäten auf dem Routengraph und enthalten die funktionalen Daten.
Root Node
Jeder Guide braucht ein Root Node als generischen Einstiegspunkt, falls vom Benutzer kein spezifischer Einstiegspunkt angefragt wird.
Dieser Zugangspunkt wird mit dem Attribut contagt:root
gekennzeichnet.
Hinweis: Es darf nur genau einen Node mit diesem Attribute pro Guide geben.
Attribute auf Node
Um ein Node zu einem Point of Interest (POI) – einem potentiellen Navigations-Ziel – zu machen, wird auf diesem das Attribut tag:AUTO
eingefügt. Beim Datenupload wird der Wert AUTO
automatisch durch einen geeigneten Wert ersetzt. Sollte bereits ein Wert vergeben sein, so darf dieser nicht geändert werden.
Außerdem muss jeder Node, der das Attribut tag:VALUE
inne hat, auch attributes:floor=
aufweisen. Das manuelle Ausfüllen des Wertes ist jedoch nicht erforderlich, dieses wird beim Hochladen der Daten automatisch eingesetzt. Weiterhin muss jeder dieser Nodes Teil mindesten eines Fußweges sein. Zusätzlich kann an dieser Stelle bereits mittels attributes:floor=|displayname=NAME
ein Name vergeben werden, welcher anschließend mit Hilfe des Editors angepasst und übersetzt werden kann.
Um das Editieren und Setzen von Attributen auf Nodes zu vereinfachen, gibt es hier ein JSOM Preset mit dem die einzelnen Attribute einfach aus dem Kontextmenü unter Vorlange->contagt
ausgewählt werden können. Die Verwendung wird dringend empfohlen.
Stockwerkübergänge
Es gibt insgesamt vier unterschiedliche Typen von Stockwerkübergängen:
- steps
- elevator
- escalator
- hill
Um einen Stockwerkübergang anzulegen, gehen Sie wie folgt vor:
Generell benötigt man zwei Nodes, jeweils eine im Start- und eine im Zielstockwerk. Diese Nodes müssen zwingend ein Attribut vom Typ tag:VALUE
haben. Wobei AUTO
einmalig als value für das Erstellen des Guides geeignet und sinnvoll ist.
Darüberhinaus muss jeder Node ein Attribut namens attribute
besitzen welches folgendermaßen aufgebaut ist:
attributes:floor=|transitionRelation=|transitionType=TYPE
Dabei muss TYPE
genau einer der oben genannten Werte sein, floor
(numerische Etage) und transitionRelation
können automatisiert zugewiesen werden, wenn sie keine Werte aufweisen.
Eine Besonderheit im Routen-Graph ist zudem, dass die Route immer am Node nach dem Stockwerkübergang aufgebrochen sein sollte (STRG+P
)
Typ: steps
Ein Stockwerkübergang vom Typ steps
repräsentiert eine Treppe.
Ein Treppenübergang hat die Eigenschaft, dass er immer nur mit einem anderen Node (der Fortsetzung der Treppe im folgenden Stockwerk) verbunden werden kann. Treppenübergänge sollten auch immer in aufeinanderfolgenden Stockwerken liegen, wobei Ausnahmen hiervon möglich aber nicht ratsam sind.
Typ: elevator
Ein Stockwerkübergang vom Typ elevator
repräsentiert einen Aufzug.
Aufzüge haben die Eigenschaft, dass sie Nodes auf vielen Stockwerken miteinander verbinden können, nämlich auf allen Stockwerken, auf denen dieser Aufzug einen Ausgang hat.
Es gilt zu beachten, dass die Nodes der Aufzüge vertikal exakt übereinander liegen sollten und nicht räumlich getrennt wie bei einer Treppe.
Type: escalator
Ein Stockwerkübergang vom Typ escalator
repräsentiert eine Rolltreppe.
Die Besonderheit von Rolltreppen ist, dass sie typischerweise nur mit Richtung der Kante im Graph begangen werden können, ansonsten verhalten sie sich analog zu Treppen.
Type: hill
Ein Stockwerkübergang vom Typ hill
repräsentiert eine Rampe oder eine Terrainunterschied.
Dieser Übergang verhält sich sonst wie eine Treppe, mit dem Unterschied, dass dieser Übergang automatisch als barrierefrei gekennzeichnet wird.
Offsite Editing
Über das SuperUser Menü im Content Editor ist es möglich alle Routing-Dateien eines Guides wieder zu exportieren. Diese werden dann aus den GIS Daten der Datenbank neu erstellt und dem Benutzer als zip-Datei zum Download angeboten. Die Dateien können dann wieder in JOSM geöffnet und verarbeitet werden. An dieser Stelle enthalten die Routingdaten viele automatisch generierte Details, wie z.B. Tag-Werte und transitionRelations. Diese sollten hier nicht verändert werden, da es sonst zu Inkompatibilitäten mit den Daten in der API kommen kann.
Achtung: Sollten parallel Arbeiten an den Routing Daten über den Content Editor und Offsite Routendaten durchgeführt werden, werden die Änderungen durch den Content Editor beim Hochladen überschrieben. Grundsätzlich wird bei jedem neuen Upload aus einem Datenset über das SuperUser Menü ein Speicherpunkt für das Gebäude angelegt, auf den der Datensatz zurückgesetzt werden kann. Dennoch wird an dieser Stelle das manuelle Zusammenführen der Daten notwendig.
Weiteres
Es ist möglich an dieser Stelle schon viele Daten direkt in den Routinggraph einzugeben. Wir werden dieses Dokument in Zukunft entsprechend erweitern. Alle Daten können aber komfortabel über den Content Editor konfiguriert werden.