View
105
Download
1
Category
Preview:
Citation preview
Geoinformation IIVorlesung 9
29.06.00
Foliendesign: cand. geod. Jörg Steinrücken
Institut für Kartographie und GeoinformationProf. Dr. Lutz Plümer
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
22
Zur Erinnerung:
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
33
Zerlegung der Maschen in Streifen
R
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
44
D
E
F
G
A
B
C
Suchstruktur
p1
A q1
s1
B
C
p2
q2
s2
s2
p1
q1s1
D
E
F
Gp2
q2
s2
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
55
Suchstruktur
p1
A q1
s1
B
C
p2
q2
s2
s2
D
E
F
G
D
E
F
G
A
B
C
p1
q1s1
p2
q2
s2
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
66
Einfügen einer Kante (II)
D(Si-1)
qisi sisiA
B
DE
FB D si
A
C
F
E
Csipi
qi
T(Si)D(Si)
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
77
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
88
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
99
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1010
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1111
MBR – minimum bounding rectangle
Außen
x
y
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1212
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1313
Neues laufendes Beispiel
• Nur die Rechtecke interessieren uns hier, nicht die zugrundeliegenden Maschen
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1414
Rechtecke
B
D
G
J F
CI
E H
A
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1515
E H
Rechtecke mit R-Baum
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1616
Rechtecke mit R-Baum
A
I
3
A I
3
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1717
Rechtecke mit R-Baum
A
I
3
A I
3
E H
4
4
E H
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1818
E H
Rechtecke mit R-Baum
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
1919
R-Baum
1 2
B
D
G
J F
CI
12
E H
A
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2020
E H
R-Baum
3
1 2
A
B
D
G
J F
CI3
A I
21
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2121
E H
R-Baum
3 4
1 2
A
B
D
G
J F
CI3
4
A I E H
21
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2222
E H
R-Baum
A
B
D
G
J F
CI
4
3 4
1 2
A I E H
5
5
B C D
21
3
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2323
E H
R-Baum
A
B
D
G
J F
CI
3 4
1 2
A I E H
65
B C D
5
6
J F G
4
21
3
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2424
E H
R-Baum
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2525
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2626
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2727
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2828
Strategien zum Spalten eines Knotens
Minimierung derGesamtfläche
Minimierung desDurchschnitts
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
2929
E H
Suchen eines Knotens
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
In welchem R liegt Q?
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3030
E H
Suchen eines Knotens
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3131
E H
Suchen eines Knotens
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3232
E H
Suchen eines Knotens
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3333
E H
Suchen eines Knotens
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3434
E H
Suchen eines Knotens
A
B
D
G
J F
CI
3 4
1 2
A I E H
5
B C D
6
J F G
6
4
21
35
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3535
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3636
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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3737
R+-Baum
E H
A
B
D
G
J F
CI
12
3
4
5
6
7
8
9
2 31
4 5
A E D E H
6 7
B D I B C D
8 9
E G F J
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3838
R+-Baum
1 2
E H
A
B
D
G
J F
CI
12
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
3939
R+-Baum
21 3
E H
A
B
D
G
J F
CI
12
3
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4040
R+-Baum
2 31
4
A E
E H
A
B
D
G
J F
CI
12
4
3
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4141
R+-Baum
2 31
4 5
A E D E H
E H
A
B
D
G
J F
CI
12
4
5
3
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4242
R+-Baum
6
2 31
4 5
A E D E H
E H
A
B
D
G
J F
CI
12
4
5
6
B D I
3
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4343
R+-Baum
76
2 31
4 5
A E D E H
E H
A
B
D
G
J F
CI
12
4
5
6
B D I
7
B C D
3
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4444
R+-Baum
8E H
A
B
D
G
J F
CI
12
3
4
5
6
7
2 31
4 5
A E 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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4545
R+-Baum
9E H
A
B
D
G
J F
CI
12
3
4
5
6
7
2 31
4 5
A E D E H
6 7
B D I B C D
88
E G
9
F J
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4646
R+-Baum
E H
A
B
D
G
J F
CI
12
3
4
5
6
7
8
9
2 31
4 5
A E D E H
6 7
B D I B C D
8 9
E G F J
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
4747
Suche im R+-Baum
E H
A
B
D
G
J F
CI
12
3
4
5
6
7
8
9
2 31
4 5
A E D E H
6 7
B D I B C D
8 9
E G F J
Schönen Dank für Ihre Aufmerksamkeit und
Auf Wiedersehen
Recommended