1 / 17

Geoinformation III

Geoinformation III. Vorlesung 1 WS 2001/02. Punkt-in-Landkarte I (Streifenkarte). Übersicht. Die Vorlesung besteht aus 3 Blöcken räumliche Datenbanken Zugriffsstrukturen zur Unterstützung der Suche Transaktionen (Sicherheit) Softwaretechnologie (Dr. Gröger)

long
Télécharger la présentation

Geoinformation III

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)

  2. Übersicht Die Vorlesung besteht aus 3 Blöcken • räumliche Datenbanken • Zugriffsstrukturen zur Unterstützung der Suche • Transaktionen (Sicherheit) • Softwaretechnologie • (Dr. Gröger) • Internet: Protokolle, Dienste und Formate • Dr. Kolbe • Form: Vorlesung mit Übungsanteilen • Klausur: 1 Doppelseite A4 aus der eigenen Feder pro Block Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  3. Problemstellung • allgemein • gegeben ist eine räumliche Datenbank und eine Klasse typischer Anfragen • wie strukturiere ich meine Daten so, dass ich diese Anfragen möglichst effizient beantworten kann • konkret • gegeben ist eine Landkarte • Frage: in welcher Masche liegt ein gegebener Punkt Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  4. Ü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) Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  5. Punktsuche in Landkarten y Außen Landkarte S mit n Kanten q In welcher Masche liegt q? x Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  6. Naives Verfahren: Test für jede Masche iterieren Aufwand: mindestens O(n) für die Suche nach einem Punkt in einem Polygon mit n Kanten bei m Polygonen: O(m * n) Wie geht es schneller? genauer: Welcher „Index“ unterstützt die schnelle Antwort auf die Frage: „In welcher Masche einer Landkarte liegt der Punkt q?“ Vorgehen I (naiv) Anzahl der Schnittpunkte • gerade: außerhalb • ungerade: innerhalb Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  7. y x Vorgehen II (etwas besser) Außen • Aufteilung der Landkarte durch • vertikale Linien • Konstruktion einer Karte S‘ q Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  8. 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 y Außen q x Eigenschaften der Zerlegung I Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  9. y x Eigenschaften der Zerlegung II Außen Jeder Abschnitt eines Streifens liegt in genau einer Masche Jede Kante lässt sich einer in y-Richtung folgenden Masche zuordnen q Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  10. y x Eigenschaften der Zerlegung III Außen Jeder Abschnitt eines Streifens liegt in genau einer Masche Jede Kante lässt sich einer in y-Richtung folgenden Masche zuordnen q Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  11. Vorgehen I y Außen • Aufteilung der Landkarte • vertikale Linien • Konstruktion einer Karte S‘ Sortierte Speicherung der x-Koordinaten der Vertikalen in einem Array q Sortierte Speicherung der Kanten jedes Streifens in einem Array x Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  12. 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 Algorithmus punktsuche y q x Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  13. Algorithmus punktsuche Algorithmus punktsuche { binäre Suche des Streifens, der q enthält, im Array der x-Koordinaten y binäre Suche, wie q zu den Kanten(Segmenten) liegt q falls ein Segment direkt unterhalb q gefunden wird, ist die gesuchte Masche gefunden} x Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  14. 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 beide Fälle unsers Algorithmus anwendbar ist. Nutze zum Vergleich der Segmente eine „Scan-Line“ durch den Punkt q. Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  15. Algorithmus punktsuche { binäre Suche des Streifens der q enthält im Array der x-Koordinaten binäre Suche, wie q zu den Kanten(Segmenten) liegt Komplexität der Suche Gegeben ist eine Landkarte mit n Kanten. Binäre Suche in einem Array mit maximaler Länge 2n: O(log n) Gesamtkomplexität: O(log n) Binäre Suche in einem Array mit maximaler Länge n: O(log n) falls ein Segment direkt unterhalb q gefunden wird, ist die gesuchte Masche gefunden } Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  16. Speicheranforderung • Aufteilung der Landkarte • durch vertikale Linien • Konstruktion einer Karte S‘ Sortierte Speicherung der x-Koordinaten der Vertikalen in einem Array Array der x-Koordianten benötigt O(n) Gesamtkomplexität: O(n²) Sortierte Speicherung der Kanten jedes Streifens in einem Array Array jedes Streifens benötigt O(n) Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

  17. Speicheranforderung (Beispiel worst-case) Lutz Plümer - Geoinformation III - WS 01/02 - Vorlesung 1 - 22.10.01

More Related