Thema2_Ausarbeitung_Zeumann

Werbung
Seminar: mobileGIS
Einführung zu Geodatenbanken
Ralph Zeumann
Betreuer: Dipl.-Inform. Florian Wenzel
Zusammenfassung
Geodatenbanken sind spezielle Datenbank-Konzepte,
die für den Einsatz innerhalb eines sogenannten Geographic Information
System, kurz GIS, entwickelt wurden.
Um ein ezientes Arbeiten mit dem GIS zu ermöglichen, muss die Modellierung einer Geodatenbank durchdacht sein. Da normale Datenbanken
nur in geringem Maÿe zur Speicherung geographischer Daten geeignet
sind, erhärtet sich der Wunsch nach spezialisierten Systemen.
Dem Konzept der Geodatenbanken liegt die Idee zu Grunde, dass geographische Phänomene in speziell dafür entwickelten Datentypen im System
gespeichert werden. Neben diesen angepassten Datentypen, müssen aber
auch die Operationen zur Verwaltung der Daten angepasst werden. Hierzu gehören neben den bekannten Anfragen auch gesonderte Algorithmen,
beispielsweise zur Berechnung der Fläche eines Landes, sowie Strategien
zur Strukturierung der Datensätze.
1
Einführung zu GIS und Geodatenbanken
Geoinformationssysteme, kurz GIS genannt, sind Systeme zur Verwaltung und
Nutzung von geographischen Daten. Die Systeme bestehen hierbei meist aus
einer Eingabe-/Ausgabemaske, einer Logikschicht mit Funktionen, sowie eines
Datenbank-Back-Ends zur Speicherung der Daten. Im Gegensatz zu herkömmlicher Software spielt vor allem die Visualisierung der Daten eine enorme Rolle.
Da ein GIS nur mit einem groÿen Vorrat an geographischen Daten ezient arbeiten kann, müssen die hinterlegten Daten gut organisiert sein. Hieraus resultierend
werden an die Persitenzschicht enorme Ansprüche gestellt, die eine gesonderte
Datenbankform - die sogenannte Geodatenbank - fordern.
Mit Hilfe dieses erweiterten Datenbankmodells ist es möglich, die Funktionalität
eines GIS entscheidend zu verbessern.
2
Nutzer von GIS und Geodatenbanken
Spätestens mit der Veröentlichung von Google Earth hat die allgemeine Bevölkerung einen Einblick in ein Sortiment riesiger Geodatenbanken bekommen. Mit
Hilfe dieser Software lassen sich unter anderem Städte auf der Weltkugel, sowie
damit verknüpfte Daten, anzeigen. Besonders beeindruckend ist hierbei die graphische Datenaufbereitung, die an einen handelsüblichen Globus angelehnt ist.
2
Seminar: mobileGIS
Aber Google Earth ist nicht die einzige Software im Spektrum der GIS.
Der Nutzerkreis dieser (eigentlich speziell für Geographen) entwickelten Systeme ist gröÿer. Angefangen bei Geographen, Stadtplanern, Astrologen, Militäreinrichtungen und Routenplanern, lässt sich die Liste der Nutzer endlos weiterführen.
Im mobilen Zeitalter stellen vor allem Smartphone-User einen nicht unerheblichen Teil an Nutzern dar. Da die meisten Smartphones über eine GPS- und
Internetanbindung verfügen, nutzen viele Besitzer das groÿe Angebot an geographischen Daten um ihren Alltag zu erleichtern. Ersichtlich wird dieses Verhalten beispielsweise bei der Suche nach der nächsten Bushaltestelle, mit Hilfe des
Smartphones.
Eine weitere amüsante Sparte innerhalb der Verwendung geographischer Daten
stellt das Geocaching dar. Bei diesem Spiel/Hobby werden mit Hilfe von GPSDaten Schnitzeljagden weltweit veranstaltet.
3
Datentypen in Geodatenbanken
Bei der Erstellung eines ezienten GIS spielt die zugrunde liegende Datenverwaltung eine erhebliche Rolle. Da Geoinformationssysteme spezialisierte Systeme
sind, sollte die Datenhaltung ebenfalls auf die geographische Daten abgestimmt
sein.
Die gröÿte Abgrenzung von normalen Datenbanken (beispielsweise einer MySqlDatenbank) stellt die Verwendung von gesonderten Datentypen dar. Hierbei werden die gebräuchlichen Datentypen um zusätzliche Strukturen zur Beschreibung
von geographischen Phänomenen erweitert. Im Folgenden wird erläutert, anhand
welcher Kriterien geographische Objekte kategorisiert werden können. Anschlieÿend wird die Modellierung spezieller Datentypen beschrieben.
3.1
Geographische Phänomene
Vor der Modellierung einer Geodatenbank müssen die Geodaten analysiert werden. Um ein geographisches Objekt genau zu beschreiben, lässt sich dieses in
mehrere Aspekte unterteilen.
Hierzu gehört beispielsweise eine Einteilung des Objektes in:
Name des Phänomens
eine erdkundliche Kategorie: z. B. Stadt, Land, Fluss
die Form des Objektes
eine Gröÿe: z. B. Volumenangaben bei der Beschreibung eines unerschlossenen Ölfeldes oder Flächenangaben bei der Beschreibung eines Sees
eine räumliche/örtliche Positionierung des Objektes. Beispielsweise mit Hilfe
von Höhenangaben sowie Längen- und Breitengraden
die Lage des Objektes zu anderen Objekten
Einführung zu Geodatenbanken
3
Neben der Kategorisierung des einzelnen Phänomens, spielt die geographische
Erfassung eine entscheidende Rolle. Die bekannteste Datenerfassung erfolgt mit
Hilfe von Kartenmaterial (Landkarten, Satellitenaufnahmen). Die dadurch erfassten Daten werden Rasterdaten genannt. Bei dieser Methode wird die zugrundeliegende Karte in viele Segmente eingeteilt, ein Objekt wird durch seine
Lage in einem oder mehreren Segmenten beschrieben. Je nach Rastergröÿe lassen sich unterschiedlich genaue Ergebnisse erzielen.
Eine andere Möglichkeit stellt die Verwendung eines Koordinatensystems dar. Je
nach Wahl des Systems (z.B. kartesisches Koordinatensystem, Polarkoordinaten
etc.) lassen sich geographische Objekte auch mit Hilfe einfacher geometrischer
Bezeichnungen beschreiben. So lässt sich eine Stadt auf einer Landkarte, entsprechend des Kartenmaÿstabes, sowohl als Punkt, Kreis oder Polygon bezeichnen.
Aus den beschriebenen Aspekten ist ersichtlich, dass neben bekannten Datentypen, exemplarisch der Datentyp String, ein geographisches Objekt besser durch
angepasste Datentypen beschrieben wird.
3.2
Modellierung von Datentypen
Nach den Überlegungen des vorhergehenden Abschnittes, folgt nun der nächste
Schritt bei der Erstellung einer Geodatenbank: die Modellierung spezieller Datentypen, die zu einer ezienten Nutzung des GIS beitragen.
Diese speziellen Datentypen werden als Abstract Data Type, kurz ADT, sowie
Spatial Data Type, kurz SDT, bezeichnet.
Ein ADT ist eine komplexe Datenstruktur, die vom Softwareentwickler eigens
zur Beschreibung eines gesonderten Sachverhaltes erstellt werden kann. Hierbei beinhalten die ADTs in Bezug auf Geodatenbanken meist SDTs zur exakteren Beschreibung geographischer Phänomene. Mit Hilfe der SDTs, werden neue
Basis-Datentypen, wie beispielsweise Integer, erstellt, um eine einfachere und
anschaulichere Datenverwaltung zu ermöglichen.
Zu diesen SDT-Datentypen gehören:
Point (zu dt. Punkt) zur Beschreibung eines geographischen Punktes. Städte
können dadurch zum Beispiel auf einer Landkarte verzeichnet werden. Ein mögliche Beschreibung des Punktes kann hierbei durch Angabe von GPS-Koordinaten
des Stadtzentrums erfolgen.
Line (zu dt. Linie) zur Beschreibung einer Verbindung zwischen zwei Punkten.
Bei geraden Linien sind die Koordinaten des Start- und Endpunktes ausreichend.
Bei geschwungene/komplexere Linien, müssen weitere Zwischenpunkte angegeben werden. Dieser Datentyp wird zum Beispiel zur Beschreibung eines Flusses
oder einer Straÿe auf einer Karte benötigt.
Region (zu dt. Region) zur Beschreibung eines geographischen Gebiets. Soll
beispielsweise Bayern auf einer Landkarte verzeichnet werden, können, ähnlich
einem Polygon, Punkte zur Beschreibung der Fläche gespeichert werden.
4
Seminar: mobileGIS
Weitere Datentypen Neben diesen einfachen geometrischen Objekten sind auch
komplexere Datentypen denkbar. Exemplarisch sei hier die Beschreibung eines
Gebietes mit Hilfe eines Kreises genannt. Hierbei könnte ein Datentyp RegionCircle zum Einsatz kommen, der aus einem Point mit zugehörigem Kreisradius
besteht.
3.3
Beziehungen zwischen Daten
Neben der Beschreibung eines erdkundlichen Merkmals spielt auch die Einordnung des Phänomens in Bezug auf andere Gegebenheiten eine groÿe Rolle. Unter
diesen Aspekt fällt die Nachbarschaftsbeziehung zu anderen Objekte, die auch
als Topologie bezeichnet wird.
Da die Topologie, zum Beispiel bei der Ortswahl zum Bau eines neuen Sendemastes immens wichtig ist, muss die Geodatenbank ebenfalls geeignete Verfahren zur Berechnung von Lagebeziehungen bereitstellen. Mögliche Fälle werden
in Abschnitt 4.2 erläutert.
4
Arbeitsweise von Geodatenbanken
4.1
Ein/Ausgabe von Daten
Bei Datenbanken werden Daten mit Hilfe einer Query-Sprache in das System
eingepegt. Meist reicht hierzu eine einfach gehaltene Eingabemaske aus, um
die Daten zu verwalten. Die Ausgabe solcher Daten (wie sie zum Beispiel in
einer normalen MySQL-Datenbank zum Einsatz kommen) erfolgt üblicherweise
in Form einer Tabelle.
Bei GIS/Geodatenbanken können je nach Verwendungszweck noch weitere Eingabemöglichkeiten sinnvoll sein.
Nehmen wir exemplarisch an, ein Benutzer möchte Städte und Flüsse auf einer
Landkarte markieren. Hierzu wäre eine graphische Oberäche mit entsprechenden Kartenausschnitt wünschenswert. Der Benutzer klickt auf die gewünschte
Stelle, es erscheint eine Eingabemaske mit Namensfeld. Klickt der User auf Speichern werden automatisch die Koordinaten und der Namen in der Datenbank
gespeichert.
Bei der Speicherung eines Flusslaufes oder einer Region ist es intuitiv, wenn der
User den Flussverlauf oder den Umriss mit gedrückter Maustaste nachfahren
kann.
Jedoch ist nicht nur eine graphische Eingabe, sondern auch eine graphische Ausgabe sinnvoll. Als Anwendungsbeispiel lässt sich eine Sprachenverteilung in Europa beschreiben. Soll beispielsweise visualisiert werden, in welchen Teilen Europas die Deutsche Sprache verbreitet ist, wäre eine Landkarte mit Ausdehnungsgrenze wünschenswert.
Resultierend aus der Forderung nach graphischer Ein- und Ausgabe muss das
GIS entsprechende Funktionen bereitstellen. Die Operationen müssen hierbei
durch das System in datenbankveträgliche Befehle konvertiert werden. Eine Anpassung der Query-Sprache, sowie eine Erweiterung der vorhandenen Algorithmen ist unumgänglich.
Einführung zu Geodatenbanken
4.2
5
Funktionen in Geodatenbanken
Um geographische Daten in einer Datenbank zu verwalten, müssen viele Anpassungen in Bezug auf ein normales Datenbanksystem gemacht werden.
Bevor man sich jedoch mit der Umsetzung innerhalb der Geodatenbank beschäftigt, sollte eine Liste der möglichen Anfragen an das System erstellt werden.
Wichtig sind hierbei geographische Zusammenhänge der einzelnen Datensätze
zueinander. Im folgenden Abschnitt werden die wichtigsten, beziehungsweise am
häugsten benutzten Funktionen beschrieben.
Einfache Anfragen
sind Query-Anfrage wie sie auch in normalen Datenbank-
systemen verwendet werden. Das Schema der Query ist meist wie folgt aufgebaut:
mit Hilfe einer Auswahlklausel werden Daten aus einer Tabelle der Datenbank selektiert, die Daten werden eventuell noch durch Filterklauseln geltert (SELECTFROM-WHERE - Schema).
Funktionen wie Wert-Vergleiche, Max/Min-Bestimmungen und ähnliche Filteroperationen fallen ebenfalls in die Kategorie Einfache Anfragen.
Beispiel wörtlich:
Finde alle Länder mit mehr als zwei Millionen Einwohner
Beispiel in SQL:
SELECT land
FROM
countries
WHERE einwohnerzahl > 2000000;
Spezielle Anfragen
sind Datenbankanfragen die speziell auf geographische
Daten zugeschnitten sind. Neben den Standardanfragen muss es dem User möglich sein, nicht nur einen einzelnen Datensatz alleine zu ltern, sondern auch
Datensätze zu nden die mit anderen Datensätzen in Relation stehen. Hieraus
lassen sich vorerst zwei unterschiedliche Kategorien bilden: die Schnittabfragen
und Einschlussabfragen. Diese Funktionen werden meist bei der Verwendung des
GIS benötigt.
Man stelle sich beispielsweise vor, ein GIS-Nutzer möchte einen rechteckigen
Kartenausschnitt vergröÿern. Die Datenbank muss nun alle Datensätze nden,
die sich im neuen, vergröÿerten Kartenausschnitt benden. In Bezug auf diese
Abfragekategorien spielen folgende Relationen eine Rolle:
Schnitte: Liefere alle Datensätze, die die gegebene Region/Rechteck etc.
schneiden (Gleichheit, Überlappung, Berührung, Einschluss)
Einschlussabfrage: Liefere alle Datensätze, die vom gewählten Datensatz (z.
B. einer Region) eingeschlossen werden, beziehungsweise, die der gewählte
Datensatz selbst einschlieÿt
Da geographische Merkmale meist zusätzlich noch in einer komplexeren Relation
zu einander stehen, muss das System noch weitere Anfragen implementieren. Zu
den erweiterten Anfragen zählen:
6
Seminar: mobileGIS
Entfernungsberechung zwischen zwei Punkten (z.B. Wie weit liegen die Stadtzentren von Augsburg und München auseinander?)
Nachbarschaftsanfrage (z.B. Welche Stadt liegt Augsburg am nächsten?)
Kürzester Weg (z.B. bei der Planung von möglichen Routen einer Zugverbindung mit Dijkstra-Algorithmus)
Längenberechnung (z.B. eines Flusslaufes)
Flächenberechnung (z.B. die Gröÿe Deutschlands)
Flächenschnitt
Beispiel wörtlich
Finde den längsten Fluss!
Beispiel in SQL
SELECT river
FROM
rivers
WHERE MAX(LENGTH(startPoint, endPoint));
Verknüpfte Anfragen
stellen eine Verknüpfung von Abfrage (Kombinationen
der einfachen/speziellen Anfragen) dar. Bei der Bearbeitung der Abfrage spielt
meist die Reihenfolge der verknüpften Teilanfragen eine entscheidende Rolle.
Man stelle sich beispielsweise vor, es sollen alle Länder die von einer Frau regiert
2
werden, sowie eine Fläche gröÿer als 400.000 km besitzen, gefunden werden.
Aus diesem Beispiel geht hervor, dass die Query, je nach Reihenfolge der zu
bearbeitenden Teilabfragen, unterschiedliche lange Rechenzeiten benötigt.
Je nach Anwendung, muss eine entsprechende Query-Optimierung vorgenommen
werden.
4.3
Räumliche Indizes
Um ein ezientes Arbeiten der Geodatenbank zu gewährleisten, wird eine räumliche Indizierung, sogenanntes Spatial Indexing, verwendet. Mit Hilfe dieser Indizierung kann man vor allem die häugen Select-Anfragen an die Datenbank
optimieren.
Die räumliche Indizierung ist hierbei in zwei grundlegende Schritte unterteilt:
Approximation von geographischen Daten und Eingliederung der Daten in eine
Indexstruktur.
Hierbei wird jeder Datensatz approximiert und mit einem speziellen Schlüssel
versehen. Der Schlüssel wird dabei mit Hilfe eines bestimmten Schemas in eine Indexstruktur eingegliedert. Wie aus der Theoretischen Informatik bekannt
ist, eignen sich Baumstrukturen hervorragend zur ezienten Verwaltung vieler
Schlüssel. Durch ihre Struktur kann die Anzahl an Operationen reduziert werden, da bei einer Anfrage nie der ganze Datensatz, sondern nur ein Teilbereich
betrachtet werden muss. Dies führt zu einer erheblichen Performance-Steigerung
des Gesamtsystems.
In den folgenden Abschnitte werden die zwei bekanntesten Approximationsschemata erläutert. Nach diesen Methoden folgen drei Möglichkeiten, die Daten mit
Hilfe von räumlichen Indizes zu strukturieren.
Einführung zu Geodatenbanken
Approximation von Daten
7
Bei der Verwaltung geographischer Gegebenhei-
ten, hier exemplarisch bei der Auistung von Flächenbeschreibung anhand von
Polygonzügen, kann eine riesige Menge an Daten entstehen. Sollen nun Anfragen
ausgeführt werden, kommt es zu langen Rechenzeiten und somit zu Performanceverlust.
Eine grundlegende Idee ist es, die Daten vorher mit Hilfe von Annäherungen,
sogenannten Approximationen, zu vereinfachen. Auf den vereinfachten Daten
werden anschlieÿend die gewünschten Operationen ausgeführt. Liefert die Operationen Resultate, wird auf das eigentliche, komplexere Objekt zurückgegrien.
Diese Strategie wird auch als lter and rene-Strategie bezeichnet.
Vorteil dieser Strategie ist es, dass bevor komplexe Rechenoperationen ausgeführt werden, erst eine Liste aller möglichen Kandidaten erstellt wird. Da die
Anzahl möglicher Kandidaten reduziert wird, verringert sich auch die Anzahl
der erforderlichen, komplexen Rechenoperationen.
In den beiden folgenden Paragraphen werden zwei bekannte Approximationsarten vorgestellt.
Bounding-Boxen Das bekannteste Beispiel einer gelungenen Approximation, ist
die Verwendung von Bounding-Boxen. Bei diesem Verfahren wird ein Objekt
durch ein minimales Rechteck beschrieben, in dem die zu approximierende Fläche gerade noch Platz hat. Im dreidimensionalen Raum wird zudem noch auf
sogenannte Bounding Volumes zurückgegrien. Hierbei kommen dreidimensionale Hüllkörper, meist in Quader- oder Kugelform zum Einsatz.
Mit Hilfe der erstellten Boxen, lassen sich nun Operationen auf den Daten vereinfacht ausführen. Ein simples Verfahren zur Bestimmung von Schnittächen
stellt hierbei der Sweep-Algorithmus dar. Im genannten Algorithmus werden
die Objekte meist nach einer Koordinatenachse sortiert und der Sweep arbeitet
alle Einträge der Reihe nach durch.
Exemplarisch stelle man sich eine mit Hilfe eines kartesischen Koordinatensystems eingeteilte Weltkarte vor. Jedes Land und jeder Kontinent sei mit Hilfe von
Bounding-Boxen approximiert und gemäÿ seiner kleinsten x-Koordinate in die
Gesamtreihenfolge der aufsteigenden x-Werte eingeordnet. Die gleiche Einordnung ist auch in Bezug auf die y-Werte nötig.
Will ein Nutzer nun herausnden in welchem Kontinent ein bestimmtes Land
liegt, vergleicht der Algorithmus die x-Werte des Landes mit denen der Kontinente. Schlieÿt die x-Startkoordinaten eines Kontinents, die des gewählten Landes
ein, muss das Land zumindest in Betracht auf die x-Achse innerhalb des Kontinents liegen. Anschlieÿend wird der selbe Test in Bezug auf die y-Achse durchgeführt. Schlieÿen die y-Koordinaten des Kontinentes, die des Landes ebenfalls ein,
ist das gewählte Land ein möglicher Kandidat (Filter-Schritt). Das endgültige,
exakte Ergebnis liefert anschlieÿend die erneute Schnitt-Berechnung mit den potenziellen Kandidaten, diesmal jedoch mit den komplexen Daten (RenementSchritt).
8
Seminar: mobileGIS
Gitter-Approximationen Die Datenannäherung mit Hilfe eines Gitters ist ebenfalls ein bekanntes Approximationsschema. Bei dieser Annäherung wird der Datenraum (exemplarisch eine Landkarte Deutschlands) mit Hilfe eines Gitters in
einzelne Segmente unterteilt. Eine Unterteilung eines dreidimensionalen Raumes
ist ebenfalls denkbar.
Bei der Wahl der Gittergröÿe gilt es eine passende Skalierung zu nden, da zu
wenige Segmente zu ungenauen Ergebnissen führen, zu viele Segmente zur Reduzierung des erwarteten Performance-Gewinns.
Eine geographische Gegebenheit kann nun durch die Zugehörigkeit zu einem oder
mehreren Segmenten beschrieben werden.
Damit das System die einzelnen Zellen unterscheiden kann, werden diese nun
mit unterschiedlichen Kennungen versehen. Sucht man auf einen Stadtkarte beispielsweise eine bestimmte Straÿe, entnimmt man dem Straÿenverzeichnis den
gewünschten Straÿennamen und bekommt anschlieÿend die zugehörige Segmentnummer.
Indizierung von Gitter-Approximationen
Ein eektives Indizierungssche-
ma bei durch gitterapproximierten Daten, stellt die Z-Kurve dar. Der Idee liegt
hierbei zugrunde, dass benachbarte Objekte auch naheliegende Segmentkennungen besitzen. Führt man diesen Gedankengang fort, ist es empfehlenswert, die
Kennungen in eine strukturierte Rangfolge einzugliedern. Die Z-Kurve basiert
auf einem rekursiven Verfahren, in dem die Segmentkennungen nach einem bestimmten Verfahren zugeordnet werden.
Verständlicher wird das Verfahren durch die folgende Grak:
Abbildung 1. Indizierung durch Gitter-Approximation und Z-Kurve
Wird nun eine Query auf einem Datensatz ausgeführt, werden vorerst alle Datensätze mit Hilfe eines Gitters approximiert, wobei jedem darin enthaltenen Objekt, eine durch die Z-Kurve generierte Kennung zukommt. Als nächster Schritt
wird das in der Query verwendete Filterobjekt ebenfalls durch das Gitter approximiert und die einzelnen Segmente, mit Kennungen versehen. Diese Kennungen
werden dann meist mit Hilfe eines Baumes strukturiert. Die Baumstruktur reduziert hierbei erneut die Anzahl an erforderlichen Rechenoperationen.
Bei den anschlieÿenden Operationen werden nur noch die Segmentkennungen
miteinander verglichen. Kommt es zu Treern, wird gemäÿ der in Abschnitt
Einführung zu Geodatenbanken
9
4.3 beschriebenen lter and rene-Strategie, eine erneute Berechnung mit den
komplexen Daten durchgeführt.
Indizierung von Punkten
Die Indizierung zur Verbesserung von Select-
Anfragen wird meist mit Hilfe eines Gitters (meist als grid-le bezeichnet)
oder mit Hilfe des kd-Baums realisiert.
Bei der Gitter-Methode wird je nach Anzahl der Punkte, der Datenraum in
Zellen eingeteilt. Die Raumeinteilung muss hierbei nicht gleichmäÿig erfolgen.
Die neuentstandenen Zellen enthalten dabei einen Verweis auf einen bestimmten
Bucket (zu dt. Eimer), worin sich der eigentliche Datensatz bendet. Hierbei
ist es möglich, dass Buckets mehreren Zellen zugeordnet sind, sowie dass mehrere
Punkte im selben Bucket liegen.
Bei einer Punktanfrage wird im ersten Schritt die Adresse des Eimers ermittelt
in dem der Punkt liegt, im zweiten Schritt ist der entsprechende Bucket gefunden und die Daten zum gesuchten Punkt können daraus entnommen werden.
Die zweite Möglichkeit zur Indizierung von Punkten im Datenraum, stellt die
Verwendung des kd-Baums dar. Ähnlich der Gitter-Methode wird der Datenraum in Bereiche gegliedert. Die Aufteilung des Raumes geschieht allerdings
rekursiv, so dass die beiden neuentstanden Zellen möglichst die gleiche Anzahl
an Punkten beinhalten. Die Rekursion endet, wenn in jedem Segement eine vorher festgelegte maximale Anzahl an Punkten liegt.
Im Baum selbst sind die Punkte dann in den Blättern gespeichert, die restlichen
Knoten enthalten lediglich Schlüssel (x- und y-Werte der Segmentgrenzen) zur
Navigation im Baum.
Soll nun ein bestimmter Punkt im Baum gefunden werden, navigieren die Knoten den Algorithmus bis zu den Blättern in denen die Punkte gespeichert sind.
Durch die Baumstruktur kann die Suche nach einem Punkt optimiert werden.
Eine Veranschaulichung zeigt Abbildung 2: es sei vorher festgelegt, dass in jeder
Zelle nur ein Punkt liegen darf.
Abbildung 2. Indizierung von Punkten mit Hilfe des kd-Baumes
10
Seminar: mobileGIS
Indizierung von Rechtecken
Da zur Approximation von Regionen oft recht-
eckige Bounding-Boxen zum Einsatz kommen, ist es sinnvoll, auch Indizierungsstrukturen für Rechtecke zu betrachten. Hierbei kommen drei bekannte Methoden zum Einsatz:
Transformation approach, Overlapping regions und Clipping.
Im folgenden wird exemplarisch die Indizierung mit Hilfe der Overlapping regionsMethode beschrieben.
Beim Overlapping regions-Verfahren werden, ähnlich dem in Abschnitt 4.3 erläuterten Vorgehen, Buckets verwendet. In diesem Fall wird für jeden Bucket eine
Container-Bounding-Box erstellt, die eine bestimmte Anzahl an Rechtecken enthält. Durch diese Festlegung schneidet ein Rechteck eventuell mehrere Buckets,
ist allerdings nur in einem einzelnen Bucket vollständig enthalten.
Bei der Strukturierung der einzelnen Rechtecke anhand der Container, kommt
wiederum eine Baumstruktur zum Zug. Hierbei werden die Buckets mit einer
Kennung versehen, die anschlieÿend innerhalb eines Knoten gespeichert wird.
Alle vom Container-Bucket eingeschlossenen Rechtecke werden als Söhne des
Buckets dargestellt. Die eigentlichen Rechteck-Daten werden in den Blättern gespeichert.
Abbildung 3 verdeutlicht das Overlapping-Regions-Verfahren.
Abbildung 3.
Indizierung
von
Rechtecken
mit
der
Overlapping-Regions-
Methode
Bei der Suche nach bestimmten Schnittkandidaten zu einem gegebenen Rechteck, kann nun vorerst mit den Bucket-Regionen geschnitten werden. Dieses Verfahren reduziert daher die Anzahl möglicher Schnittkandidaten und somit die
Rechenzeit. Ist ein Schnitt mit einem Bucket positiv, wird anschlieÿend mit den
Elementen innerhalb des Buckets erneut geschnitten.
5
Architektur von Geodatenbanken
Der Aufbau einer Geodatenbank kann auf vielerlei Arten realisiert werden. Nach
den vorhergehenden Abschnitten liegt das Hauptaugenmerk auf der Implementierung von speziellen Datentypen sowie ezienten Methoden zur Verwaltung
der Daten. Im folgenden Abschnitt werden mögliche Architekturvarianten beschrieben.
Einführung zu Geodatenbanken
5.1
11
Schichtenarchitektur
Mit Hilfe einer Schichtenarchitektur soll normalen Datenbanken die Verwendung
als Geodatenbank ermöglicht werden.
Hierbei bendet sich überhalb der eigentlichen Datenbank eine weitere Schicht,
die neben speziellen geographischen Datentypen auch Funktionen zur Verwaltung der Daten bereithält.
Stellt ein Benutzer eine Anfrage an die Datenbank, muss die Zwischenschicht die
Anfrage in eine datenbankveträgliche Anfrage umwandeln. Stehen anschlieÿend
die Ergebnisse der Anfrage fest, muss die Zwischenschicht die Daten, vor der
Weiterleitung an das GIS, nachbearbeiten.
Da die Datenbank selbst aber keine ADTs/SDTs zur Verfügung stellt, muss die
erstellte Zwischenschicht diesen Schritt übernehmen. Die Schicht hat hierbei zwei
Möglichkeiten:
1. Erstellen eines Eintrages bestehend aus vielen einzelnen Attributfeldern
2. Aufteilung eines Objektes in mehrere kleine Objekte (z.B. Polygonzüge beschrieben durch verkettete Punkte)
Beide Lösungen sind nicht optimal und erschweren Strategien zur PerformanceSteigerung wie sie in Abschnitt 4.3 beschrieben werden. Zusätzlich kann jede
Anfrage, je nach Interpretation der Zwischenschicht, lange Rechenzeiten nach
sich ziehen.
5.2
Duale-Architektur
Eine von den meisten GIS genutzte Architektur ist die Duale-Architektur. Ihr
liegt eine logische Trennung der Daten zugrunde. Der jeweilige Datensatz wird
dabei in einen geographischen und einen nicht-geographischen Teil zerlegt.
Zur Speicherung von nicht-geographischen Daten (z.B. Name des geographischen
Phänomens) wird hierzu ein normales Datenbanksystem verwendet. Damit die
Verknüpfung zwischen den geographischen und nicht-geographischen Daten nicht
verloren geht, wird zusätzlich ein Verweis im normalen Datenbanksystem hinterlegt. Der geographische Anteil selbst, wird im Dateisystem, zum Beispiel innerhalb einer xml-Datei, gespeichert und ist mit Hilfe des Verweises erreichbar.
Vorteilhaft an diesem Ansatz ist, dass die getrennten Daten nun im Dateisystem mit Hilfe von Indizes strukturiert werden können. Leider ist aber hierbei
auch eine Zwischenschicht nötig, die die Anfrage in die geographischen sowie
nicht-geographischen Teile zerlegt, was erneut zu Performance-Einbuÿen führt.
5.3
Erweitertes DBMS
Die beste Performance bieten speziell auf Geographie erweiterte Datenbanksysteme. Erweiterte Datenbanksysteme bieten die Möglichkeit, das jeweilige System
nach belieben zu erweitern.
12
Seminar: mobileGIS
Im Fallbeispiel Geographie ist es möglich spezielle Datentypen (vgl. Abschnitt
3.2) anzulegen.
Ebenfalls müssen spezische Operationen (z.B. Test auf Flächenschnitt), sowie
Techniken zur Performance-Steigerung (z.B. Filter and rene-Strategie mit Approximationen) in das System integriert werden.
Gerade der letzte Schritt ist nicht intuitiv, da im System je nach verwendetem
Datentyp, die Operationen angepasst werden müssen.
6
Ausblick
GIS haben im Informationszeitalter einen groÿen Stellenwert erlangt. Da allerdings die Zahl an GIS-Nutzer stark angestiegen ist und neben den kommerziellen
GIS auch abgespeckte, frei verfügbare Systeme bestehen, steigt die Motivation
nach einer guten Datenbankunterstützung.
Daraus folgernd, ist die Entwicklung von Geodatenbanken noch nicht abgeschlossen und wird auch in Zukunft neue Arten und Wege zur ezienten Verwaltung
von geographischen Phänomenen bereitstellen.
Einführung zu Geodatenbanken
13
Literatur
1. Shashi Shekhar; Sanjay Chawla.
Spatial Databases A Tour. Prentice Hall, 2003.
VLDB Journal,
2. Ralf Hartmut Gueting. An introduction to spatial database systems.
1994.
14
7
Seminar: mobileGIS
Erklärung
Hiermit erkläre ich, Ralph Zeumann, dass ich die vorliegende Arbeit selbständig
verfasst und keine anderen Hilfsmittel als die angegebenen verwendet habe. Die
Stellen der Arbeit, die anderen Werken dem Wortlaut oder dem Sinn nach entnommen sind, wurden in jedem Fall unter Angabe der Quelle kenntlich gemacht.
Herunterladen