Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Konzeption und Implementierung eines Verfahrens für effiziente, nicht präzise Datenbankabfragen im Kontext eines skizzenbasierten GIS

Konzeption und Implementierung eines Verfahrens für effiziente, nicht präzise Datenbankabfragen im Kontext eines skizzenbasierten GIS
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Frank Dangelmayer
  • Abgabedatum: Juli 2004
  • Umfang: 99 Seiten
  • Dateigröße: 1,7 MB
  • Note: 1,0
  • Institution / Hochschule: Fachhochschule Ravensburg-Weingarten Deutschland
  • ISBN (eBook): 978-3-8324-4071-8
  • ISBN (Paperback) :
    978-3-8324-4071-8 P
  • ISBN (CD) :978-3-8324-4071-8 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Dangelmayer, Frank Juli 2004: Konzeption und Implementierung eines Verfahrens für effiziente, nicht präzise Datenbankabfragen im Kontext eines skizzenbasierten GIS, Hamburg: Diplomica Verlag
  • Schlagworte: R-Baum, Spatial Join, Oracle Spatial, Topologie, Softwareentwurf

Diplomarbeit von Frank Dangelmayer

Einleitung:

Anfragen an eine geographische Datenbank müssen häufig in Textform wie z.B. in SQL formuliert werden. Räumliche Gegebenheiten lassen sich jedoch nur schwer auf diese Weise beschreiben. Diese können durch visuelle Spezifikationen leichter beschrieben werden. Dennoch fand die Generierung von Anfragen aus Skizzen bisher wenig Beachtung.

Diese Arbeit beschäftigt sich mit der Konzeption und Umsetzung eines Systems zur Generierung von Anfragen an geographische Datenbanken aus analysierten Skizzen. Eine Skizze besteht dabei aus mehreren geographischen Objekten (z.B. Häuser, Bushaltestellen, Straßen, etc.), zwischen welchen verschiedene Beziehungen existieren (z.B. Haus ist 50 Meter entfernt von einer Straße). Nach dieser Objektanordnung wird in einer geographischen Datenbank gesucht.

Um die Anfrage effizient ausführen zu können, sind spezielle räumliche Indexstrukturen und Suchalgorithmen erforderlich. Oracle Spatial ist ein im Rahmen dieser Arbeit untersuchtes Datenbankschema, welches räumliche Objekte abspeichert und Anfragen mit Hilfe von R-Bäumen beantworten kann. Das System und die neu entwickelten Verfahren bauen auf einer solchen Datenbank auf.

Das in dieser Arbeit entwickelte System erhält die analysierten Skizzen-Daten von einem Programm mit dem Namen SketchQuery. Aus diesen Daten wird die Anfrage an eine Oracle Spatial-Datenbank generiert. Anschließend findet eine Bewertung der Ergebnisse bezügliche ihrer Ähnlichkeit zur Skizze statt. Dabei wird auf die geometrische Ähnlichkeit z.B. von Straßenverläufen verglichen. Nach der Ermittlung der Abweichungen von der Skizze erfolgt eine Aufbereitung der Ergebnisse zur Darstellung und eine Zurückgabe an SketchQuery.

Insgesamt wurden vier Module entworfen und umgesetzt. Zwei Module zur Entgegennahme/Zurückgabe der Daten von/zu SketchQurey. Ein Modul zur Generierung und Ausführung der Datenbankanfrage und ein Modul zur Berechnung der Abweichungen von der Skizze.

Inhaltsverzeichnis:

1. Einleitung 1
1.1 Motivation 1
1.2 Problemstellung 4
1.3 Übersicht 4
2. Grundlagen 5
2.1 Geographische Informationssysteme 5
2.1.1 GIS-Datenbanken 5
2.1.2 Anfragen an Geoinformationssysteme 6
2.1.3 Datenbankmanagementsysteme für räumliche Daten 8
2.2 Oracle Spatial 9
2.2.1 Räumliche Objekte 9
2.2.2 Abfragen 10
2.2.3 Spatial Joins 11
2.2.4 Funktionen 13
2.2.5 Bewertung 15
2.3 SketchQuery - Ein Programm für skizzenbasierte GIS-Anfragen 19
2.3.1 Übersicht 19
2.3.2 Skizzen in SketchQuery 20
2.3.3 Benutzerschnittstelle 22
2.3.4 Schnittstelle für Datenbankabfragen 24
3. Räumliche Datenstrukturen und Algorithmen 25
3.1 Indexstrukturen zur Verwaltung räumlicher Objekte 25
3.1.1 Grid File 26
3.1.2 QuadTree 27
3.1.3 R-Baum 29
3.1.4 R+-Baum 32
3.1.5 R*-Baum 33
3.1.6 Bewertung 34
3.2 Spatial Join-Algorithmen beim R-Baum 36
3.2.1 Algorithmen ohne Indexstrukturen 36
3.2.2 Index nested loops join 37
3.2.3 Paralleles Durchlaufen zweier R-Bäume 37
3.2.4 Distance Join-Algorithmus 39
3.2.5 Seeded Tree 40
3.2.6 Zusammenfassung und Bewertung 41
3.3 Einsatz in Oracle Spatial 42
4. Entwurf 43
4.1 Stand der Technik 43
4.2 Anforderungen 44
4.2.1 Verschiedene Anfrageformen 44
4.2.2 Fehlerbewertung 44
4.2.3 Effizienz 45
4.3 Architektur 46
4.4 Module des Systems 48
4.4.1 Übernahme der Daten von SketchQuery 48
4.4.2 Umwandlung und Ausführung der Anfrage 48
4.4.3 Abweichungen von der Eingabe-Skizze 49
4.4.4 Darstellung der Ergebnisse 50
4.5 Ablauf 52
5. Implementierung 53
5.1 Rahmenbedingungen 53
5.1.1 Datensätze für die Erprobung des Verfahrens 53
5.2 Übernahme der Daten von SketchQuery 55
5.3 Umwandlung und Ausführung der Anfrage 58
5.3.1 Ablauf 58
5.3.2 Datenmodell für die Ergebnisse 60
5.3.3 Klasse für die Datenbankanbindung 61
5.3.4 Reihenfolge der Spatial Joins 62
5.3.5 Konfigurationsdatei 63
5.4 Abweichungen von der Eingabe-Skizze 64
5.4.1 Ermittlung der geometrischen Ähnlichkeit 66
5.5 Darstellung der Ergebnisse 68
5.6 Erweiterbarkeit 70
6. Bewertung und Ausblick 72
6.1 Ergebnisse 72
6.2 Bewertung 73
6.3 Ausblick 76
6.3.1 Kommunikation mit SketchQuery 76
6.3.2 Einsatz eigener Indexstrukturen und Join-Algorithmen 76
6.3.3 Indexstrukturen für die Fourier-Koeffizienten 78
7. Zusammenfassung 79
Anhang A - Algorithmus zur Fourier-basierten Ähnlichkeitssuche 80
Index 84
Abbildungsverzeichnis 85
Literaturverzeichnis 87

Automatisiert erstellter Textauszug:

Skizzen werden angefertigt, um mit sich selbst oder mit anderen zu kommunizieren. Häufig werden in Skizzen Karten gezeichnet [Tve02]. Solche Skizzen können mit einer Sprache verglichen werden. Sie bestehen aus mehreren Elementen (Objekte bzw. Worte), welche abhängig von ihrer Anordnung verschiedene Interpretationen zulassen. Architekten benutzen Skizzen, um aus einer kleinen Menge von Objekten große, komplexe Strukturen aufzubauen. In SketchQuery besteht eine Skizze aus einer Mengen von Linien und Punkten. Dabei werden mehrere Linien zu Objekten gruppiert. Häuser, Bäume und Straßen sind Beispiele für solche Objekte. Neben der Erkennung der Objekte, werden auch die topologischen Beziehungen der Objekte untereinander erkannt. Der Benutzer kann außer den Skizzenelementen, welche geographische Objekte repräsentieren, auch Meta-Informationen in der Skizze unterbringen. In SketchQuery gibt es zwei Arten von Metainformationen: • • Handschrift Richtungs-/Entfernungsangaben [...]

Grundlagen also zusätzlich neben den drei oben erwähnten Topologien noch eine weitere Beziehung berücksichtigt werden, in welcher die beiden Bäume 112 Meter voneinander entfernt sind. In einer Skizze kann auch eine Himmelsrichtung vorgegeben werden. Nach dieser Himmelsrichtung richtet sich die Anordnung der Objekte. Auch diese kann nicht direkt in die Abfrage eingebaut werden und muss für jeden gefundenen Ergebnis-Datensatz einzeln berechnet und überprüft werden. Dies ist etwas aufwendiger. Eine Bewertung der Algorithmen, welche Spatial für die Suche nach topologischen Beziehungen verwendet, findet sich in Kapitel 3.3. Sehr gut lässt sich mit Spatial nach anderen Beziehungen suchen, die nicht auf Entfernungen oder der „ in der Nähe von“ -Beziehung basieren. Es kann z.B. nach Überschneidungen der Objektgrenzen oder Enthaltensein gesucht werden. Die von Spatial unterstützten Beziehungen wurden in Abbildung 2.3 dargestellt. Auch dafür gibt es praktische Abfragen wie beispielsweise die Suche nach Gebäuden, welche sich in einem Wald befinden oder die Suche nach Straßen, die sich mit Flüssen kreuzen. In einer Skizze kann die Bezeichnung eines Objekts, wie z.B. der Name einer Straße vorgegeben werden. Da ein Datensatz immer aus den thematischen Daten und den dazugehörigen Koordinaten besteht, können solche Objekte problemlos in der Datenbank identifiziert werden. Da bei einer vorgegeben Entfernung von z.B. 100 Metern, i.d.R. keine Objektpaare gefunden werden, deren Abstand exakt 100 Meter beträgt, muss in den Abfragen eine Toleranz verwendet werden. Dadurch gibt es Ergebnisse mit unterschiedlicher Qualität. Um die Genauigkeit eines gefundenen Ergebnisses bewerten zu können muss u.a. die Entfernung zweier Objekt ermittelt werden. Des Weiteren kann es für die Darstellung, oder für weitere Berechungen wichtig sein, wo sich der Mittelpunkt eines Objekts befindet, oder welche Fläche ein Objekt beinhaltet. Diese Aufgaben lassen sich alle durch die in Abschnitt 2.2.4 erwähnten Funktion erledigen, wodurch keine zusätzliche Implementierung dieser Berechungsfunktionen erforderlich ist. Die Vorteile und Probleme von Spatial für die Beantwortung skizzenbasierter Anfragen werden in Tabelle 2.1 zusammengefasst. Insgesamt lässt sich feststellen, dass Spatial für die in dieser Arbeit geforderten Anfragen gut geeignet ist. Die Effizienz könnte in einigen Fällen zwar noch gesteigert werden, ist aber trotzdem zufrieden stellend und kann deshalb im Rahmen dieser Arbeit berücksichtigt werden. Eine eigene, zeitaufwendige Implementierung der Algorithmen zur Anfrage-Beantwortung ist deshalb nicht erforderlich. [...]

In Spatial kann die gesamte Anfrage nicht auf einmal ausgeführt werden. Sie muss deshalb in mehrere Teilabfragen zerlegt werden. Da davon ausgegangen wird, dass für jede Objektart (Parkplätze, Bäume, Gebäude oder Bahnhöfe) eine eigene Tabelle existiert, muss nur noch nach den topologischen Beziehungen dieser Objekte gesucht werden. Es bietet sich in Spatial an, für jede Topologie eine Abfrage auszuführen. Das Ergebnis dieser Abfrage wird in einer Tabelle zwischengespeichert und für die folgenden Topologien weiterverwendet. Wird z.B. nach der Beziehung „ Parkplatz neben Bahnhof“ gesucht, dann wird mit Hilfe des SDO_JOIN-Operators eine Tabelle erzeugt, die Paare von Parkplätzen und Bahnhöfen enthält, für welche diese Beziehung erfüllt ist. Aus dieser Tabelle und der Tabelle mit den Bäumen wird eine weitere Tabelle erzeugt, in der die zweite Topologie erfüllt ist, usw. Wie in Abschnitt 2.2.3 erwähnt, kann mit dem SDO_JOIN-Operator nicht in einem Schritt nach Objektpaare mit einer vorgegebenen Entfernung von z.B. 50 Metern gesucht werden. Es müssen also zuerst alle Objektpaare ermittelt werden, deren Abstand kleiner oder gleich 50 Meter ist. Danach müssen im zweiten Schritt die Paare, die zu nahe beieinander liegen entfernt werden. Falls große Entfernungen angegeben werden, liefert der erste Schritt viele Ergebnisse, von denen die meisten im zweiten Schritt wieder entfernt werden müssen. Diese Vorgehensweise, welche nicht umgangen werden kann, wirkt sich dann negativ auf die Performance aus. Auch Winkelbeziehungen, wie sie im Beispiel zwischen den beiden Bäumen und dem Bahnhof bestehen können nicht direkt mit Spatial abgefragt werden. Jedoch lassen sich diese durch eine zusätzliche Entfernungs-Beziehung realisieren: Wenn die Bäume und der Bahnhof wie in der Skizze angeordnet sind, dann ergibt sich aus der Trigonometrie, dass der Abstand zwischen den Bäumen [...]

Arbeit zitieren:
Dangelmayer, Frank Juli 2004: Konzeption und Implementierung eines Verfahrens für effiziente, nicht präzise Datenbankabfragen im Kontext eines skizzenbasierten GIS, Hamburg: Diplomica Verlag

Schlagworte:
R-Baum, Spatial Join, Oracle Spatial, Topologie, Softwareentwurf

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren