Route im Indoor Bereich (Gebäude)

Hallo,

ich habe ein paar Fragen zur Routen anzeige im Indoor Bereich (Gebäude). Angenommen ich suche den kürzesten Pfad von meinem Standort zum Zielort (Nur nur die Route soll abgebildet werden). Ich habe durch ein paar Recherchen gesehen das ich eine beliebige Map (z.B. Gebäudeplan mit Räumen etc) durch JOSM Pic Layer einbinden kann. Am Ende bekomme ich ja eine OSM-XML Datei. Durch die Bearbeitung zeichne ich gebe ich doch Parameter an wie z.B. Wände, Türen usw… Richtig ? Auf Basis dieser entstanden Datei kann ich dann meine Pfad suche über OSM durchführen (?). Gibt es ein API? Oder muss ich meinen Suchalgorithmus (extra) selber einbinden. Woher soll mein Algorithmus später wissen das es hier eine Wand gibt oder eine Tür geht das ganze auf Basis von JOSM (Pic Layer) und woher weiß ich wie Koordinaten in meiner Map. Das ganze soll ohne GPS, iBeacon … funktionieren rein Offline. Gibt es da Untersützung durch OSM oder jegliches ?

Vielen Dank

Hallo Hpp888,

herzlich willkommen im Forum. Ein Absatz macht Texte leichter lesbar. Schreibst du eine Abschluss- oder Projektarbeit? :slight_smile:

Hast du die Erlaubnis zur Übernahme der Daten aus dem Gebäudeplan in OSM? Wenn nein, dann darfst du die Daten nicht hochladen, sondern musst dein eigenes kleines OSM betreiben (und darfst auch keine Datenauszüge aus OSM verwenden, die “substantiell” sind). Grund dafür ist die Vereinbarung für Mitwirkende und die Open Database License.

In deinem Fall ist es das Beste, wenn du dir den Router selber installierst und nur mit einem lokalen Datenbestand, der nicht mit OSM verknüpft ist, arbeitet. Router gibt’s reichlich. Von starr und schnell wie OSRM über zügig und flexibler wie Graphhopper bis hin zu hochflexiblen, aber mit quadratischer Komplexität versehenen Routern wie BRouter. Alle hier genannten Beispiele sind freie Software.

Solltest du mit lokalen Daten arbeiten hier ein Tipp: Die meisten Programme erwarten, dass die Elemente in der XML-/PBF-Datei sortiert sind, zuerst kommen alle Nodes, dann alle Ways, dann alle Relationen. Die drei Blöcke sind in sich jeweils nach ID sortiert. Mit

osmosis --read-xml file="data.osm" '--sort  --write-xml file="data-sorted.osm"

kannst du die Datei sortieren (–read-pbf, --write-pbf für PBF-Ein- bzw. -Ausgabe).

Ansonsten empfehle ich dir, dir mal ein oder zwei Stunden Zeit zu nehmen und durchs OSM-Wiki zu spazieren. Lesen bildet.

Viele Grüße

Michael

Hi Michael,

viele Dank für deine ausführliche Antwort. Jedoch ist mir die Sache immer noch nicht ganz klar.

Folgendes:

Angenommen ich z.b. diesen Gebäudeplan : http://new.gewerbezentrum-neckartal.de/wp-content/uploads/2013/03/plan01_kl.gif

Meine Standort ist statisch (Treppe) und jetzt möchte ich in den Raum rechts nach hinten (32mm²) bzw. er soll mir die kürzeste Pfad abbilden. Das ganze ist rein für Indoor gedacht kein GPS, iBeacons, W-LAN …

Die Pläne können variieren je nach Anwendungsfall.

Wie bilde den Pfad jetzt von meinem Standort zum Zielort ab?
Kann mir da OSM behilflich sein?
In welchem Format müssen die Pläne vorliegen, also in wie fern muss ich sie bearbeiten um einen Suchalgorithmus durchzuführen?
Geht das ganze über JOSM (Suchalgorithmus)?

Es muss ja ein Algorithmus sein der mir den kürzesten Pfad abbildet mit der Berücksichtigung das es dort Hindernisse (Wände) gibt.

Vielen Dank!!

Das OSM-Datenmodell kann dazu hilfreich sein.

Dafür müsstest du einen Raum wie in deinem Beispiel von den Elementen her im Format für OSM-Rohdaten nachbilden, und zwar mit den Wänden einesteils, und den möglichen Fußwegen als begehbare Wege, auf denen dann das Routing erfolgen soll.

Dafür kannst du JOSM gut verwenden, JOSM ist aber ein reiner Editor, um Elemente mit einer OSM-Datenstruktur zu erstellen oder zu verändern.

Mit den dann erstellten OSM-Daten, welche du dann erzeugt und NUR auf deinem eigenen Rechner abgelegt hast (also NICHT hochladen zum zentralen OSM-Server) kannst du dann ein Routing-Programm füttern.

Lies dir die Seiten
http://wiki.openstreetmap.org/wiki/Routing
http://wiki.openstreetmap.org/wiki/Routing/offline_routers
http://wiki.openstreetmap.org/wiki/Routing/online_routers

intensiv (!) durch und sage uns, welche Anwendung deinem Ziel eventuell am nächsten kommen könnte.

Dann können wir dir konkret weiterhelfen.