Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Punkt-in-Polygon-Verfahren III (R/R+-Baum)"—  Präsentation transkript:

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

2 Ü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

3 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

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

5 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

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

7 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

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

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

10 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

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

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

13 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

14 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

15 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

16 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

17 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

18 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.

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

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

29 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

30 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

31 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

32 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

33 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

34 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

35 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

36 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

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

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

39 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

40 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

41 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

42 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

43 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

44 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

45 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

46 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


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

Ähnliche Präsentationen


Google-Anzeigen