Räumliche Indexstrukturen Gero Kraus Hochschule für Technik, Wirtschaft und Kultur Leipzig 03. Juli 2015 Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 1 / 13 Einleitung Geoinformationssystem Gespeichert: Geometrische Objekte Punkte Linien Linienzüge Polygone =⇒ Annäherung durch minimale umgebende Rechtecke Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 2 / 13 Einleitung Anforderungen an Indexierung Effiziente Beantwortung räumlicher Anfragen Punktanfragen Fensteranfragen Abstandsanfragen Abbildung: Punktanfragen, Fensteranfragen Weiterhin: Möglichkeit des dynamischen Einfügen, Löschen, Verändern gute Speicherplatzausnutzung Robustheit gegenüber Ungleichverteilung der Geoobjekte Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 3 / 13 Grundtechniken Clipping Clipping Zerlegung in Blockregionen Zuweisung der Geoobjekte zu jeder Region, die sie schneiden Nachteil Duplikate Vorteil Erhaltung der räumlichen Ordnung Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 4 / 13 Grundtechniken Clipping Überlappende Blockregionen Überlappung von Blockregionen möglich Verhindert willkürliches Zerschneiden von Geoobjekten Vertreter: R-Baum Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 5 / 13 Grundtechniken Clipping Punkttransformation Überführung n-dimensionaler Rechtecke in 2n-dimensionale Punkte Eckentranformation Mittentransformation Nachteil Verlust räumlicher Ordnung Vorteil Indexstrukturen für Punkte können verwendet werden Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 6 / 13 Grundtechniken Clipping Z-Ordnung Teilung des Raumes in Zellen Fraktale Kurve bestimmt lineare Ordnung Durchnummerierung der Zellen anhand der Kurve Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 7 / 13 Datenstrukturen Quadtrees PR-Quadtrees Zellen werden so lange in 4 Teilzellen geteilt, bis in jeder Zelle nur noch ein Punkt Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 8 / 13 Datenstrukturen Quadtrees PR-Quadtrees Zellen werden so lange in 4 Teilzellen geteilt, bis in jeder Zelle nur noch ein Punkt Problem: Speichert nur einen Punkt pro Zelle, nicht geeignet für Indexstruktur Innere Knoten halten nur 4 Verweise Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 8 / 13 Datenstrukturen Quadtrees Lösung: Linearer Quadtree Erhöhung der maximalen Kapazität pro Zelle Verwaltung der Datenknoten des Quadtrees über B + -Baum Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 9 / 13 Datenstrukturen R-Bäume R-Baum Überlappende Blockregionen Balancierter Baum Duplikatfrei Blattknoten besitzen gleichen Abstand zur Wurzel Verzeichnis- und Datenknoten Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 10 / 13 Datenstrukturen R-Bäume Suche R-Baum Rekursives durchgehen der Knoten, die Anfrageobjekt schneiden Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 11 / 13 Datenstrukturen R-Bäume Einfügen R-Baum Bestimmung des Eintrags, in dessen Datenknoten/Teilbaum neues Geoobjekt eingefügt werden soll. 3 Varianten: 1 2 3 Geoobjekt liegt innerhalb einer Blockregion Geoobjekt liegt innerhalb mehrerer Blockregionen =⇒ Wahl der Region mit geringster Fläche Geoobjekt in keiner der Blockregionen komplett enthalten =⇒ Wahl der Region mit geringstem Flächenzuwachs Falls Überlauf: Split Welcher der Einträge soll welchem der beiden Knoten zugeordnet werden? (Heuristik) 1 2 Linearer Split Quadratischer Split Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 12 / 13 Datenstrukturen R-Bäume Varianten R* - Verbesserung des R-Baums Minimierung der Überlappung zwischen Blockregionen Minimierung der Fläche der Blockregionen Blockregionen annähernd quadratisch Minimierung der Speicherplatzausnutzung R + -Baum Statt überlappender Indexstruktur Clipping Hilbert-R-Baum Mischung aus R- und B + -Baum Gero Kraus (HTWK) Räumliche Indexstrukturen 03. Juli 2015 13 / 13