Themenvorschlag für eine Abschlussarbeit

Prof. Dr. Jörg Roth


Konzeption und Realisierung eines Geospatial Add-Ons für SQL

Bei der Speicherung und effizienten Abfrage von räumlichen Daten stoßen klassische relationale Datenbanken an ihre Grenzen. Insbesondere lassen sich Geometrien nur unzureichend auf die Struktur relationaler Datenbanken abbilden. Als Lösung werden objektrelationale Datenbanken vorgeschlagen, die zusätzlich neben den klassischen Tabellen auch Geometrien unterstützen.
Für räumliche objektrelationale Datenbanken gibt es noch keine ausreichende Standardisierung, obwohl verschiedene Vorschläge existieren. Für einige Datenbanksysteme gibt es darüber hinaus entsprechende Erweiterungen (z.B. mySQL Spatial Extension). Allerdings unterscheiden sich die Erweiterungen noch in Bezug auf Funktionsumfang und Ausdrucksfähigkeiten.
Spatial DB Architectures
Als Alternative kann man die räumlichen Funktionen aus dem Datenbanksystem herausnehmen und über ein "Geospatial Add-on" abwickeln. Diese Vorgehensweise hat folgende Vorteile:
  • Als Schnittstelle zur Datenbank kann das standardisierte SQL verwendet werden und man kann weiterhin etablierte Software-Schnittstellen wie ODBC und JDBC einsetzen.
  • Man ist bei der Entwicklung neuer räumlicher Funktionen nicht darauf angewiesen, dass diese in das Datenbanksystem integriert werden, sondern kann sie selbst im Add-on hinterlegen.
In dieser Arbeit soll ein Geospatial Add-on entwickelt werden. Ein Geospatial Add-on sollte folgende Funktionen bereitstellen:
  • Anlegen von Geometrien: punktförmig, linienförmig (insb. Multilines), polygonal (insb. Multipolygone mit Löchern);
  • Verknüpfen von Geometrien mit Datenzeilen;
  • Anlegen von räumlichen Indizes;
  • Effiziente Suchfunktionen auf Geometrien unter Verwendung der räumlichen Indizes;
  • Cachen von Zwischenergebnissen zur effizienten Abarbeiten von räumlichen Suchfunktionen.
Folgende Punkte sollen im Rahmen der Arbeit bearbeitet werden:
  • Definition einer geeigneten Programmierschnittstelle;
  • Konzeption des Add-ons;
  • Realisierung des Add-ons in Java unter Verwendung von JDBC;
  • Bewertung des Resultats, Vergleich des Ansatz mit existierenden Ansätzen, Aufzeigen von Grenzen, Identifikation möglicher Erweiterungen.