Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 9...

Preview:

Citation preview

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

Geoinformation IIVorlesung 9

SS 2000

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

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

2 2

Ü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

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

3 3

Ü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

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

4 4

Zur Erinnerung:

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

5 5

Zerlegung der Maschen in Streifen

R

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

6 6

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

7 7

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

8 8

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

9 9

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

10 10

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

11 11

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

12 12

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

13 13

MBR – minimum bounding rectangle

Außen

x

y

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

14 14

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

15 15

Neues laufendes Beispiel

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

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

16 16

Rechtecke

B

D

G

J F

CI

E H

A

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

17 17

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

18 18

Rechtecke mit R-Baum

A

I

3

A I

3

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

19 19

Rechtecke mit R-Baum

A

I

3

A I

3

E H

4

4

E H

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

20 20

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

21 21

R-Baum

1 2

B

D

G

J F

CI

12

E H

A

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

22 22

E H

R-Baum

3

1 2

A

B

D

G

J F

CI3

A I

21

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

23 23

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

24 24

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

25 25

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

26 26

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

27 27

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

28 28

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

29 29

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

30 30

Strategien zum Spalten eines Knotens

Minimierung derGesamtfläche

Minimierung desDurchschnitts

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

31 31

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

32 32

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

33 33

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

34 34

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

35 35

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

36 36

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

37 37

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

38 38

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

39 39

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

40 40

R+-Baum

1 2

E H

A

B

D

G

J F

CI

12

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

41 41

R+-Baum

21 3

E H

A

B

D

G

J F

CI

12

3

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

42 42

R+-Baum

2 31

4

A E

E H

A

B

D

G

J F

CI

12

4

3

Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

43 43

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

44 44

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

45 45

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

46 46

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

47 47

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

48 48

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 - 6. Semester - SS 2001 - Vorlesung 9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 9

49 49

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

Recommended