Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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)

Ähnliche Präsentationen


Präsentation zum Thema: "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)"—  Präsentation transkript:

1 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)

2 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 32 Übersicht I Zur Erinnerung Zerlegung der Maschen in Streifen Suchstruktur Einfügen einer Kante II Zur Effizienz Effizienz II: Sonderfallbetrachtung Punkt-in-Polygon-Suche II MBR – minimum bounding rectangle Idee Neues laufendes Beispiel Rechtecke

3 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 33 Übersicht II 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

4 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 34 Zur Erinnerung:

5 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 35 Zerlegung der Maschen in Streifen R

6 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 36 D E F G A B C Suchstruktur p1p1 A q1q1 s1s1 B C p2p2 q2q2 s2s2 s2s2 p1p1 q1q1 s1s1 D E F G p2p2 q2q2 s2s2

7 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 37 Suchstruktur p1p1 A q1q1 s1s1 B C p2p2 q2q2 s2s2 s2s2 D E F G D E F G A B C p1p1 q1q1 s1s1 p2p2 q2q2 s2s2

8 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 38 Einfügen einer Kante II D(S i-1 ) qiqi sisi sisi sisi A B D E F B D sisi A C F E C sisi pipi qiqi T(S i ) D(S i )

9 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 39 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)

10 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 310 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 O(n) für die Suche und O(n 2 ) 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

11 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 311 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)

12 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 312 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

13 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 313 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.

14 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 314 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: x 1 < x 2 <... < x n –Für jeden i-ten Teilbaum S i eines Knotens gilt: Die Schlüssel seiner Knoten sind grösser als x i und kleiner als x i+1 (ganz links und ganz rechts analog) –Bei einigen Varianten des B-Baums stehen alle Informationen in den Blättern

15 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 315 B-Baum der Ordnung 2 (n=2) 2912 1315171233 2948 19 1037567

16 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 316 Einfügen Einfügen eines Elements mit dem Wert 18 (Idealfall) 2912 13151713 19 10723 2948 3756 18 < 19  linker Ast

17 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 317 Einfügen Einfügen eines Elements mit dem Wert 18 2912 13151713 19 10723 2948 3756 18 > 12  rechter Ast

18 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 318 Einfügen Einfügen eines Elements mit dem Wert 18 2912 13151713 19 10723 2948 3756 18 > 12  rechter Ast

19 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 319 Einfügen Einfügen eines Elements mit dem Wert 18 2912 13151713 19 10723 2948 3756 18 > 17  Einfügen

20 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 320 Einfügen Einfügen eines Elements mit dem Wert 18 2912 13151713 19 10723 2948 3756 18 > 17  Einfügen

21 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 321 Einfügen Einfügen eines Elements mit dem Wert 18 2912 1315171813 19 10723 2948 3756 18 > 17  Einfügen

22 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 322 Einfügen Einfügen eines Elements mit dem Wert 14 (Problemfall) 2912 1315171813 19 10723 2948 3756 14 < 19  linker Ast

23 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 323 Einfügen Einfügen eines Elements mit dem Wert 14 2912 1315171813 19 10723 2948 3756 14 > 12  rechter Ast

24 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 324 Einfügen Einfügen eines Elements mit dem Wert 14 2912 1315171813 19 10723 2948 3756 14 > 12  rechter Ast Problem: Speicher voll Lösung: Knoten sprengen

25 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 325 Einfügen Einfügen eines Elements mit dem Wert 14 2912 1315171813 19 10723 2948 3756 Lösung: Knoten sprengen

26 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 326 Einfügen Einfügen eines Elements mit dem Wert 14 2912 13141517 13107 19 23 2948 3756 18 Setze das mittlere Element um eine Position nach oben

27 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 327 Einfügen Einfügen eines Elements mit dem Wert 14 291215 131417 13107 19 23 2948 3756 18 Bilde zwei neue Zweige

28 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 328 Einfügen Einfügen eines Elements mit dem Wert 14 131417 291215 13107 19 23 2948 3756 18 Bilde zwei neue Zweige

29 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 329 Einfügen Einfügen eines Elements mit dem Wert 14 131417 291215 13107 19 23 2948 3756 18 Bilde zwei neue Zweige

30 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 330 Einfügen Einfügen eines Elements mit dem Wert 14 131417 291215 13107 19 23 2948 3756 18 Bilde zwei neue Zweige

31 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 331 Einfügen Einfügen eines Elements mit dem Wert 14 Bilde zwei neue Zweige 1314 291215 13107 19 23 2948 3756 1718

32 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 332 Einfügen Einfügen eines Elements mit dem Wert 14 Bilde zwei neue Zweige 1314 291215 13107 19 23 2948 3756 1718

33 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 333 Entfernen Das Löschen in einem B-Baum gestaltet sich sehr einfach. Wir unterscheiden hier folgende Fälle: 1.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.

34 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 334 Entfernen Entfernen des Elements mit dem Wert 48 2912 13151713 19 10723 2948 2731 37 4960

35 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 335 Entfernen Entfernen des Elements mit dem Wert 48 2912 13151713 19 10723 29 2731 37 4960 Keine n Elemente im Knoten

36 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 336 Entfernen Entfernen des Elements mit dem Wert 48 2912 13151713 19 10723 29 2731 37 4960 Keine n Elemente  ersetzen durch den Rechtesten Eintrag im linken Unterbaum

37 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 337 Entfernen Entfernen des Elements mit dem Wert 48 2912 13151713 19 10723 2937 27314960 Keine n Elemente  ersetzen durch den Rechtesten Eintrag im linken Unterbaum

38 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 338 Punkt-in-Polygon-Suche II Approximation der Maschen durch umschließende achsenparallele Rechtecke –Minimal Bounding Rectangle (MBR) –Verwaltung der Rechtecke R-Baum R + -Baum

39 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 339 MBR – minimum bounding rectangle Außen x y

40 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 340 Idee In welcher Masche M liegt der Punkt P? Nutze die Bounding Boxes als Filter Verwende effizientes Verfahren, um alle Rechtecke R 1,... R n zu finden, die P enthalten –Jedem Rechteck R i entspricht eine Masche M i Prüfe, ob P in einer der Maschen M 1,... M n vorkommt Verwende dazu das Standardverfahren Problem: Zugriffsstruktur für Rechtecke Rechtecke sind einfacher zu handhaben als Maschen im allgemeinen

41 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 341 Neues laufendes Beispiel Nur die Rechtecke interessieren uns hier, nicht die zugrundeliegenden Maschen

42 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 342 Rechtecke B DG J F C I E H A

43 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 343 E H Rechtecke mit R-Baum A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5

44 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 344 Rechtecke mit R-Baum A I 3 AI 3

45 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 345 Rechtecke mit R-Baum A I 3 AI 3 E H 4 4 EH

46 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 346 E H Rechtecke mit R-Baum A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5

47 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 347 R-Baum 12 B DG J F C I 1 2 E H A

48 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 348 E H R-Baum 3 12 A B DG J F C I 3 AI 2 1

49 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 349 E H R-Baum 34 12 A B DG J F C I 3 4 AIEH 2 1

50 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 350 E H R-Baum A B DG J F C I 4 34 12 AIEH 5 5 BCD 2 1 3

51 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 351 E H R-Baum A B DG J F C I 34 12 AIEH 6 5 BCD 5 6 JFG 4 2 1 3

52 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 352 E H R-Baum A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5

53 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 353 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

54 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 354 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

55 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 355 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

56 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 356 Strategien zum Spalten eines Knotens Minimierung der Gesamtfläche Minimierung des Durchschnitts

57 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 357 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5 In welchem R liegt Q?

58 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 358 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5

59 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 359 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5

60 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 360 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5

61 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 361 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5

62 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 362 E H Suchen eines Knotens A B DG J F C I 34 12 AIEH 5 BCD 6 JFG 6 4 2 1 3 5

63 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 363 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

64 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 364 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

65 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 365 R + -Baum EH A B D G JF C I 1 2 3 4 5 6 7 8 9 231 45 AEDEH 67 BDIBCD 89 EGFJ

66 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 366 R + -Baum 1 2 EH A B D G JF C I 1 2

67 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 367 R + -Baum 21 3 EH A B D G JF C I 1 2 3

68 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 368 R + -Baum 231 4 AE EH A B D G JF C I 1 2 4 3

69 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 369 R + -Baum 2314 5 AEDEH EH A B D G JF C I 1 2 4 5 3

70 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 370 R + -Baum 6 231 45 AEDEH EH A B D G JF C I 1 2 4 5 6 BDI 3

71 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 371 R + -Baum 7 6231 45 AEDEH EH A B D G JF C I 1 2 4 5 6 BDI 7 BCD 3

72 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 372 R + -Baum 8 EH A B D G JF C I 1 2 3 4 5 6 7 231 45 AEDEH 67 BDIBCD 8 EG

73 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 373 R + -Baum 9 EH A B D G JF C I 1 2 3 4 5 6 7 231 45 AEDEH 67 BDIBCD 8 8 EG 9 FJ

74 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 374 R + -Baum EH A B D G JF C I 1 2 3 4 5 6 7 8 9 231 45 AEDEH 67 BDIBCD 89 EGFJ

75 Lutz Plümer - Geoinformation III - 5. Semester - WS 01/02 - Vorlesung 375 Suche im R + -Baum EH A B D G JF C I 1 2 3 4 5 6 7 8 9 231 45 AEDEH 67 BDIBCD 89 EGFJ


Herunterladen ppt "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)"

Ähnliche Präsentationen


Google-Anzeigen