Geoinformation II Vorlesung 9 29.06.00 Foliendesign: cand. geod. Jörg Steinrücken Institut für...

Post on 05-Apr-2015

105 views 1 download

Transcript of Geoinformation II Vorlesung 9 29.06.00 Foliendesign: cand. geod. Jörg Steinrücken Institut für...

Geoinformation IIVorlesung 9

29.06.00

Foliendesign: cand. geod. Jörg Steinrücken

Institut für Kartographie und GeoinformationProf. Dr. Lutz Plümer

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

22

Zur Erinnerung:

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

33

Zerlegung der Maschen in Streifen

R

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

44

D

E

F

G

A

B

C

Suchstruktur

p1

A q1

s1

B

C

p2

q2

s2

s2

p1

q1s1

D

E

F

Gp2

q2

s2

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

55

Suchstruktur

p1

A q1

s1

B

C

p2

q2

s2

s2

D

E

F

G

D

E

F

G

A

B

C

p1

q1s1

p2

q2

s2

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

66

Einfügen einer Kante (II)

D(Si-1)

qisi sisiA

B

DE

FB D si

A

C

F

E

Csipi

qi

T(Si)D(Si)

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

77

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

88

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

99

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1010

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1111

MBR – minimum bounding rectangle

Außen

x

y

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1212

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1313

Neues laufendes Beispiel

• Nur die Rechtecke interessieren uns hier, nicht die zugrundeliegenden Maschen

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1414

Rechtecke

B

D

G

J F

CI

E H

A

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1515

E H

Rechtecke mit R-Baum

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1616

Rechtecke mit R-Baum

A

I

3

A I

3

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1717

Rechtecke mit R-Baum

A

I

3

A I

3

E H

4

4

E H

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1818

E H

Rechtecke mit R-Baum

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

1919

R-Baum

1 2

B

D

G

J F

CI

12

E H

A

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2020

E H

R-Baum

3

1 2

A

B

D

G

J F

CI3

A I

21

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2121

E H

R-Baum

3 4

1 2

A

B

D

G

J F

CI3

4

A I E H

21

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2222

E H

R-Baum

A

B

D

G

J F

CI

4

3 4

1 2

A I E H

5

5

B C D

21

3

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2323

E H

R-Baum

A

B

D

G

J F

CI

3 4

1 2

A I E H

65

B C D

5

6

J F G

4

21

3

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2424

E H

R-Baum

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2525

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2626

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2727

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2828

Strategien zum Spalten eines Knotens

Minimierung derGesamtfläche

Minimierung desDurchschnitts

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

2929

E H

Suchen eines Knotens

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

In welchem R liegt Q?

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3030

E H

Suchen eines Knotens

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3131

E H

Suchen eines Knotens

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3232

E H

Suchen eines Knotens

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3333

E H

Suchen eines Knotens

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3434

E H

Suchen eines Knotens

A

B

D

G

J F

CI

3 4

1 2

A I E H

5

B C D

6

J F G

6

4

21

35

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3535

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3636

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.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3737

R+-Baum

E H

A

B

D

G

J F

CI

12

3

4

5

6

7

8

9

2 31

4 5

A E D E H

6 7

B D I B C D

8 9

E G F J

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3838

R+-Baum

1 2

E H

A

B

D

G

J F

CI

12

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

3939

R+-Baum

21 3

E H

A

B

D

G

J F

CI

12

3

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

4040

R+-Baum

2 31

4

A E

E H

A

B

D

G

J F

CI

12

4

3

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

4141

R+-Baum

2 31

4 5

A E D E H

E H

A

B

D

G

J F

CI

12

4

5

3

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

4242

R+-Baum

6

2 31

4 5

A E D E H

E H

A

B

D

G

J F

CI

12

4

5

6

B D I

3

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

4343

R+-Baum

76

2 31

4 5

A E D E H

E H

A

B

D

G

J F

CI

12

4

5

6

B D I

7

B C D

3

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

4444

R+-Baum

8E H

A

B

D

G

J F

CI

12

3

4

5

6

7

2 31

4 5

A E D E H

6 7

B D I B C D

8

E G

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

4545

R+-Baum

9E H

A

B

D

G

J F

CI

12

3

4

5

6

7

2 31

4 5

A E D E H

6 7

B D I B C D

88

E G

9

F J

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

4646

R+-Baum

E H

A

B

D

G

J F

CI

12

3

4

5

6

7

8

9

2 31

4 5

A E D E H

6 7

B D I B C D

8 9

E G F J

Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00Lutz Plümer - Geoinformation II - SS 2000 - Vorlesung 9 - 29.06.00

4747

Suche im R+-Baum

E H

A

B

D

G

J F

CI

12

3

4

5

6

7

8

9

2 31

4 5

A E D E H

6 7

B D I B C D

8 9

E G F J

Schönen Dank für Ihre Aufmerksamkeit und

Auf Wiedersehen