Geoinformation II Vorlesung 9 29.06.00 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 9 29.06.00 Foliendesign: cand. geod. Jörg Steinrücken
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 Zur Erinnerung: Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Zerlegung der Maschen in Streifen Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 Suchstruktur p1 A q1 s1 B C p2 q2 s2 A B C E G p1 q1 s1 D G p2 q2 s2 F E D F Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 Suchstruktur p1 A q1 s1 B C p2 q2 s2 D E F G D E F G A B C p1 q1 s1 p2 q2 s2 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Einfügen einer Kante (II) D(Si) D(Si-1) qi si D T(Si) E A F A B C D F qi si C B si pi E Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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) Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 kann O(n) für die Suche und O(n2) 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
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) Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
MBR – minimum bounding rectangle y Außen x Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Neues laufendes Beispiel Nur die Rechtecke interessieren uns hier, nicht die zugrundeliegenden Maschen Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 Rechtecke B A I C D J F G E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 Rechtecke mit R-Baum 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 Rechtecke mit R-Baum 3 A I 3 A I Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 Rechtecke mit R-Baum 3 A I 3 4 A I E H 4 E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 Rechtecke mit R-Baum 2 1 5 B 3 A I C 1 2 D 3 4 5 6 6 J A I E H F G B C D J F G 4 E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R-Baum 2 1 B A I C 1 2 D J F G E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R-Baum 2 1 B 3 A I C 1 2 D 3 J A I F G E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R-Baum 2 1 B 3 A I C 1 2 D 3 4 J A I E H F G 4 E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R-Baum 2 1 5 B 3 A I C 3 4 1 2 A I E H D 5 J B C D F G 4 E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R-Baum 2 1 5 B 3 A I C 3 4 1 2 A I E H D 5 6 6 J B C D J F G F G 4 E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R-Baum 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Strategien zum Spalten eines Knotens Minimierung der Gesamtfläche Minimierung des Durchschnitts Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R+-Baum 2 1 E H A B D G J F C I 1 2 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R+-Baum 2 1 E H A B D G J F C I 2 1 3 3 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R+-Baum 2 1 E H A B D G J F C I 4 2 3 1 3 4 A E Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R+-Baum 2 1 E H A B D G J F C I 4 5 2 3 1 3 4 5 A E D E H Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 R+-Baum 6 2 1 E H A B D G J F C I 4 5 2 3 1 4 5 A E D H 3 6 B D I Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 3 6 7 B D I B C D Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 3 8 8 E G Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 3 9 8 8 9 E G F J Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00 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 Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00
Schönen Dank für Ihre Aufmerksamkeit und Auf Wiedersehen