• Keine Ergebnisse gefunden

Datenstrukturen und Algorithmen in Open Street Map

N/A
N/A
Protected

Academic year: 2022

Aktie "Datenstrukturen und Algorithmen in Open Street Map"

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Datenstrukturen und Algorithmen in Open Street Map

Modul: Algorithmische Geometire Von: Elisabeth Lehmann 12INB-P

(2)

Inhalte

1) Was ist

OpenStreetMap?

2) Das Konzept

3) Datenstrukturen in OSM

a) Node b) Way

c) Relation d) Tags

e) OSM-Format

4) Algorithmen

a) Allgemeine

Vorgehensweise

b) Abstraktionsverfahren c) Dijkstra-

Algorithmus/beidseitiger Dijkstra

d) HISPA-Algorithmus e) A*-Algorithmus

f) Contraction Hierarchies 5) Quellen

(3)

ein 2004 gegründetes Projekt einer freien Weltkarte

Sammlung von verschiedenen Daten, welche selbst erhoben werden

-> darf lizenzkostenfrei eigesetzt und beliebig weiterverarbeitet werden

1) Was ist OpenStreetMap?

(4)

das Routing (Wegwahlfunktion) steht im Vordergrund

optisches darstellen von Straßenattributen

Aufgabengebiete für die Funktionalität

geografische Rohdaten

Anwendungsprogrammierung

Rendering

Beispiel: OSMarelmon

2) Das Konzept

(5)

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)

3) Datenstrukturen in OSM

(6)

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

(7)

<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>

<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>

(8)

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

(9)

<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>

(10)

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">

(11)

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

(12)

viele verschiedene Algorithmen, da

unterschiedliche Funktionen angefragt werden

Hauptteil bildet die Routen-Planung

jedoch auch im Bereich der

Geschwindigkeitsmessung oder von Höhenunterschieden

4) Algorithmen

(13)

a) allgemeines Vorgehen

1. sammeln der Attribute zu jedem OSM- Objekt

2. Speichern der Koordinaten des Knoten

3. Knoten beim Einlesen des Weges gespeichert

4. Bestimmen des geeignet Weges

I. ungeeignete Wege verwerfen

II. zulässige Richtung und Geschwindigkeit bestimmen

III. Weg bestimmen

(14)

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

(15)

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

(16)
(17)

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

(18)

e) A*-Algorithmus

Finde den kürzesten von Arad nach Buadpest

(19)

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

(20)
(21)

http://www.fim.uni-

passau.de/fileadmin/files/lehrstuhl/sauer/geyer/BA_S ebastianBrunner_-201308.pdf

ftp://ftp.informatik.uni-

stuttgart.de/pub/library/medoc.ustuttgart_fi/DIP- 3232/DIP-3232.pdf

http://tobias-

knerr.de/bachelorarbeit/Bachelorarbeit.pdf

http://cvpr.uni-

muenster.de/teaching/ws05/kiWS05/script/KI-Kap04- 2.pdf

http://www.openstreetmap.de/faq.html#was_ist_osm

Quellen

Referenzen

ÄHNLICHE DOKUMENTE

Umgekehrt: ersetzt man in jede Kante durch die Kanten eines kürzesten - -Weges in , so erhält man einen Steinerbaum gleichen Gewichts für. Kantendopplungen und

Ein Fluss ist genau dann maximal, wenn die Menge aller von aus auf einem zunehmenden Weg erreichbaren Knoten nicht enthält (Beweis von Satz

Wir haben gezeigt (Satz 11), dass eine Abbildung genau dann ein maximaler - -Fluss im Flussnetz ist, wenn sie die folgenden Eigenschaften erfüllt:. es gibt keinen

Ein schlichter Graph ist genau dann -fach zusammenhängend, wenn für jedes Knotenpaar von , , mindestens paarweise innerlich disjunkte - -Wege

Bemerkung: Da in einem Weg die Kanten per Definition paarweise verschieden sind, enthält ein Eulerscher Weg damit jede Kante genau einmal.. G = (V, E)

Bemerkung: Da abgesehen vom Endknoten kein Knoten wiederholt wird, enthält auch ein Hamiltonscher Zyklus jeden Knoten von genau einmal.. Hamiltonsche Graphen sind benannt nach

Ist ein Knoten des Graphen ein Endknoten einer Kante im Matching , dann wird als -gesättigt bezeichnet...

Wenn die Nachbarn von weniger als Farben verbrauchen, dann kann mit einer nicht verbrauchten Farbe gefärbt werden... Satz von