Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Geoinformation II (6. Semester)

Ähnliche Präsentationen


Präsentation zum Thema: "Geoinformation II (6. Semester)"—  Präsentation transkript:

1 Geoinformation II (6. Semester)
Vorlesung 1 SS 2001 Scan-Line-Verfahren

2 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Übersicht I Übersicht über das Semester Organisation Overlay n-Segment-Schnitt Zur Erinnerung („Diskrete Mathematik“) Groß-Oh-Notation Wachstum Hinreichende Bedingung für Schnittfreiheit Scan-Line-Verfahren Idee Gegenbeispiel Nachbarschaft Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Übersicht II Verfeinerung des Algorithmus Ordnungsrelation „x <‘‘ Ordnung der Segmente durch die Scan-Line Verwaltung der aktiven Elemente Wann wird der Schnittpunkt S1 erkannt? Vereinfachende Annahmen Algorithmus Scan-Line Algorithmus II Prüfung auf Schnittfreiheit Segmentschnitt I Segmentschnitt II Einfacher Segmentschnitt I Einfacher Segmentschnitt II Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

4 Übersicht über das Semester
was ist „GIS 2“? Funktionen von GIS Algorithmen in GIS effiziente Berechnung Speicherung räumlicher Objekte in GIS effiziente Suche GIS 1 = Modelle für GIS Welt  Modell GIS 2 = Modell  Rechner 2 große Algorithmen Overlay von Netzen und Flächen (Segmentschnitt) räumliche Nachbarschaft Voronoi-Diagramm, Delaunay- Triangulation Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

5 Motivation: Overlay von Flächen und Landkarten
von Netzen: Fluß und Straßennetz: Brücken Straßen und Eisenbahnnetz: Brücken, Tunnel Problem: Schnitt von n geraden Linien-Segmenten von Landkarten (polygonalen Strukturen) PLZ und Verkaufsbezirke Gemeinden und Geologie Problem: Segmentschnitt + Polygonkonstruktion heute nur: Schnitt von n Segmenten Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

6 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
n-Segment-Schnitt einfaches Vorgehen: paarweiser Vergleich:  s  S:  s‘ S - {s} überprüfe s und s‘ auf Schnittfreiheit und bestimme ggf. den Schnitt von s und s‘ Laufzeit: O(n2) für die Praxis viel zu langsam Ziel: O(n * log n) harter und langer Kampf! erste Idee: betrachte horizontale Projektionen Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

7 Zur Erinnerung („Diskrete Mathematik“)
Groß-Oh-Notation Definition: wobei Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

8 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Groß-Oh-Notation Beispiele: Inklusion: O(1)  O(log n)  O(n)  O(n log n)  O(n2)  O(n3)  ...  O(exp n)   Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

9 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Wachstum n log n Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

10 Hinreichende Bedingung für Schnittfreiheit
notwendig für Schnitt: Überlappung der horizontalen Projektionen Reduktion einer 2-dimensionalen auf eine 1-dimensionale Fragestellung Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

11 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

12 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Idee: horizontale Scan-Line über die Ebene schieben aktive Elemente: Schnitt mit der Scan-Line nur aktive Elemente können horizontale Überschneidungen haben überprüfe aktive Elemente auf Schnittfreiheit Problem: wo sind die Haltepunkte der Scan-Line Anfangspunkt eines Segments Endpunkt eines Segments geordnete Menge der x-Koordinaten Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

13 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

14 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

15 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

16 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren F B S2 S3 C S4 D A S1 E Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

17 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

18 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

19 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

20 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

21 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

22 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

23 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

24 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Scan-Line-Verfahren A B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

25 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Gegenbeispiel zu viele Elemente gleichzeitig aktiv  O(n2) Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

26 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Nachbarschaft A e-Umgebung B Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

27 Verfeinerung des Algorithmus
nur benachbarte Segmente betrachten wie erkennt man sehr schnell, ob zwei Segmente benachbart sind? Nutzung der Scan-Line Betrachte die Schnittpunkte der aktiven Segmente mit der Scan-Line Nachbarschaft ergibt sich aus der Lage der Schnittpunkte Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

28 Ordnungsrelation „x <‘‘
B A C x x‘ Ax < B Ax < C Cx < B Cx‘ < A Ax‘ < B Cx‘ < B Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

29 Ordnung der Segmente durch die Scan-Line
x< ist eine dynamische (!) Ordnung ... die nur auf der Menge der aktiven Elemente definiert ist die Ordnung x< zwischen zwei Elementen wird an ihren Schnittpunkten umgedreht aus a x< b wird am Schnittpunkt s von a und b b x< a liefert eine vollständige eindimensionale Ordnung der aktiven Segmente ... ... für jeden Haltepunkt der Scan-Line ! Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

30 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

31 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 A Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

32 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 A E Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

33 Verwaltung der aktiven Elemente
F B S2 S3 C S4 D A S1 E B E A Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

34 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 B D A E Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

35 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 B C A D E Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

36 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 B D C E Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

37 Verwaltung der aktiven Elemente
F B S2 S3 C S4 D A S1 E B E C D Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

38 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 F C B E D Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

39 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 B C F E D Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

40 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 B C F E Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

41 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 C E F Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

42 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 C F E Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

43 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 C Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

44 Verwaltung der aktiven Elemente
B F C D E S1 S3 S2 S4 Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

45 Wann wird der Schnittpunkt S1 erkannt?
B S1 C Übung: Wird ein Schnittpunkt stets genau einmal erkannt? Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

46 Vereinfachende Annahmen
2 Segmente schneiden sich höchstens in einem Punkt in keinem Punkt schneiden sich mehr als 3 Segmente die x-Koordinaten aller Segmente sind paarweise verschieden kein Segment ist vertikal Gegenbeispiel Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

47 Algorithmus Scan-Line
Input: S: eine Menge von Segmenten Output: die Schnittpunkte der Elemente von S Sei T = Endpunkte der Segmente von S nach x-Koordinaten sortiert (Haltepunkte) L =  // aktive Segmente von S while T   do bestimme und entferne den nächsten Punkt pT x ist x-Koordinate von p case: p ist linker Endpunkt von s fuege_ein(s,x,L) sl = vorgaenger(s,x,L) sr = nachfolger(s,x,L) schnitt(sl,s,T); schnitt(s,sr,T); p ist rechter Endpunkt von s sl = vorgaenger(s,x,L) sr = nachfolger(s,x,L) entferne(s,x,L) schnitt(sl,sr,T) p ist Schnittpunkt von s und t vertausche(s,t,L,x) // t < s sl = vorgaenger(t,x,L) sr = nachfolger(s,x,L) schnitt(sl,t,T) schnitt(s,sr,T) Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

48 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Algorithmus II fuege_ein(s,x,L): fügt das Segment s in die Menge L ein entsprechend der Ordnung an der Stelle x entferne(s,x,L): entfernt das Segment s aus die Menge L an der Stelle x nachfolger(s,x,L): liefert den Nachfolger von s in L an der Stelle x, falls vorhanden vorgaenger(s,x,L) liefert den Vorgänger von s in L an der Stelle x, falls vorhanden schnitt(s,t,T) prüft s und t auf Schnitt. Berechnet ggf. den Schnittpunkt p und fügt ihn als neuen Haltepunkt in T ein. offene Probleme: eine geeignete Datenstruktur für T eine geeignete Datenstruktur für L Prüfung auf Schnitt, Berechnung des Schnittpunkts Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

49 Prüfung auf Schnittfreiheit
1. Idee Berechnung der Geradengleichungen g und g‘ der Segmente s und s‘ Schnittpunkt p von g und g‘ prüfe ob p in s und s‘ Problem vertikale Segmente Vermeidung unangenehmer Sonderfälle Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

50 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Segmentschnitt I g1 g2 a) g1 g2 c) g2 g1 b) Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

51 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 1
Segmentschnitt II Reduktion auf das Problem P1, P2 liegen auf der gleichen / verschiedenen Seiten der durch g induzierten Geraden Homogene Koordinaten: P1=(x1,y1,w1) P2=(x2,y2,w2) P=(x,y,w) D > 0 D = 0 P P2 P1 D < 0 s Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

52 Einfacher Segmentschnitt I
P2 P1 P3 P4 P2 P3 P4 P1 g g` P2 P1 P3 P4 S1 = det ( P1,P3,P4) Def.: Vor.: Alle Determinanten sind  0: S2 = det ( P3,P1,P2) g und g` schneiden sich genau dann, wenn S1, S2 S3 = det ( P2,P3,P4) sowie S3, S4 jeweils verschiedene Vorzeichen S4 = det ( P4,P1,P2) haben. Lutz Plümer - Geoinformation Semester - SS Vorlesung 1

53 Einfacher Segmentschnitt II
Wenn alle Determinanten gleich Null sind, dann folgt daraus, daß alle vier Punkte kollinear sind. - eine Determinante ist Null: => Algorithmus: Einsparen von Multiplikationen Lutz Plümer - Geoinformation Semester - SS Vorlesung 1


Herunterladen ppt "Geoinformation II (6. Semester)"

Ähnliche Präsentationen


Google-Anzeigen