- Überblick -.

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Der R-Baum Richard Göbel.
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Der k-d-Baum Richard Göbel.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Der B-Baum Richard Göbel.
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Indexed Sequential Access Method
Sortierverfahren Richard Göbel.
FH-Hof Grundlagen mehrdimensionaler Suchstrukturen Richard Göbel.
Der R-Baum Richard Göbel.
Effizienz: Indexstrukturen
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 - Bäume: Durchlaufreihenfolgen, Analyse nat. Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (15 Hashverfahren: Verkettung der Überläufer) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Geoinformation II Vorlesung
R-tree, R*-tree und R+-tree
Geoinformation III Vorlesung 3 Quadtrees.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach.
FH-Hof Analyse des R-Baums - Teil 1 Richard Göbel.
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Splay Trees Von Projdakov Benjamin.
2. Die rekursive Datenstruktur Baum 2
Einführung in die Programmierung
Effiziente Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 10 SS 2000 Quadtrees.
Geoinformation II Vorlesung 4 SS 2001 Voronoi-Diagramme.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen
Effiziente Algorithmen
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
SWE1 / Übung 10 ( ) Rekursion Binärbäume.
Alexander ZapletalObject Space 1 /15 Object Space von Alexander Zapletal.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Algorithmen und Datenstrukturen 1 SS 2002
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung April 2000 AVL-Bäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 4 WS 01/02 Quadtrees.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Voronoi-Diagramme.
Binärer Baum, Binärer Suchbaum I
Geoinformation II 6. Sem. Vorlesung April 2000 Geometrische Algorithmen - ein einführendes, größeres Beispiel für ein Semester-begleitendes Programmier.
Raumbezogene Zugriffsverfahren
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung 4 4. Mai 2000 Voronoi-Diagramm.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Binärbäume.
Spatial Partition Game Programming Patterns / Optimization Patterns AM3: Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Dozent: Prof.
Aufgabe 1. Herausforderungen I Persistente Datenspeicherung: Möchte man jeden Morgen alle Käufe und Verkäufe neu zusammensuchen? Sehr große Datenmengen:
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS.
Seminar im Fach Geoinformation IV
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

- Überblick -

System zum Umgang mit erd-/ raumbezogenen Daten Motivation GIS G - IS Geo Informationssystem erdbezogen raumbezogen System zum ‚Handling‘ von Informationen = Daten System zum Umgang mit erd-/ raumbezogenen Daten

Basis: raumbezogene / erdbezogene Daten Motivation Informationssystem Erfassung Speicherung Verarbeitung Visualisierung Aktualisierung dauerhaft platzsparend strukturiert für primären und sekundären Speicher range queries nearest neighbourhood queries statistische Analysen Einfügen Ändern Löschen Basis: raumbezogene / erdbezogene Daten

Motivation raumbezogene / erdbezogene Daten: unregelmäßig umfangreich dynamisch Beispiel Höhendaten: unregelmäßig und umfangreich Beispiel Grenzverhältnisse dynamisch und umfangreich Anmerkung: Die Eigenschaften hängen natürlich von dem Maßstab ab, in dem sie betrachtet werden...

Motivation Beispiel Verknüpfung der Telefonnummern aller Einwohner einer Stadt mit den Standorten der Anschlüsse... Müller 5123122 Meier 4564123 Becker 54112 Schäfer 378122 ... „Suche in einem Stadtviertel alle Telefonnummern beginnend mit 5 und endend mit 3.“ Dauert mit einem Telefonbuch und einem Stadtplan mehrere Tage... 

Motivation Folgerungen Für das Handling von Geo-Daten mit den Zielsetzungen eines GIS sind Verfahren notwendig, die 1. den Zugriff auf die Daten und generell die Speicherung der Daten in den verschiedenen Speichern erlauben, und 2. diese Aufgaben schnell und effizient ausführen, um die Interaktivität zu gewährleisten. Respektive... Es gilt auch eine Lösung für die effiziente Speicherung von mehrdimensionalen Daten im eindimensionalen Speicher zu finden, da dies immensen Einfluss auf die Funktionalität eines GIS hat...

Raumbezogene Zugriffsverfahren Zielsetzungen Unterstützung schnellen Zugriffs auf raumbezogene Daten, sowie effiziente Speicherung dieser für z.B. ... range queries „Finde alle gespeicherten Objekte, die in den definierten Suchbereich passen“ nearest neighbourhood queries „Finde die Objekte mit der minimalen Entfernung zu dem gegebenen Punkt“ raumbezogene Analysen/ Operationen z.B. map overlay + =

Raumbezogene Zugriffsverfahren Aus diesen Überlegungen resultieren einige Notwendige Eigenschaften „Spatial Indexing“ Strukturierung der Daten mittels bestimmter Kriterien Vermeidung des Zugriffs auf jedes einzelne Element der immensen Datenmengen bei den verschiedenen Datenbankanfragen (queries), um die geforderte Interaktivität zu gewährleisten. Zzzzz..Zzzzz..Zzzz... sonst...

Raumbezogene Zugriffsverfahren Notwendige Eigenschaften „Clustering“ Aufteilung der Daten gemäß ihrer Nutzungshäufigkeit und/oder Nachbarschaftsverhältnisse  Lage der Daten im Speicher ähnelt der ‚Lage‘ in der Realität Vermeidung der unkontrollierten und unsortierten, „wilden“ Speicherung, da die Daten aufgrund des Umfanges auch im langsamen Sekundärspeicher gespeichert werden müssen Veranschaulichung: 10.000.000 Zugriffe... Dauer: 10 s Dauer: 0,01 s Primärspeicher Sekundärspeicher

Raumbezogene Zugriffsverfahren Platz und Zeit sind knappe Güter

Exkurs / Wiederholung: Bäume Auffrischung des Inhalts von Diskrete Mathematik II... Freier Baum Graph ohne Zyklen mit nur einer Komponente Baum - Tree Freier Baum, von dem ein Knoten als Wurzel ausgezeichnet ist Binärbaum Baum, dessen Knoten maximal 2 Nachfolger haben ausgeglichen, falls sich in jedem Knoten die Anzahl der Knoten im linken und rechten Teilbaum um höchstens 1 unterscheiden

Exkurs / Wiederholung: Bäume Suchbaum – Trie (von engl. reTRIEval) Jeder Knoten wird mit einem Schlüssel belegt, in der Weise, daß der linke Nachfolger und dessen Nachfolgeknoten kleinere Schlüssel, und der rechte Nachfolgeknoten mit allen Nachfolgeknoten größere Schlüssel haben. Wurzel 9 4 2 7 17 13 23 Innerer Knoten äußerer Knoten/ Blatt

Zugriffsverfahren kd – Tree Speicherung von k-dimensionalen Punktobjekten (hier beispielhaft zwei Dimensionen) Die gesamte Region wird durch die Wurzel referenziert Jeder innere Knoten enthält einen Punkt und referenziert eine rechteckige Region, die wiederrum in zwei rechteckige Regionen unterteilt wird. Auf geraden Höhen des Baumes geschieht dies durch die y-Koordinate; auf Ungeraden durch die x-Koordinate

Zugriffsverfahren kd – Tree Jeder neue Punkt führt zu einem neuen inneren Knoten Operation ‚Einfügen‘ sehr simpel, dafür führen ‚Löschen‘ und ‚Ändern‘ zu großen Problemen Die Struktur des Baumes ist in hohem Maße von der Reihenfolge des Einfügens der Punkte abhängig Baum ist unausgeglichen... im ‚worst case‘: pro Punkt eine neue Ebene!

Zugriffsverfahren adaptive kd – Tree Wahl der Punkte, die ein Gebiet referenzieren, nicht mehr auf gegebene Punktmenge beschränkt Erzeugung von gleiche Punktmengen enthaltender Regionen  Baum ist ausgeglichen Neues Problem: dynamisches Handling und gleichzeitige Ausgleichung des Baumes sehr schwierig Leistungsfähigkeit (bei 2 Dimensionen) build time: O( n log(n) ) range query: O( sqrt(n) + Anzahl gefundener Punkte)

Zugriffsverfahren kdB – Tree Kombination aus kD – Tree und B – Tree Ziele... Effizienz für Ein-/Ausgabe bestimmt durch B – Tree Effizienz für mehrdimensionale Suchanfragen bestimmt duch kD – Tree Interne Knoten enthalten mehr als ein Datenobjekt; der maximale Wert wird durch die ‚bucket-size‘ bestimmt ‚bucket-size‘ – Größenangabe, die angibt, wie viele Datenobjekte maximal in eine ‚page‘ (=Seite) des Speichers passen  Minimierung der Anzahl der Speicherzugriffe, sowie Geschwindigkeitsvorteil Ständige Ausbalancierung des Baumes Problem: ungeeignet für räumlich ausgedehnte Objekte  GIS

Zugriffsverfahren A B C D1 D2 BSP – Tree (Binary Space Partitioning Tree) Nutzung von Liniensegmenten von Polylinien und deren Ecken zur rekursiven Unterteilung des Raumes (nicht rechteckig) A A B D C links rechts D1 B C D2 D1 D2 Gut geeignet für raumbezogene Operationen, jedoch nur für beziehungslose Liniensegmente  für GIS noch Erweiterung nötig...

Zugriffsverfahren R D D R multi object BSP – Tree Erweiterung der BSP – Tree struktur  Speicherung der zu einem Objekt gehörigen Liniensegmenten mit explizieter Referenzierung in den Blättern R D R D Problem: Objekte sind über mehrere Äste verteilt Vorteil: effiziente raumbezogene Operationen möglich

Zugriffsverfahren Point Quadtree Unterteilung des Datenraums (Punktraums) in Quadranten mit den vorhandenen Punkten als Zentrum Jeder Knoten hat vier Nachfolger (NW,NO,SW,SO) und enthält selber die Punktkoordinaten des Zentrums, sowie evtl. weitere Informationen NW NO SW SO

Zugriffsverfahren Point Quadtree Baumstruktur ist von der Reihenfolge des Einfügens der Punkte abhängig … nicht eindeutig Entstehung von unausgeglichenen Bäumen – ‘worst case’ … nur ein Ast Operation Einfügen ist trivial; Operationen Ändern und Löschen können jedoch die Struktur des Baumes radikal verändern  ungeeignet für dynamische Daten, jedoch geeignet z.B. für die Speicherung von Rasterdaten Leistungsfähigkeit: build time: O( n log(n) ) point query: O( log(n) )

Zugriffsverfahren Region Quadtree Speicherung einer Rasterapproximation eines Polygons Rekursive Unterteilung des relevanten Bereichs in Quadrate, bis jedes einzelne Quadrat entweder komplett innerhalb oder ausserhalb liegt, oder die maxiamle Auflösung erreicht wurde Problem: nur näherungsweise / Approximation Prinzip für das Speichern von Rasterinformationen geeignet...

Zugriffsverfahren Fixed Grid Unterteilung des Raumes in gleich große Zellen (regelmäßiges Raster) Alle Punkte, die in einer Zelle liegen, werden gemeinsam im Speicher abgelegt  gute Performance für range queries großer Nachteil: es wird auch Speicherplatz für leere Zellen verbraucht Ferner: Das fixed Grid ist unsensibel gegenüber unregelmäßigen Datenverteilungen

Zugriffsverfahren x y C B A Grid File Erweiterung des fixed grid Basisidee: Zuordnung der Datenblöcke zu den physikalischen Speichereinheiten (buckets) des Speichermediums Durch Einführung des ‚grid-directory‘ wird die Unterteilung abhängig von der Punktverteilung realisiert v.a. geeignet für dynamische Daten, da Einfügen und Löschen, sowie Verändern sehr einfach sind... x y Grid directory C B A

Zugriffsverfahren R - Tree Gruppierung der Objekte in einer hierarchischen Struktur auf Grundlage ihrer Lage Verwendung der sog. ‚bounding boxes‘ zur Gruppierung – minimale umschließende Rechtecke (MBR‘s) Inhalt der Blätter: Zeiger auf die kompletten Objekte, sowie Angabe des MBR‘s Inhalt der internen Knoten: Zeiger auf den Nachfolger und Angabe dessen MBR‘s ‚branching factor‘: maximale Anzahl der Einträge pro Knoten; abhängig von der ‚page size‘ ...  Performancesteigerung Vorteil: Objekte werden komplett referenziert und nicht auseinandergenommen

Zugriffsverfahren branching factor 4 A B A B C C R - Tree E D G F H K J I A B C D E F G H I J K C

Zusammenfassung Verfahren Vorteile Nachteile Geeignet für kd - Tree Einfache Struktur Nicht eindeutig, Unausgeglichen Statische Punktmenge adaptive kd - Tree Schnelle Suche Komplexe Struktur mäßig dynamische Punktmengen kdB - Tree Speicherorientiert, schnell, dynamisch Nicht für räumliche Objekte geeignet Dynamische Punktmengen Datentauglichkeit: Rasterdaten Punktdaten Objektdaten

Zusammenfassung Verfahren Vorteile Nachteile Geeignet für BSP – Tree Gutes Handling raumbezogener Operationen Nur für beziehungslose Liniensegmente Beziehungslose Raumdaten Multi object BSP Tree Effiziente raumbezogene Operationen Objekte verteilen sich über mehrere Äste - Komplexität GIS Datentauglichkeit: Rasterdaten Punktdaten Objektdaten

Zusammenfassung Verfahren Vorteile Nachteile Geeignet für Point Quadtree Einfache Struktur Nicht eindeutig, unausgeglichen, nicht dynamisch Statische Rasterdaten Region Quadtree Einfache Approximation von ‚ausgedehnten‘ Objekten nur näherungsweise Beschreibung statische Rasterdaten Fixed Grid Einfache Struktur, intelligente Speichernutzung speicherintensiv gleichmäßig verteilte Punktdaten Grid File Dynamisches Datenhandling sehr einfach, einfache Struktur, intelligente Speichernutzung primär für Punktdaten vorgesehen dynamische, mehr-dimensionale Punktdaten Rasterdaten Punktdaten Objektdaten

Zusammenfassung Verfahren Vorteile Nachteile Geeignet für R – Tree komplette Objektreferenzierung Intelligente Speichernutzung Ausgeglichenheit abhängig von Einfügereihenfolge GIS Rasterdaten Punktdaten Objektdaten