R-tree, R*-tree und R+-tree

Slides:



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

Definition Überlappung und Überdeckung
Der R-Baum Richard Göbel.
Seminar: Support for Non-Standard DataTypes in DBMSs im WS 03/04 Prof
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Der k-d-Baum Richard Göbel.
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
Mindesthöhe: |_log2 n_|, maximale Höhe: n-1
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
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.
7. Natürliche Binärbäume
Gewichtsbalancierte Suchbäume
Durchlaufen eines Binärbaumes
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
FH-Hof Grundlagen mehrdimensionaler Suchstrukturen Richard Göbel.
Parser für CH3-Sprachen
Der R-Baum Richard Göbel.
Effizienz: Indexstrukturen
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 (18 - Bäume: Durchlaufreihenfolgen, Analyse nat. Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
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
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Programmiermethodik SS2009 © 2009 Albert Zündorf, University of Kassel 1 Gliederung 1. Einführung 2. Objektdiagramme zur Analyse von Beispielen 3. Methodenentwurf.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Teil 5: Kollisionsvermeidung & Wegplanung
Brückenschaltung 1.
Zeichnen von Bäumen Seminar Graphenzeichnen SS03 von Lina Wolf.
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Collision Detection.
Splay Trees Von Projdakov Benjamin.
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)
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Vorlesung Binärer Suchbaum II-
Graphen und Bäume.
SWE1 / Übung 10 ( ) Rekursion Binärbäume.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
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)
Algorithmen und Datenstrukturen 1 SS 2002
Minimal spannende Bäume
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.
- Überblick -.
Raumbezogene Zugriffsverfahren
Diskrete Mathematik I Vorlesung 7 Binärer Suchbaum III.
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Binärbäume.
Aufgabe 1. Herausforderungen I Persistente Datenspeicherung: Möchte man jeden Morgen alle Käufe und Verkäufe neu zusammensuchen? Sehr große Datenmengen:
Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS.
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Laufzeitverhalten beim Sortieren
Kap. 12 R-Bäume GB B31 B245 Box 1: Box 2: Box 3: Box 4: Box 5:
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

R-tree, R*-tree und R+-tree Institut für Kartographie und Geoinformation der Universität Bonn Seminar Geoinformation WS 01/02 Zugriffstruktur auf mehrdimensionale räumliche Objekte R-tree, R*-tree und R+-tree Betreuer: Dipl.-Inform. Ingo Petzold Verfasser: Andreas Joisten

Inhaltsverzeichnis Einleitung Der R-tree 2.1 Struktur und Eigenschaft des R-tree 2.2 Algorithmen des R-tree 2.2.1 Such 2.2.2 Einfüge 2.2.3 Spalt 2.2.4 Lösch 3. R*-tree und R+-tree - Algorithmus

Einleitung Anforderung an Zugriffstruktur: multidimensionaler Suchbereich  Versagen des B-Baumes, da eindim. Ordnung der Indexwerte Multidimensionale Indexmethode: Approximation räumlicher Objekte durch kleinste umgebene „bounding box“ bounding box: im 3-D = Quader ; im 2-D = Rechtecke Lage und Flächeninhalt/Volumen bekannt Implementierung: Zugriff auf Datenobjekte über Pointer Speicherung der bounding boxen in Zugriffstruktur oder in Datenobjekten

Struktur des r-tree R2 R1 R4 R3 R7 Wurzel: bounding box, Pointer auf Söhne Wurzel R1 Struktur des r-tree A R2 E C F R4 L B G R3 M H D I N R7 K Wurzel J O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Struktur des r-tree R2 R1 R4 R3 R7 Innere Knoten: bounding box, Pointer auf Söhne Wurzel R1 Struktur des r-tree A R2 E C F R4 L Wurzel: bounding box, Pointer auf Söhne B G R3 M H D I N R7 K Wurzel J O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Struktur des r-tree R1 R2 R3 R4 R1 R2 R4 R3 R7 Wurzel Blätter: bounding box, Pointer auf Datenobjekt R1 R2 R3 R4 R1 Struktur des r-tree A R2 E C F R4 L Wurzel: bounding box, Pointer auf Söhne B G Innere Knoten: bounding box, Pointer auf Söhne R3 M H D I N R7 K Wurzel J O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Festlegungen des r-tree Wurzel R1 Festlegungen des r-tree A R2 E C F R4 L B Einträgen pro Knoten mindest Anzahl m = 2 maximale Anzahl M = 4 G R3 M H D I N R7 K Wurzel J O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Eigenschaften des r-tree Wurzel R1 Eigenschaften des r-tree A R2 E C F R4 L B Die Wurzel hat mind. 2 Söhne außer sie ist ein Blatt Jeder Knoten außer der Wurzel besitzt zw. m und M Einträge Alle Blätter befinden sich auf derselbe Höhe G R3 M H D I N R7 K Wurzel J O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Such-Algorithmus R2 Frage: Liegt innerhalb des Suchgebiets eine Stadt? Wurzel R1 Such-Algorithmus A R2 E Definiere: bounding box des Suchgebiets C F R4 L Frage: Liegt innerhalb des Suchgebiets eine Stadt? B G R3 M H D I N R7 K J Wurzel O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Such-Algorithmus R2 R1 R4 R3 R7  Suchgebiet innerhalb Wurzel Wurzel R1 Such-Algorithmus A R2 E C F R4 Suchgebiet innerhalb aktuellem Knoten ? L B G R3 M H D I N R7 K J Wurzel O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Such-Algorithmus R4 R3 R6 R5 R7  Suchgebiet innerhalb R1 Wurzel R3 Such-Algorithmus A R4 E  Suchgebiet außerhalb R2 Suchgebiet innerhalb aktuellem Knoten ? C F R6 L B G R5 M H D Suche im linken Teilbaum I N R7 K J Wurzel O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Such-Algorithmus R3 R3 R4 R4 R6 R5 R7 Wurzel  Suchgebiet innerhalb R3 R3 R3 Such-Algorithmus A  Suchgebiet innerhalb R4 R4 R4 E C F R6 Suchgebiet innerhalb aktuellem Knoten ? L B G R5 M H D I N R7 K J Wurzel O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Such-Algorithmus R4 R3 R6 R5 R7 Wurzel R3 Such-Algorithmus A A R4  Suchgebiet innerhalb E E E  Suchgebiet innerhalb C C F C F R6 Suchgebiet innerhalb aktuellem Knoten ? L B B G G R5 M H D D I N R7 K J Wurzel O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Such-Algorithmus Welches Datenobjekt liegt innerhalb des Suchgebiets?  Keine Information in C  Stadt in E Wurzel R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Einfüge-Algorithmus R4 R3 R6 R5 R7 Wurzel R3 Einfüge-Algorithmus A R4 E C F R6 L B Zuordnung nach geringstem Flächenzuwachs bzw geringster Fläche der bounding boxen G R5 M H D Zuordnung R1 I N Z R7 K J Wurzel O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Einfüge-Algorithmus R4 R3 R6 R5 R7 Wurzel R3 Einfüge-Algorithmus A R4 E C F R6 L B Zuordnung nach geringstem Flächenzuwachs bzw geringster Fläche G R5 M H Zuordnung R3 D I N überlauf des Blattes Z R7 K J Wurzel O R1 R2 R3 R4 R5 R6 R7 A B C D E F G H I J K L M N O

Spalt-Algorithmus Aufgabe: Verteilung der M + 1 Einträge auf zwei neue Knoten Wichtig: Struktur des r-tree von der Gestaltung der neuen Knoten abhängig worse case: zufällige Zuordnung der Einträge  Überlagerung der bounding boxen  schlechte Suche Systematische Zuordnung: entfernungsabhängiges Einfügen der Einträge

Aufspalten eines Knotens/Blattes R3 A Z A Suche: 2 Einträge, die die neuen Blätter festlegen Forderung: 2 Einträge mit max. Abstand C B C B  R‘3 := A und R‘‘3 := Z D Wurzel Z R1 R2 R3 R4 R5 R6 R7 A B C D Z E F G H I J K L M N O

Aufspalten eines Knotens/Blattes R3 A A C Ziel: Flächenzuwachs der verbleibenden Einträgen zu A , Z B B  F_AB und F_ZB D Wurzel Z Z R1 R2 R3 R4 R5 R6 R7 A B C D Z E F G H I J K L M N O

Aufspalten eines Knotens/Blattes R3 C A A C Ziel: Flächenzuwachs der verbleibenden Einträgen zu A , Z B D Wurzel Z Z R1 R2 R3 R4 R5 R6 R7 A B C D Z E F G H I J K L M N O

Aufspalten eines Knotens/Blattes R3 D A A C Ziel: Flächenzuwachs der verbleibenden Einträgen zu A , Z B D Wurzel Z Z R1 R2 R3 R4 R5 R6 R7 A B C D Z E F G H I J K L M N O

Aufspalten eines Knotens/Blattes R3 A A Ziel: je geringer der Abstand eines Daten- objekts zu den Ursprungselementen, desto eher das Einfügen Ansatz: Flächendifferenzen F_AB – F_ZB = DB C B  Reihenfolge des Einfügens nach größter Flächendifferenz D Wurzel Z Z R1 R2 R3 R4 R5 R6 R7 A B C D Z E F G H I J K L M N O

Neue Struktur des R-tree Wurzel A R4 E Neue Struktur des R-tree C F R6 L B G R‘3 R5 M H D I N R‘‘3 Z R7 K J Wurzel O R1 R2 R‘3 R‘‘3 R4 R5 R6 R7 A B C D Z E F G H I J K L M N O

Lösch-Algorithmus R4 Lösche: L R6 R6 Datenobjekt löschen Wurzel Lösch-Algorithmus A R4 E C F Lösche: L R6 R6 Datenobjekt löschen L Such-Algorithmus L L B G R‘3 R5 M H bounding box verkleinern D I N  R6 kann nicht existieren R‘‘3 Z R7 K J Wurzel O R1 R2 R‘3 R‘‘3 R4 R5 R6 R7 A B C D Z E F G H I J K L M M N O

Lösch-Algorithmus R4 R‘3 R5 R‘‘3 R7 Löschen u. wiedereinfügen von M Wurzel A R4 E Lösch-Algorithmus C F B Löschen u. wiedereinfügen von M G R‘3  kleinerer Flächenzuwachs zu R7 R5 M H D I N R‘‘3 Z R7 K J Wurzel O R1 R2 R‘3 R‘‘3 R4 R5 R7 A B C D Z E F G H I J K M N O

Neue Struktur des R-tree Wurzel A R4 E Neue Struktur des R-tree C F B G R‘3 R5 M H D I N R‘‘3 Z R7 K J Wurzel O R1 R2 R‘3 R‘‘3 R4 R5 R7 A B C D Z E F G H I J K M N O

Optimierungen bei dem R-tree Reduktion der Überlappungen  weniger Suchpfade Überlappung Freifläche der bounding box minimieren  bessere Approximation durch bounding box Feifläche Maximierung der Anzahl der Einträge  Reduzierung der Höhe

R*-tree R*-tree als Fortführung des R-tree Kriterium des R-tree: geringster Flächenzuwachs Kriterien des R*-tree: Innere Knoten nach geringsten Flächenzuwachs Blätter nach geringster Überlappung der bounding boxen Verbesserung der Suchperformance: Änderung der Einfüge- u. Teilungsstrategien Einführung des erzwungenen Wiedereinfügens

R+-tree R-tree R+-tree A A B B C K K F F G G G G G D D J J A B A C B D H H C J J A B A C B D F G H J K D F G G H K J Keine Überlappung der Inneren Knoten