Punkt-in-Polygon-Verfahren III (R/R+-Baum)

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
Eine dynamische Menge, die diese Operationen unterstützt,
Vorlesung Programmieren II
Claudio Moraga; Gisbert Dittrich
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
Algorithmen und Datenstrukturen
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Der B-Baum Richard Göbel.
B-Bäume.
7. Natürliche Binärbäume
Gewichtsbalancierte Suchbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Sortieren mit Binären Bäumen
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Effizienz: Indexstrukturen
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Das Maßproblem von Klee
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – Bruder-Bäume, B-Bäume) Prof. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung Foliendesign: cand. geod. Jörg Steinrücken.
Geoinformation II Vorlesung
Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung
R-tree, R*-tree und R+-tree
Lösung der Aufgabe 1: Die Erweiterung des Diagramms auf „Winged Egde“ besteht in zwei Beziehungen, nr-Kante und vl-Kante, zwischen der Klasse Kante. Jede.
Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung
Diskrete Mathematik R (R/R+-Baum).
Übung zum R-Baum, Gegeben ist die dargestellte Menge von Rechtecken, die in der Reihenfolge 1, 7, 9, 13, 3, 5, 11, 6, 8, 10, 4, 14, 12, 2 eingegeben.
Geoinformation II Vorlesung
Geoinformation III Vorlesung 3 Quadtrees.
Institut für Kartographie und Geoinformation Diskrete Mathematik I Vorlesung Bäume-
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Animationen zu Kap. 4.3: AVL-Bäume
2. Die rekursive Datenstruktur Baum 2
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Effiziente Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 10 SS 2000 Quadtrees.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 8 SS 2000 Punkt-in-Polygon-Verfahren II (Trapezkarte)
Diskrete Mathematik II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 9 SS 2000 Punkt-in-Polygon-Verfahren III (R/R + -Baum)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Übung Datenbanksysteme II Index- strukturen
Vorlesung Binärer Suchbaum II-
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Graphen und Bäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 3 WS 01/02 Punkt-in-Polygon-Verfahren III (R/R + -Baum)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung April 2000 AVL-Bäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 4 WS 01/02 Quadtrees.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Binärer Suchbaum III- -AVL-Baum-
Binärer Baum, Binärer Suchbaum I
Raumbezogene Zugriffsverfahren
Diskrete Mathematik I Vorlesung 7 Binärer Suchbaum III.
Binärbäume.
Vorlesung April 2000 Polygon Overlay
Punkt-in-Landkarte II
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

Punkt-in-Polygon-Verfahren III (R/R+-Baum) Geoinformation III Vorlesung 4 Punkt-in-Polygon-Verfahren III (R/R+-Baum)

Übersicht Punkt-in-Polygon-Suche II MBR – minimum bounding rectangle 1 Übersicht Punkt-in-Polygon-Suche II MBR – minimum bounding rectangle Idee Neues laufendes Beispiel Rechtecke Rechtecke mit R-Baum R-Baum R-Baum als B-Baum Der R-Baum als solcher Einfügen in einen R-Baum Strategien zum Spalten eines Knotens Suchen eines Knotens Nachteil des R-Baums Alternative: Der R+-Baum R+-Baum Suche im R+-Baum

R-Baum Bisher: Zerlegung der Maschen in Streifen 2 R-Baum 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

MBR – minimum bounding rectangle 3 MBR – minimum bounding rectangle y Außen x A 4x

Idee In welcher Masche M liegt der Punkt P? 4 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 A 1x

Neues laufendes Beispiel 4 Neues laufendes Beispiel Nur die Rechtecke interessieren uns hier, nicht die zugrundeliegenden Maschen A 1x

Rechtecke mit R-Baum B D G J F C I E H A 3 4 1 2 A I E H 5 B C D 6 J F 4x

5 Rechtecke mit R-Baum 3 A I 3 A I A 4x

5 Rechtecke mit R-Baum 3 A I E H 4 3 A I A 4x

Rechtecke mit R-Baum 2 5 B 3 A I I C D E H 4 6 J F G 1 2 3 5 6 A I B C 4x

6 R-Baum 2 1 B A A I C 1 2 D J F G E H A 21x

6 R-Baum 2 1 B 3 A A I C 1 2 D 3 J F A I G E H A 21x

6 R-Baum 2 1 B A A 3 I C 1 2 D 3 4 J E H F A I G 4 E H A 21x

6 R-Baum 2 1 5 B A A 3 I C 1 2 D 3 4 5 J F A I E H B C D G 4 E H A 21x

R-Baum 2 1 5 B A A 3 I C D 6 J F G 4 E H 1 2 3 4 5 6 A I E H B C D J F 21x

R-Baum 2 1 5 B A A 3 I C D J 6 F G 4 E H 1 2 3 4 5 6 A I E H B C D J F 21x

7 R-Baum als B-Baum Ein R-Baum ist ein B-Baum mit zusätzlichen Eigenschaften B-Baum 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

B-Baum Ein kleiner Exkurs: 8 B-Baum Ein kleiner Exkurs: Der B-Baum wurde nach seinem Entwickler R. Bayer benannt. Die Suche eines Elementes in einem B-Baum unterscheidet sich nur wenig von der Suche in anderen Such-Bäumen. Das Einfügen und Entfernen von Elementen ist jedoch an vielen Stellen anders als in Binär-Such-Bäumen.

B-Baum Eigenschaften eines B-Baumes der Ordnung n: 9 B-Baum Eigenschaften eines B-Baumes der Ordnung n: Ein B-Baum ist nicht binär Ein B-Baum ist ausgeglichen Alle Blätter haben das gleiche Niveau Jeder Knoten enthält höchstens 2n Elemente Jeder innere Knoten außer der Wurzel enthält mindestens n Elemente Jeder innere Knoten hat m+1 Nachfolgeknoten, wobei m die Anzahl der Schlüssel des inneren Knotens ist Die m Schlüssel eines inneren Knotens werden in aufsteigender Reihenfolge gespeichert: x1 < x2 < ... < x3 Für jeden i-ten Teilbaum Si eines Knotens gilt: Die Schlüssel seiner Knoten sind grösser als xi und kleiner als xi+1 (ganz links und ganz rechts analog) Bei einigen Varianten des B-Baums stehen alle Informationen in den Blättern

10 2 9 12 13 15 17 1 23 3 29 48 19 10 37 56 7 B-Baum 56 = ! Alle Knoten bestehen aus 4 Blättern, auch wenn sie im Folgenden nicht dargestellt sind ! A 1x

11 Einfügen Einfügen eines Elements mit dem Wert 18 (Idealfall) 2 9 12 13 15 17 1 3 19 10 7 23 29 48 37 56 2 9 12 13 15 17 1 3 19 10 7 23 29 48 37 56 18 > 17  Einfügen 18 < 19  linker Ast 18 > 12  rechter Ast 18 A 26x

11 Einfügen Einfügen eines Elements mit dem Wert 14 (Problemfall) 2 9 12 13 15 17 1 3 19 10 7 23 29 48 37 56 18 2 9 12 13 15 17 1 3 19 10 7 23 29 48 37 56 Lösung: Knoten sprengen Problem: Speicher voll 14 > 12  rechter Ast 14 < 19  linker Ast 18 A 26x

11 Einfügen Einfügen eines Elements mit dem Wert 14 Bilde zwei neue Zweige Setze das mittlere Element um eine Position nach oben 2 9 12 13 14 15 17 1 3 10 7 19 23 29 48 37 56 15 15 14 18 17 15 18 18 A 26x

Entfernen Das Löschen in einem B-Baum gestaltet sich sehr einfach. 12 Entfernen Das Löschen in einem B-Baum gestaltet sich sehr einfach. Wir unterscheiden hier folgende Fälle: Löschen in einem Blatt:  Einfaches Löschen 2. Löschen in einem inneren Knoten: Beachte: die Anzahl der Schlüssel der inneren Knoten muss mindestens n sein  Wie bei AVL-Bäumen den Eintrag ersetzen durch den Rechtesten Eintrag im linken Unterbaum oder den Linkesten im Rechten. A 5x

12 Entfernen Entfernen des Elements mit dem Wert 48 2 9 12 13 15 17 1 3 19 10 7 23 29 48 27 31 37 49 60 Keine n Elemente im Knoten Ersetzen durch den rechtesten Eintrag im linken Unterbaum 37 A 5x

13 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

Einfügen in einen R-Baum 14 Einfügen in einen R-Baum Ausgangspunkt: Einfügen eines neuen Knotens in einen R-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 Strategien zum Spalten eines Knotens

Minimierung der Gesamtfläche Minimierung des Durchschnitts 15 Strategien zum Spalten eines Knotens Minimierung der Gesamtfläche Minimierung des Durchschnitts A 5x

Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5 16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 In welchem R liegt Q? E H A 13x

Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5 16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x

Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5 16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x

Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5 16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x

Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5 16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x

Suchen eines Knotens 2 1 5 B 3 A I C D 6 J F G 4 E H 3 4 1 2 A I E H 5 16 Suchen eines Knotens 2 1 5 B 3 A I C 3 4 1 2 A I E H 5 B C D 6 J F G D 6 J F G 4 E H A 13x

17 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

Alternative: Der R+-Baum 18 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

19 R+-Baum E H A B D G J F C I 1 2 3 4 5 6 7 8 9 A 34x

19 R+-Baum 2 1 E H A B D G J F C I 1 2 A 34x

19 R+-Baum 2 1 E H A B D G J F C I 4 3 1 2 3 3 4 A E A 34x

19 R+-Baum 2 1 E H A B D G J F C I 4 5 1 2 3 3 4 5 A E D E H A 34x

R+-Baum 6 2 1 E H A B D G J F C I 4 5 1 2 3 3 4 5 6 A E D E H B D I A 19 R+-Baum 6 2 1 E H A B D G J F C I 4 5 1 2 3 3 4 5 6 A E D E H B D I A 34x

R+-Baum 6 2 1 E H A B D G J F C I 7 4 5 1 2 3 3 4 5 6 7 A E D E H B D 19 R+-Baum 6 2 1 E H A B D G J F C I 7 4 5 1 2 3 3 4 5 6 7 A E D E H B D I B C D A 34x

R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 8 4 5 6 7 8 A E D E H 19 R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 8 4 5 6 7 8 A E D E H B D I B C D E G A 34x

R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 9 4 5 6 7 8 9 8 A E D 19 R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 9 4 5 6 7 8 9 8 A E D E H B D I B C D E G F J A 34x

R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 9 4 5 6 7 8 9 8 A E D 19 R+-Baum 6 2 1 E H A B D G J F C I 4 7 5 1 2 3 3 9 4 5 6 7 8 9 8 A E D E H B D I B C D E G F J A 34x

Suche im R+-Baum 6 2 1 E H A B D G J F C I 7 4 5 2 3 1 4 5 A E D H 6 7 20 Suche im R+-Baum 6 2 1 E H A B D G J F C I 7 4 5 2 3 1 4 5 A E D H 6 7 B I C 8 9 G F J 3 9 8 A 6x