Räumliche Indexstrukturen

Werbung
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
Herunterladen