Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "R-tree, R*-tree und R+-tree"—  Präsentation transkript:

1 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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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 R R7 A B C D Z E F G H I J K M N O

26 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 R R7 A B C D Z E F G H I J K M N O

27 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

28 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

29 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


Herunterladen ppt "R-tree, R*-tree und R+-tree"

Ähnliche Präsentationen


Google-Anzeigen