Kein Folientitel - Institut für Geodäsie und Geoinformation der

Werbung
Institut für Kartographie und Geoinformation
Prof. Dr. Lutz Plümer
Geoinformation II
Vorlesung 9
29.06.00
Foliendesign: cand. geod. Jörg Steinrücken
Zur Erinnerung:
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2
Zerlegung der Maschen in Streifen
R
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3
Suchstruktur
p1
B
E
s1
q1
G
s1
D
p1
p2
A
q1
A
C
s2
F
B
q2
p2
q2
C
s2
s2
D
G
E
F
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4
Suchstruktur
p1
B
E
s1
q1
G
s1
D
p1
p2
A
q1
A
C
s2
F
B
q2
p2
q2
C
s2
s2
D
G
E
F
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
5
Einfügen einer Kante (II)
D(Si)
T(Si)
D(Si-1)
D
E
si
A
pi
B
qi
si
C
F
si
B
si
qi
si
D
F
E
A
C
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
6
Zur Effizienz
Der oben beschriebene Algorithmus hat folgende
Erwartungswerte (gemittelt über alle Permutationen
der Segmentmenge S):
Konstruktion von D(S):
O(n log n)
Speicherplatz von D(S):
O(n)
Punkt-in-Polygon-Suche mittels D(S):
O(log n)
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
7
Effizienz II:
• Der Erwartungswert bezieht sich auf die Menge aller
Permutationen
• Pech bei der Permutation kann zum Worst – Case O(n) für die
Suche und entsprechender Tiefe der Suchstruktur führen
• Abhilfe durch Stop-Loss-Punkt setzen:
– Brich ab, falls D(S) zu tief wird, und fange neu an mit einer neuen
Permutation
• Differenz zum Worst-Case kann O(n) für die Suche und O(n2)
für die Konstruktion kann beliebig klein gemacht werden, ohne
daß man von der O(n log n) – Laufzeit für die Konstruktion von
D(S) sehr stark abweicht
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
8
Sonderfallbetrachtung
Was macht man, wenn 2 Knoten die gleichen x-Koordinaten haben?
• Beobachtung: die vertikalen Extensionen müssen eigentlich nicht
vertikal, sondern nur parallel sein
• Wichtig sind nur die topologischen Invarianten links / rechts an
den x-Knoten und oben / unten an den y-Knoten
• Abhilfe durch
Transformation (x,y)  (x +  * y, y) für „geeignet kleines“ Epsilon
• Diese Transformation wird aber in Wirklichkeit gar nicht
durchgeführt, sondern:
– (x,y) liegt rechts von (x‘,y‘) falls x > x‘ oder x = x‘ und y > y‘
• Oben / Unten – Vergleich an y-Knoten für Segmente „in the same
spirit“ (als Übung)
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
9
Punkt-in-Polygon-Suche II
• Bisher:
– Zerlegung der Maschen in Streifen
– Konstruktion einer Suchstruktur
• Alternatives Vorgehen:
• Approximation der Maschen durch umschließende
achsenparallele Rechtecke
– Minimal Bounding Rectangle (MBR)
– Verwaltung der Rechtecke
• R-Baum
• R+-Baum
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
10
MBR – minimum bounding rectangle
y
Außen
x
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
11
Idee
• In welcher Masche M liegt der Punkt P?
• Nutze die Bounding Boxes als Filter
• Verwende effizientes Verfahren, um alle Rechtecke
R1, ... Rn zu finden, die P enthalten
– Jedem Rechteck Ri entspricht eine Masche Mi
•
•
•
•
Prüfe, ob P in einer der Maschen M1, ... Mn vorkommt
Verwende dazu das Standardverfahren
Problem: Zugriffsstruktur für Rechtecke
Rechtecke sind einfacher zu handhaben als Maschen
im allgemeinen
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
12
Neues laufendes Beispiel
• Nur die Rechtecke interessieren uns hier, nicht die
zugrundeliegenden Maschen
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
13
Rechtecke
B
I
C
D
A
J
F
G
E
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
14
Rechtecke mit R-Baum
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
15
Rechtecke mit R-Baum
3
I
3
A
A I
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
16
Rechtecke mit R-Baum
3
I
3 4
A
A I
4
E
E H
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
17
Rechtecke mit R-Baum
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
18
R-Baum
2
1
B
I
C
1 2
D
A
J
F
G
E
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
19
R-Baum
2
1
B
3
I
1 2
C
D
3
A
J
F
G
E
A I
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
20
R-Baum
2
1
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
A I
E H
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
21
R-Baum
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5
A I
E H
B C D
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
22
R-Baum
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
23
R-Baum
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
24
R-Baum als B-Baum
• Ein R-Baum ist ein B-Baum mit zusätzlichen Eigenschaften
• B-Baum (zur Erinnerung)
– Ein B-Baum ist (wie der AVL-Baum) ausgeglichen
– Besonders gut für Hintergrundspeicher (Festplatte), innere
Knoten entsprechen „Kacheln“ des Sekundärspeichers
– Alle Informationen stehen in den Blättern
– Alle Blätter haben das gleiche Niveau
– Alle inneren Knoten außer der Wurzel sind mindestens zur
Hälfte gefüllt
– Teilung beim Überlauf eines inneren Knoten
– Verteilung auf Nachbarn beim Unterlauf
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
25
Der R-Baum als solcher
• Ein Blattknoten ist ein Paar (R,O), R ist das kleinste Rechteck,
welches das Objekt O umschließt
• Jeder innere Knoten hat n Paare (R,P)
– P zeigt auf einen Teilbaum
– R ist das kleinste umschließende Rechteck dieses Teilbaums
Beachte
• Rechtecke können sich überlappen
• Struktur des R-Baums hängt von Reihenfolge des Einfügens ab
• Jedes Paar (R,O) kommt genau einmal vor
• R kann mehrere umschließenden Rechtecke schneiden
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
26
Einfügen in einen R-Baum
• Ausgangspunkt: Einfügen eines neuen Knotens in
einen B-Baum
• Problem hier: an welche Stelle wird (R,O) eingefügt?
– Durchlaufe den R-Baum mit der Wurzel als Ausgangspunkt
– Wähle an jedem inneren Knoten den Teilbaum, der
durch Einfügen von R minimal vergrößert würde
– Füge (R,O) schließlich als Blatt ein
– Beim Überlauf verfahre wie beim B-Baum
• Besonderheit gegenüber B-Baum:
– Es gibt keine lineare Ordnung zwischen den Einträgen der
Knoten
– Verschiedene Stragegien zum Spalten eines Knotens
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
27
Strategien zum Spalten eines Knotens
Minimierung der
Gesamtfläche
Minimierung des
Durchschnitts
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
28
Suchen eines Knotens
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
H
5 6
6
A I
E H
B C D
J F G
In welchem
R liegt Q?
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
29
Suchen eines Knotens
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
30
Suchen eines Knotens
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
31
Suchen eines Knotens
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
32
Suchen eines Knotens
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
33
Suchen eines Knotens
2
1
5
B
3
I
1 2
C
D
3 4
A
J
F
G
4
E
5 6
6
A I
E H
B C D
J F G
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
34
Nachteil des R-Baums
• Um das richtige Blatt zu finden, sind meist mehrere
Durchläufe erforderlich
• Dies gilt insbesondere dann, wenn die Suche
erfolglos ist
• Abhilfe: R+-Baum
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
35
Alternative: Der R+-Baum
• Alle inneren Rechtecke sind disjunkt
• Ein Objekt / umschließendes Rechteck kann in
mehreren Blättern vorkommen
• Jedes Blatt repräsentiert den Teil von (R,O), der von
dem Vaterknoten umschlossen wird
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
36
R+-Baum
6
2
1
B
4
I
5
A
7
C
D
3
1 2 3
J F
9
G
E
H
8
A E
4 5
D E H
6 7
B D I
B C D
8 9
E G
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
F J
37
R+-Baum
2
1
B
C
I
D
1 2
A
J F
G
E
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
38
R+-Baum
2
1
B
C
I
D
A
3
1 2 3
J F
G
E
H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
39
R+-Baum
2
1
B
4
C
I
D
A
3
1 2 3
J F
G
E
4
H
A E
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
40
R+-Baum
2
1
B
4
C
I
5
A
D
3
1 2 3
J F
G
E
4 5
H
A E
D E H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
41
R+-Baum
6
2
1
B
4
C
I
5
A
D
3
1 2 3
J F
G
E
4 5
H
A E
D E H
6
B D I
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
42
R+-Baum
6
2
1
B
4
I
5
A
7
C
D
3
1 2 3
J F
G
E
4 5
H
A E
D E H
6 7
B D I
B C D
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
43
R+-Baum
6
2
1
B
4
I
5
A
7
C
D
3
1 2 3
J F
G
E
H
8
A E
4 5
D E H
6 7
B D I
B C D
8
E G
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
44
R+-Baum
6
2
1
B
4
I
5
A
7
C
D
3
1 2 3
J F
9
G
E
H
8
A E
4 5
D E H
6 7
B D I
B C D
8 9
E G
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
F J
45
R+-Baum
6
2
1
B
4
I
5
A
7
C
D
3
1 2 3
J F
9
G
E
H
8
A E
4 5
D E H
6 7
B D I
B C D
8 9
E G
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
F J
46
Suche im R+-Baum
6
2
1
B
4
I
5
A
7
C
D
3
1 2 3
J F
9
G
E
H
8
A E
4 5
D E H
6 7
B D I
B C D
8 9
E G
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
F J
47
Schönen Dank
für Ihre Aufmerksamkeit und
Auf Wiedersehen
Herunterladen