Folien - IMN/HTWK

Werbung
Modul: Algorithmische Geometire
Von: Elisabeth Lehmann 12INB-P
Was ist
OpenStreetMap?
Das Konzept
Datenstrukturen in
OSM
1)
2)
3)
a)
b)
c)
d)
e)
Node
Way
Relation
Tags
OSM-Format
4) Algorithmen
a)
b)
c)
d)
e)
f)
Allgemeine
Vorgehensweise
Abstraktionsverfahren
DijkstraAlgorithmus/beidseitiger
Dijkstra
HISPA-Algorithmus
A*-Algorithmus
Contraction Hierarchies
5) Quellen
•
•
ein 2004 gegründetes Projekt einer freien
Weltkarte
Sammlung von verschiedenen Daten, welche
selbst erhoben werden
->
darf lizenzkostenfrei eigesetzt und
beliebig weiterverarbeitet werden
•
•
•
das Routing (Wegwahlfunktion) steht im
Vordergrund
optisches darstellen von Straßenattributen
Aufgabengebiete für die Funktionalität
◦ geografische Rohdaten
◦ Anwendungsprogrammierung
◦ Rendering
◦ Beispiel: OSMarelmon
a) Node
•
•
kleinstes OSM-Objekt
bilden Gerüst der OSM-Karte
• Bestimmen zum Beispiel Verläufe von Straßen,
Umrisse von Grundstücken, Ecken von Häusern
•
•
•
repräsentieren GPS-Punkte
besitzen ID, Breitengrad und Längengrad,
Versionsnummer, Zeitstempel
Changeset-ID enthält letztes
Bearbeitungsdatum des Knoten
(mit dazugehöriger User-ID)
b) Way
•
•
•
ein Way besteht aus mindestens zwei Knoten
verknüpft diese miteinander
stellen jegliche Arten von Verbindungen
zwischen Punkten her (in Array gespeichert)
• zum Beispiel Uferverläufe oder Straßen
•
•
mit gleichem Knoten als Start-und Endpunkt
entstehen Flächen
gleiche Metatags wie Nodes
(ohne Breiten-und Längengrad)
•
einzelnen Knoten als Referenztags
eingebunden
<way id="9714974" version="16"
timestamp="2012-06-28T23:41:09Z"
changeset ="122312034" uid="1999074"
user="perihel">
<nd ref="304335953"/>
<nd ref="1563547869"/ >
<nd ref="1396523373"/ >
<nd ref="13878099"/>
</way>
c) Relation
•
•
größter und umfassendster Datentyp in OSM
erfassen komplexer und abstrakter Formen
• Zum Beispiel Abbiegevorschriften Buslinien
•
besitzt Referenzen (Member genannt)auf
Konten, Wege und andere Relationen
<relation id="1239081" version="2"
timestamp="2012-06-28T20:41:04Z" changeset
="122312034" uid="1999074" user="perihel">
<member type="node" ref="867397262„
role="stop"/>
<member type="node" ref="213127"
role="platform"/>
<member type="way" ref="19012912" role=""/>
<member type="relation" ref="09278124"
role=""/>
</relation>
d) Tags
•
•
•
Datenstrukturen bieten Metatags und vom
Benutzer frei handhabbare Tags
vor dem Endtag wird Benutzer die Möglichkeit
geboten, selbst definierte Tags einzufügen
bestehen aus key-value-Paaren
• (wobei key angibt, was Relation beschreibt)
<tag k="maxspeed:winter" v="60">
e) OSM-Format
•
•
•
•
•
Speicherung sämtlicher Daten in OSM XML
Minimal-und Maximalfunktionen können verwendet
werden
Reihenfolge der Objekte:
• Knoten
• Wege
• Relationen, deren Referenzen und Tags
einfach lesbar, systemunabhängig, nur Parser muss
vorhanden sein
durch Größe der Dateien Kompression nötig
• zum Beispiel planet.osm mit 400GB komprimiert,
komprimeirt nur 29GB
•
•
•
viele verschiedene Algorithmen, da
unterschiedliche Funktionen angefragt
werden
Hauptteil bildet die Routen-Planung
jedoch auch im Bereich der
Geschwindigkeitsmessung oder von
Höhenunterschieden
a) allgemeines Vorgehen
1.
2.
3.
4.
sammeln der Attribute zu jedem OSMObjekt
Speichern der Koordinaten des Knoten
Knoten beim Einlesen des Weges
gespeichert
Bestimmen des geeignet Weges
I. ungeeignete Wege verwerfen
II. zulässige Richtung und Geschwindigkeit
bestimmen
III. Weg bestimmen
b) Abstraktionsverfahren
•
•
graphen-ähnliche Darstellung bestehend aus
Segment-Node (analog Knoten),
Segment (gerichtete Verbindungen),
Restriction (nicht nutzbare Verbindungen)
Segment-Nodes und Segments können
jedoch nicht einfach als Knoten bzw. Kanten
des Graphen verwendet werden
-> Restrictions müssen berücksichtigt
werden
c) Dijkstra-Algorithmus (1959)
•
•
•
•
Bestimmung des kürzesten Weges unter
Berücksichtigung des Kantengewichts (zum
Beispiel der benötigten Zeit)
Problem bei der Routenplanung:
die kürzeste Strecke ist nicht unbedingt die
schnellste
->mehrere Attribute pro Kante eingefügt
(Entfernung [km], sondern auch Zeit [min])
О(E + V *log(V))
• V=Knotenmenge, E=Kantenmenge
d) HISPA-Heuristik
•
Hierarchical shortest path
•
sucht kürzesten Weg von zwei Endknoten zu
Knoten der obersten Hierarchieebene im Umkreis
mit gegebenen Radius
•
Zum Beispiel von Stadt zu Autobahnkreuz
e) A*-Algorithmus
Finde den kürzesten von Arad nach Buadpest
f) Contraction Hierarchies
•
•
•
•
Routing-Algorithmus derzeitige Grundlage
für mobile Navigation
bei westeuropäischen Straßennetz etwa
20.000mal schneller als Dijkstra
Suchanfragen in unter 1ms beantwortet
wenn nur Distanz und nicht Route abgefragt
wird, verbraucht sogar Datenstruktur weniger
Speicherplatz





http://www.fim.unipassau.de/fileadmin/files/lehrstuhl/sauer/geyer/
BA_SebastianBrunner_-201308.pdf
ftp://ftp.informatik.unistuttgart.de/pub/library/medoc.ustuttgart_fi/DIP
-3232/DIP-3232.pdf
http://tobiasknerr.de/bachelorarbeit/Bachelorarbeit.pdf
http://cvpr.unimuenster.de/teaching/ws05/kiWS05/script/KIKap04-2.pdf
http://www.openstreetmap.de/faq.html#was_ist_
osm
Herunterladen