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 II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)"—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)

2 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 72 Übersicht Punktsuche in Landkarten Vorgehen I (naiv) Vorgehen II (semi-naiv) Eigenschaften der Zerlegung I Eigenschaften der Zerlegung II Eigenschaften der Zerlegung III Vorgehen I Algorithmus punktsuche Binäre Suche in einem sortierten Array Komplexität der Suche Speicheranforderung Speicheranforderung (Beispiel worst-case)

3 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 73 Punktsuche in Landkarten In welcher Masche liegt q? Außen x y Landkarte S mit n Kanten q

4 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 74 Anzahl der Schnittpunkte gerade: außerhalb ungerade: innerhalb Vorgehen I (naiv) è Naives Verfahren: Test für jede Masche iterieren è Aufwand: mindestens O(n) è Analogie: Element in Menge èlog(n) bei Verwendung einer geeigneten Struktur èAVL-Baum èSortierter Array, Bisektion è Ist log(n) auch hier zu erreichen?

5 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 75 Vorgehen II (semi-naiv) Außen x y q Aufteilung der Landkarte durch vertikale Linien Konstruktion einer Karte S

6 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 76 Außen q Eigenschaften der Zerlegung I Die Maschen werden in Trapeze (ggf. Dreiecke) zerlegt Dadurch werden auch die Kanten in Teilkanten zerlegt Kein Knoten liegt im Inneren eines Trapezes Die Teilkanten eines Streifens lassen sich anordnen Übung: Vergleich mit Scan-Line beim Segmentschnitt x y

7 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 77 Jede Kante lässt sich einer in y-Richtung folgenden Masche zuordnen q x y Außen Eigenschaften der Zerlegung II Jeder Abschnitt eines Streifens liegt in genau einer Masche

8 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 78 Jede Kante lässt sich einer in y-Richtung folgenden Masche zuordnen q x y Außen Eigenschaften der Zerlegung III Jeder Abschnitt eines Streifens liegt in genau einer Masche

9 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 79 Vorgehen I Aufteilung der Landkarte vertikale Linien Konstruktion einer Karte S Außen Sortierte Speicherung der x-Koordinaten der Vertikalen in einem Array Sortierte Speicherung der Kanten jedes Streifens in einem Array q x y

10 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 710 Algorithmus punktsuche binäre Suche, wie q zu den Kanten(Segmenten) liegt Algorithmus punktsuche { binäre Suche des Streifens, der q enthält, im Array der x- Koordinaten q x y

11 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 711 Algorithmus punktsuche falls ein Segment direkt unterhalb (direkt oberhalb)q gefunden wird, ist die gesuchte Masche gefunden} direkt unterhalb q x y binäre Suche, wie q zu den Kanten(Segmenten) liegt Algorithmus punktsuche { binäre Suche des Streifens, der q enthält, im Array der x- Koordinaten

12 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 712 Binäre Suche in einem sortierten Array Suche der Position einer Zahl x in einem Array A der Länge n bestimme die mittlere Position i und den Wert A[i] Fall x = A[i]: return i Fall x < A[i]: setze die Suche in der linken Hälfte von A rekursiv fort Fall x > A[i]: setze die Suche in der rechten Hälfte von A rekursiv fort Übung: Adaptiere den Algorithmus so, dass er das nächst kleinere Element findet Adaptiere den Algorithmus so, dass er auf einen Array von Segmenten anwendbar ist.

13 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 713 Komplexität der Suche Gesamtkomplexität: O(log n) Algorithmus punktsuche { binäre Suche des Streifens der q enthält im Array der x-Koordinaten falls ein Segment direkt unterhalb q gefunden wird, ist die gesuchte Masche gefunden} Binäre Suche in einem Array mit maximaler Länge 2n: O(log n) Binäre Suche in einem Array mit maximaler Länge n: O(log n) binäre Suche, wie q zu den Kanten(Segmenten) liegt

14 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 714 Speicheranforderung Aufteilung der Landkarte durch vertikale Linien Konstruktion einer Karte S Sortierte Speicherung der x-Koordinaten der Vertikalen in einem Array Sortierte Speicherung der Kanten jedes Streifens in einem Array Array der x-Koordianten benötigt O(n) Array jedes Streifens benötigt O(n) Gesamtkomplexität: O(n²)

15 Lutz Plümer - Geoinformation - 6. Semester - SS Vorlesung 715 Speicheranforderung (Beispiel worst-case)


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)"

Ähnliche Präsentationen


Google-Anzeigen