“Modellierung von Geodaten” Zeev Turevsky Programmiermethodik und Multimediale Informationssysteme Institut für Informatik, Universität Augsburg [email protected] Zusammenfassung. Geodatenbanken spielen eine wesentliche Rolle in der Entwicklung von Geoinformationssystemen und Navigatoren. Die Daten, die ein Navigator für den User erstellt, müssen interpretiert, in lesbarer und sinnvoller Form dargestellt und optimal in einer Datenbank gespeichert werden. Dafür werden zuerst geometrische Objekte wie Punkt, Linienzug, oder Polygon in der Datenbank gespeichert. Danach wird eine Objektsammlung von diesen Objekten gestellt, und diese wird in einem Schema abgebildet, um eine vollständige geografische Karte zu erstellen. 1 Einführung Geoinformationssysteme sind Informationssysteme, die mit den geografischen Daten arbeiten. Mithilfe eines Geoinformationssystems werden geografische Daten aufgerufen, bearbeitet, organisiert und dargestellt. Aber zuerst müssen sie in einer bestimmten Form in einer Datenbank, die Geodatenbank heißt, gespeichert werden. Die Datenbank muss so organisiert werden, dass solche geografischen Objekte wie Dörfer, Städte, Kreise, Länder, Berge, Seen usw. einerseits möglichst vollständig erfasst und möglichst wenig Platz im Speicher verbrauchen, und andererseits schnell und präzise von einer Hardware aufgerufen werden können. Geodaten müssen geometrische, topologische, thematische und temporale Eigenschaften erfüllen. Die geometrischen Eigenschaften beschreiben die Form eines Objektes und seine Koordinaten im Raum. Die topologischen Eigenschaften beschreiben Beziehungen von mehreren Objekten zueinander in einem Raum: ob sie sich überlappen, ineinander oder aneinander liegen. Thematische Eigenschaften sind die Sachattribute wie Ortsnamen, PLZ, Wochentag der Müllabfuhr, Niederschlagsmenge, Einwohneranzahl usw. Mit Hilfe von temporalen Eigenschaften wird festgestellt, in welchen Zeitpunkten oder Zeiträumen die oben beschriebenen Eigenschaften gültig sind. Die thematischen Eigenschaften von Geodaten müssen in dem Raum geeignet dargestellt werden. In den objektbasierten Datenmodellen spielen Geoobjekte als Attribute die wichtigste Rolle. Andere Attribute werden der Geometrie der Objekte zugeordnet. Wenn ein Dorf Attribute „Name“, „Einwohnerzahl“ und geometrisches Attribut „Dorfgebiet“ hat, werden die Attribute „Name“ und „Einwohnerzahl“ dem 2 Zeev Turevsky Attribut „Dorfgebiet“ zugeordnet. Ein Geoobjekt kann auch auf mehrere geometrische Attribute aufgeteilt werden. In räumlichen Datenmodellen spielt der Datenraum wichtige Rolle, weil die Attribute zu bestimmten Punkten des Geoobjektes zugeordnet werden. . Abbildung 1. Die Geoobjekte mit ihren thematischen Attributen. [1] Die Abbildung 1 veranschaulicht Beispiele von Geoobjekten mit ihren geometrischen und anderen thematischen Attributen. Die geometrischen Objekte können auf verschiedene Gebiete geteilt werden. Auch können geometrischen Objekte auf verschiedene thematische Ebenen geteilt werden. Jede Ebene stellt ein bestimmtes Teil von gesamtem Objekt. Z. B. können Städte auf einer, Flusse auf zweiter und Landschaft auf dritter thematischer Ebene aufgezeigt werden. Abbildung 2. Aufteilung eines Geoobjektes auf mehreren thematischen Ebenen. [1] In dieser Seminararbeit wird beschrieben, welche Datenbankoperationen eine Geoinformationssystem braucht, und wie geografische Objekte in einer Geodatenbank modelliert, gespeichert und aufgerufen werden können. In Kapitel 2 wird ein Beispiel vorgestellt. In diesem Beispiel werden die Anforderungen für einen Kindernavigator beschrieben. Bei der Modellierung des Kindernavigators wird weiter erläutert, wie die Daten in einer Geodatenbank organisiert, gespeichert und verwaltet werden sollen. “Modellierung von Geodaten” 3 In Kapitel 3 werden die Datenbankoperationen (sowie PROJECTION, SELECT, INSERT usw.) für ein Geoinformationssystem allgemein beschrieben, und die Ergebnisse der Operationen dargestellt. In Kapitel 4 werden die einfachsten geografischen Objekte (wie Punkt, Linie usw.) beschrieben, und danach wird gezeigt, in welchen Formen diese Objekte in einer Datenbank gespeichert werden können, und wie sie von einer Geodatenbank aufgerufen und auf einer Karte abgebildet werden können. 2 Beispiel Für Kinder, die in europäischen Ländern reisen, muss einen Kindernavigator modelliert werden. Dieser Navigator muss einem Kind nicht nur die Information liefern, wo er gerade in geografischem Sinne ist. Der Navigator muss auch dem Kind zeigen, welche Sehenswürdigkeiten er in der Nähe anschauen könnte. Außerdem müssen Bilder dieser Sehenswürdigkeiten im Navigator gespeichert werden, und das Kind kann bei Wunsch eigene digitale Fotos von bestimmten Objekten dazu einfügen. Dafür muss aus mehreren geografischen Karten von Europa (topologische, politische, geologische und anderen) und mehreren verschiedenen Bilder eine Kinderkarte erstellt werden. Auf dieser Karte müssen die Länder durch ihre Grenzen gezeichnet werden. Außerdem müssen die Kinder die wichtigsten größten Städte zusammen mit ihren Sehenswürdigkeiten (z. B. Perlachturm in Augsburg, Eiffelturm in Paris usw.) finden können. Darüber hinaus müssen die Sehenswürdigkeiten (z. B. Neuschwanstein in Deutschland, Big Ben in England usw.) und der Hauptprodukt (z. B. Auto in Deutschland, Uhr in Schweiz usw.) des Landes auf der Karte gefunden werden können. Danach kann die Kinderkarte in der Datenbank eines Navigators gespeichert werden. 3 Hauptbegriffe und Operationen in räumlichen Datenbanken In einer Geodatenbank wird Beschreibung von komplexen (geologischen, politischen, historischen usw.) Karten gespeichert. Diese Karten können nicht direkt in einer Datenbank gespeichert werden. Deswegen werden sie auf verschiedene Objekte geteilt, die in einer speziellen räumlichen Datenbank gespeichert werden können. Die Hauptobjekte von räumlicher Datenbank sind die Theme, Karte und Geografisches Objekt: 4 Zeev Turevsky Die Theme ist eine Sammlung von geografischen Objekten. Die Theme besteht aus dem Schema und Instanzen. Die Flüsse, Städte und Länder mit ihren Projektionen, Bezeichnungen und Beschriftungen auf einer Karte sind Beispiele von Themes. Z. B. gibt es ein geografisches Objekt bzw. eine Theme Fluss. Lech ist eine konkrete Instanz des geografischen Objekts Fluss für eine Karte von Bayern. Die Abbildung der Themes auf dem Papier oder Bildschirm heißt eine Karte. Die Karten enthalten Themes, Farben, Maßstäbe und Legenden. Eine Karte ist immer zweckorientiert, z. B. topologische Karte, politische Karte, Wetterkarte, usw. Das Geografische Objekt stellt Objekte der realen Welt auf eine Karte dar, und hat zwei Komponenten: Die Menge der Beschreibungsattributen und eine räumliche Komponente. Mithilfe der Beschreibungsattribute kann eindeutig festgestellt werden, welcher Staat, Stadt oder Dorf aus realer Welt abgebildet werden muss. Die Menge der Beschreibungsattribute kann z. B. die Name und die Bevölkerungsanzahl des Staates, oder der Name und die Hauptsehenswürdigkeit der Stadt (für die Kinderkarte) enthalten. Die räumliche Komponente drückt die Geometrie und Topologie des Objektes aus. Die isolierte räumliche Komponente eines geografischen Objekts heißt räumliches Objekt. [2] Ein Beispiel des räumlichen Objektes ist die Grenze zwischen zwei Ländern. Ein Geografisches Objekt kann atomar oder komplex sein. Wenn das Geografische Objekt mithilfe von weiteren geografischen Objekten nicht beschrieben werden kann, heißt es atomares geografisches Objekt. Wenn das geografische Objekt weitere geografische Objekte enthält, heißt es komplexes geografisches Objekt. Z. B. das komplexe geografische Objekt „Staat Deutschland“ enthält atomare geografische Objekte „Dörfer von Deutschland“. Theme und geografisches Objekt können wie folgt rekursiv definiert werden [2]: Theme = { Geografisches Objekt } Geografisches Objekt = (Beschreibung, räumliches Teil) // atomare Objekte | (Beschreibung, { Geografisches Objekt }) // komplexe Objekte Um die Daten in einer räumlichen Datenbank verwalten zu können, werden verschiedene Operationen von räumlicher Datenbank gebraucht, die den normalen Datenbank-Operationen entsprechen. Eine Operation von räumlicher Datenbank bekommt mehrere Themes und gibt ein Theme als Antwort. Im Allgemeinen können die Karten mit Hilfe von folgenden zwei Themes beschrieben werden: 1. Länder. Attributen: Name, Hauptstadt, Bevölkerungsanzahl. Geometrisches Attribut: Geo:Region. 2. Sprache. Attributen: Sprache (Die Sprache oder Sprachfamilie, die die meisten Einwohner in der Region sprechen). Geometrisches Attribut: Geo:Region. “Modellierung von Geodaten” 5 Mit Hilfe von diesen zwei Themes wird erläutert, wie die obengenannten Datenbankenoperationen in der räumlichen Datenbank verwaltet werden. In den räumlichen Datenbanken werden die Operationen PROJECTION, SELECT, JOIN und UNION gebraucht. Die PROJECTION kann wie folgt beschrieben werden: : theme [ A1 ,, An ] theme Hier sind [ A1 , , An ] Attribute, die die Theme beschreiben. Das Ergebnis der Operation PROJECTION ist eine Theme, wobei die Attributmenge der neuen Theme aus der Attributmenge der alten Themes besteht, und das räumliche Attribut Geo wird unverändert. Dieser Operation entspricht die Projektion aus Relationalen Algebra: A1 ,, An ,Geo (T ), wobei Geo das räumliche Teil, und T das Instanz der alten Theme sind. Abbildung 3. Die Projektion: ein Theme mit Attributen Länder, Bevölkerungsanzahl und Geo wird ins Theme mit Attributen Bevölkerungsanzahl und Geo projiziert. [2] Eine weitere Operation von räumlichen Datenbanken ist SELECT (die Abfrage von Themes). Sie kann wie folgt beschrieben werden: : theme p A theme p A das Attribut ist, auf dem die Abfrage durchgeführt wird. Die folgende i wobei i Abfrage kann auf räumlicher Datenbank so ablaufen: Auf der Karte von Europa 6 Zeev Turevsky müssen die Länder ausgewählt werden, die mehr als 50 Millionen Einwohner haben. Das Ergebnis dieser Abfrage kann in der Abbildung 4 gesehen werden. Oft wird die Operation UNION für die Vereinigung oder Zusammenfügung von zwei Themes gebraucht. Diese Operation kann formal wie folgt beschrieben werden: : theme theme theme Mit dieser Operation können zwei geografischen Objekten, die gleiches Schema haben, vereinigt werden. Wenn T1 und T2 zwei Themes sind, wird ihre Vereinigung als T1 T2 bezeichnet. Das Beispiel aus Abbildung 5 zeigt, wie zwei Themes vereinigt werden können. Abbildung 4. Abfrage von Ländern mit über 50 Millionen. [2] Einwohnern in der Karte von Europa Abbildung 5. Operation UNION – Vereinigung von zwei Themes. [2] Im Laufen der Erzeugung einer neuen Karte wird manchmal die Operation Überlagerung () gebraucht. Formal wird diese Operation wie folgt beschrieben: “Modellierung von Geodaten” 7 : theme theme theme Diese Operation erlaubt zwei Karten, die gleiches Schema und verschiedenen Themes haben, aufeinander überlagern, und dadurch wird ein neues Theme generiert. In der Abbildung 6 wird gezeigt, wie von Themes T1 und T2 eine neue Theme T generiert wird. Die Theme T1 beschreibt die politische Karte von Europa, und die Theme T2 beschreibt die Geografie von germanischen Sprachen (germanischer Sprachraum) in Europa. Die generierte Theme T beschreibt, in welchen europäischen Ländern germanischen Sprachen verbreitet sind. Abbildung 6. Überlagerung von zwei Themes. [2] In Geoinformatik kommt oft die Situation vor, wenn nur ein Teil der Karte genau angeschaut werden muss. Dafür ist eine geometrische Abfrage nötig. Die geometrische Abfrage besteht aus Windowing, Punktabfrage und Clipping: Windowing: Mit dieser Operation wird ein Teil der Karte angewählt, und dann wird eine neue Karte erstellt, die alle Themes (und nicht ihre ausgewählte Teile) aus ausgewähltem Gebiet beinhaltet. In der Abbildung 7 wird das Ergebnis von Windowing gezeigt. Es werden nur Teile von Großbritannien, Irland, Frankreich, Spanien und Portugal ausgewählt, und 8 Zeev Turevsky als Ergebnis kommt eine vollständige Karte mit Themes von obengenannten Ländern. Abbildung 7. Ein Beispiel für Windowing. [2] Punktabfrage: Diese Operation ist zu Windowing gleich, aber die neue Theme beinhaltet alle Themen, die einen gegebenen Punkt in sich haben. Clipping: Mit dieser Operation wird auch ein Teil der Karte angewählt, aber dann wird eine Teilkarte erstellt, die nur die angewählten Teile des Themes aus der alten Karte beinhaltet. In der Abbildung 8 wird ein Clipping gezeigt. Abbildung 8. Ein Beispiel für Clipping. [2] Wenn mehrere geografische Objekte in eine gemeinsame Karte zu einem bestimmten Zweck zusammengefügt werden müssen, wird die Operation MERGE verwendet. Der Zweck wird durch den Endnutzer bestimmt. Diese Operation kann formal wie folgt beschrieben werden: “Modellierung von Geodaten” 9 MERGE : theme condition theme Diese Operation arbeitet nur mit einer Theme und überführt sie in eine andere Theme. MERGE entspricht der Aggregation von Objekten. In der Abbildung 9 wird das MERGE von zwei Karten gezeigt: Die Karten von Westdeutschland und Ostdeutschland werden in eine Karte Deutschlands aggregiert. Abbildung 9. Ein Beispiel von MERGE. [2] Wenn eine Geodatenbank mit mehreren verschiedenen Karten angeboten wird, kann von dieser Kartenmenge eine Karte für den Kindernavigator modelliert, erstellt und danach in Datenbank weiter gespeichert werden. Zuerst müssen die Länderkonturen und die Hauptstädte von der Datenbank, die eine politische Karte enthält, abgefragt werden. Danach müssen die Bergenkonturen von einer geologischen Karte abgefragt werden. Dann müssen die Daten über die Bevölkerungsanzahl, Sprachen, Währungseinheiten usw. von einer administrativen Karte abgefragt werden. Am Schluss können die Bilder von Sehenswürdigkeiten von einer Sehenswürdigkeitskarte abgefragt werden, und die Bilder von Hauptprodukten der Länder dazu hinzugefügt werden. Danach können die Ergebnisthemes in eine neue Karte überlagert werden, und diese neue Karte muss in eine Geodatenbank gespeichert werden. Jetzt kann die Karte in einen Kindernavigator geladen und verwendet werden. 4 Modellierung und Geodatenbanken Darstellung von Information in In den Geodatenbanken müssen die Objekte in verschiedenen Dimensionen gespeichert werden können. Die Objekte können Dimensionen 0D, 1D, 2D, 3D oder 4D haben: Nulldimensionale Objekte sind die Punkte auf der Karte. Mit den Punkten werden die Objekte auf der Karte bezeichnet, wenn diese Objekte klein oder auch wenn ihre Formen nicht wichtig sind. Normalerweise sind das Städte, Kirchen, Spitzen der Bergen usw. Eindimensionale oder lineare Objekte sind die Linien auf der Karte. Mit Linien werden Wege, Flüsse usw. dargestellt. Da diese Objekte nicht den geraden Linien sondern den Kurven entsprechen, werden sie als Linienzüge gezeichnet. 10 Zeev Turevsky Abbildung 10. Die Beispiele von Linienzug. [2] Die Beispiele von Linienzügen können auf Abbildung 10 angeschaut werden. Ein Linienzug besteht aus mehreren Segmenten, die gerade Linien sind. Jeder von diesen Segmenten hat den Startpunkt und Endpunkt, und sowohl sein Startpunkt ist der Endpunkt eines vorgehenden Segments (falls es nicht Startsegment ist), als auch sein Endpunkt ist der Startpunkt eines weitergehenden Segments (falls es nicht Endsegment ist). Die Startpunkt und Endpunkt von gesamtem Linienzug heißen die Extrempunkte. Falls ein Linienzug in einem gleichen Punkt startet und endet, heißt sie geschlossener Linienzug. Zweidimensionale oder fachliche Objekte werden benutzt, um große Gebiete (wie große Cities, Regionen, Länder usw.) auf die Karte darzustellen. Hauptsächlich werden diese Objekte durch verschiedene Polygonen dargestellt. Dreidimensionale Objekte werden in solchen Datenbanken wie GoogleEarth oder 3D Navigatoren verwendet, um die bestimme Objekte (Gebäude, Denkmale usw.) in eine Geodatenbank dreidimensional speichern zu können. Vierdimensionale Objekte werden verwendet, damit die Änderungen von Gebäuden, Städte und Flüsse über die Zeit in Geodatenbank gespeichert werden können. Mit drei obergenannten Objekttypen können die primitiven Konturen auf einer Karte gezeichnet werden. Um die Geoinformationsobjekte vollständig auf einem Computer darzustellen, muss ein Euklidischer Raum auf Bildschirm abgebildet werden können. Das kann mit Hilfe von einem diskreten Modell gemacht werden. Die Oberfläche des Bildschirms kann auf mehrere Zellen (Mosaik) zerlegt werden, und von diesen Zellen werden die Geoinformationsobjekte zusammen gestellt. Die Zellen können “Modellierung von Geodaten” 11 verschiedene Form und Größe haben. Wenn alle Zellen die gleiche Große haben (N×M Zellen), so heißt das Modell reguläre Mosaik. Auf der Abbildung 11 können Beispiele von quadratischen und hexagonalen regulären Zellen angeschaut werden. Abbildung 11. Reguläre Mosaiken. [3] Wenn die Zellen von Mosaik verschiedene Größe haben, wird das Modell als irreguläre Mosaik bezeichnet. Abbildung 12. Irreguläre Mosaiken. [3] In der Praxis wird das reguläre Mosaik verwendet, wenn die Satellitenbilder (z.B. Wetter- oder Verschmutzungskarte) auf eine Karte projiziert werden müssen. In dieser Karte werden die verschiedengefärbten Punkte in geografischen Räumen diskret angezeigt. Das irreguläre Mosaik wird verwendet, um die administrative und politische Objekte (Kreise, Länder, Militärblöke usw.) darzustellen. Außerdem können die räumlichen Objekte in 2D durch die kleinste endliche Menge von Punkten, die dieses Objekt enthalten, dargestellt werden. In diesem Fall muss ein Punkt als ein Pixel mit seinen Koordinaten auf der Karte betrachtet werden. Die Koordinaten dieses Pixels können in verschiedenen Formen beschrieben werden. Sie können durch ein Paar von natürlichen Zahlen, oder durch eine eindeutige ID identifiziert werden, falls alle Pixel von Karte durchnummeriert werden. Dann können die Linienzuge, Polygonen, oder Regionen mit Hilfe von einer endlichen Anzahl von Pixel auf einer Karte abgebildet werden. Ein Beispiel von solcher Karte kann in Abbildung 13 angeschaut werden. Der Polygon P enthält Punkte: P = <5, 12, 13, 14,17, 18, 19, 20, 21, 22, 26, 27, 28, 29, 30, 31, 35, 36, 37, 38> 12 Zeev Turevsky Abbildung 13. Pixel- oder Rasterdarstellung von Polygon P. [3] Darüber hinaus können die Objekte von Geodatenbanken als eine Vektorenmenge dargestellt und gespeichert werden. Hauptsächlich bestehen solche Objekte aus Punkten (Anfang- und Endpunkt von Vektoren) und Kanten (eigentliche Vektoren). In diesem Fall muss jeder Punkt als ein Paar von natürlichen Zahlen (seine Koordinaten) gespeichert werden. Diese Paare werden zu einer komplexen Datenstruktur wie verkettete Liste, Menge oder Feld, die einen komplexen Geoinformationsobjekt darstellen, zusammengefasst. Wenn ein Polygon als eine Vektorenmenge gespeichert wird, wird deutlich weniger Speicherplatz verbraucht. Deswegen werden die Polygone, Linienzuge und Regionen in der Praxis als eine Vektorenmenge dargestellt und verwaltet. Dann können diese Objekte wie folgt definiert werden: Ein Punkt ist ein Paar von realen Zahlen: point: [x: real, y: real]. [3] Ein Linienzug wird als eine verkettete Liste von Punkten <p1, …, pn> gespeichert, wobei jeder Punkt pi einer Ecke des Polygons entspricht, und jedes Paar (pi, pi+1) mit i < n eine Kante des Linienzuges darstellt. linienzug: <point>. [3] Ein Polygon wird genauso wie Linienzug als eine verkettete Liste von Punkten gespeichert, aber die Kante (pn, p1) wird auch gespeichert, da ein Polygon auch ein geschlossener Linienzug ist. polygon: <point>. [3] In einem Polygon mit n Ecken können die Ecken verschieden miteinander verbunden werden (2∙n verschiedene Möglichkeiten). Deswegen werden die Eckpunkte in der Liste im Uhrzeigersinn oder gegen Uhrzeigersinn angeordnet. Eine Region wird als eine Menge von Polygonen definiert. region: {polygon}. [3] Auf der Abbildung 14 kann ein Polygon P, der in Vektordarstellung gespeichert wird, angeschaut werden. Die Ecken dieses Polygons sind die Punkte: P = < [4, 4], [6, 1], [3, 0], [0, 2], [2, 2] > Abbildung 14. Vektordarstellung von Polygon P. [3] “Modellierung von Geodaten” 13 Darüber hinaus gibt es auch Halbebene-Darstellung, die eine Alternative zu Vektordarstellung ist. Die Halbebene-Darstellung wird in dieser Seminararbeit nicht beschrieben. Die geografischen Objekte werden selten (fast nie) allein auf einer Karte abgebildet. Normalerweise enthält eine Karte mehrere Objekte (eine Objektsammlung), die miteinander in der Beziehung stehen. Es gibt drei Modellen zur Darstellung einer Objektsammlung: Spaghetti-Modell, Netzwerk-Modell und topologisches Modell. In diesen drei Modellen werden die Beziehungen zwischen den Objekten verschieden dargestellt. In dem Spaghetti-Modell wird jedes Objekt in eine Objektsammlung eingefügt und gespeichert, so dass die Topologie vom Objekt und seine topologischen Beziehungen zu anderen Objekten nicht berücksichtigt werden. Dann entstehen die Redundanzen bei der Speicherung von Spaghetti-Modell in einer Datenbank. Z. B. wenn zwei Regionen, die eine gemeinsame Grenze haben, in einer Datenbank gespeichert werden müssen, wird ihre gemeinsame Grenze zweimal gespeichert. Danach wird diese Grenze bei der Kartenerstellung zwei Mal gezeichnet. Wenn zwei Linienzüge sich schneiden, wird der Schnittpunkt in der Datenbank nicht gespeichert. Das Spaghetti-Modell ist einfach. Außerdem werden alle Objekte in diesem Modell unabhängig voneinander gespeichert, und die neuen Objekte können in Spaghetti-Datenbank eingefügt werden. Andererseits wird es schwierig eine Karte von einer Spaghetti-Datenbank zu erstellen, da ihre Objekte nicht ordentlich gespeichert wurden. Auch ist es schwer festzustellen, ob ein Eintrag von Datenbank redundant ist oder nicht. Z. B. wenn zwei Polygonen mit einer gemeinsamen Grenze auf eine Karte gezeichnet werden müssen, wird diese gemeinsame Grenze doppelt gezeichnet. Das Netzwerk-Modell wurde ursprünglich entwickelt, um Daten von einer netzbasierten Anwendung in einer Datenbank zu speichern. Z. B. funktionieren die Netzwerk-Modelle in Strom- und Telefonleitungen. Dieses Modell bearbeitet die Eckpunkte und die Linienzuge, die diese Eckpunkte miteinander verbinden. Die Eckpunkte werden als die Knoten und die Linienzuge werden als die Kanten eines Graphs betrachtet. Abbildung 15. Ein Netz. [3] 14 Zeev Turevsky In der Abbildung 15 kann Beispiel eines Netzes angeschaut werden. Der Punkt (bzw. der Knoten) n1 ist mit anderen Punkten durch die Linienzuge (bzw. die Kanten) a1, a2, a3 und a4 verbunden. Für die Linienzüge a1, a2, a3 und a4 ist der Knote n1 je nach der Richtung ein Startpunkt oder ein Endpunkt. Das Netzwerk-Modell wurde hauptsächlich entwickelt, um zu ermöglichen, den Weg von einem Knoten zu einem anderen Knoten möglichst effizient zu finden. Deswegen ist es gut in Navigatoren anwendbar, z. B. wenn der kürzeste Weg von einem geografischen Punkt zu einem anderen gefunden werden muss. In diesem Modell muss die Datenbank die allgemeinen Punkte von Eckpunkten oder Knoten streng unterscheiden. Ein Knoten ist entweder ein Start- oder Endpunkt eines Linienzuges, oder ein isoliertes Punkt auf der Karte. Die Punkte, die auf den Linienzügen oder auf der Kante von Polygonen liegen, sind reguläre Punkte. Außerdem kann ein Netzwerk planar oder nicht planar dargestellt werden. In planaren Netzwerken werden Punkte, in denen sich die Kanten oder Linienzüge schneiden, als Knoten definiert. In den nicht planaren Netzwerken können sich zwei Linien schneiden, so dass kein Knoten daraus entsteht (Z. B. wenn ein Tunnel eine Bergkette schneidet). Das Netzwerkmodell verwendet folgende geometrische Objekte [3]: Punkt: [x: real, y: real] Knote: [Punkt, <Kante>] Kante: [Startpunkt, Endpunkt, <Punkt>] Polygon: <Punkt> Region: [Polygon] Im Netzwerk-Modell werden alle Linien auf der Karte in die Datenbank gespeichert. Deswegen kann das Netzwerk-Modell für die Suche von optimalen Wegen auf einer Karte verwendet werden. Im topologischen Modell werden planare Netzwerke verwendet. Das topologische Modell verwendet folgende geometrische Objekte [3]: Punkt: [x: real, y: real] Knote: [Punkt, <Kante>] Kante: [Startpunkt, Endpunkt, linke Polygon, rechte Polygon, <Punkt>] Polygon: <Kante> Region: [Polygon] Ein Knoten wird als ein Eckpunkt mit den Kanten, die diesen Punkt als Startpunkt oder Endpunkt haben, in diesem Modell beschrieben. Wenn die Kantenmenge eines Knoten leer ist, ist dieser Knoten ein isolierter Eckpunkt. Mit isolierten Eckpunkten werden verschiedene Sehenswürdigkeiten (z.B. Perlachturm oder Martin-LutherPlatz) auf der Karte bezeichnet. “Modellierung von Geodaten” 15 Das topologische Modell enthält weniger Redundanz als die anderen Modelle. Die Polygone können in diesem Modell entweder als Polygone oder als Kantenmengen gespeichert werden. Abbildung 16. Zwei aneinander liegenden Polygonen in topologischem Modell. [3] Z. B. müssen zwei aneinander liegenden Polygonen P1 und P2 aus der Abbildung 16 in einer räumlichen Datenbank als topologisches Modell gespeichert werden. Die Polygonen können als Kantenmengen wie folgt in eine Datenbank gespeichert werden: P1: <a, b, f> und P2: <c, d, e, f>. Die Kante f verbindet die Knoten N1 und N2, und gehört zu beiden Polygonen P1 und P2. Dann kann diese Kante wie folgt gespeichert werden: f: [N1, N2, P1, P2, <>]. Ein Knoten N1 wird mit den Koordinaten des Eckpunktes und den Kanten, die in ihm starten oder enden, in der Geodatenbank gespeichert: N1: [[3, 0], <a, f, e>]. Dann kann aus den gespeicherten Daten festgestellt werden, in welchen Beziehungen die gespeicherten geometrischen Objekte zueinander stehen. Z. B. um festzustellen, ob zwei Polygonen aneinander liegen, werden diese Polygonen von Datenbank abgefragt, danach werden die Kanten festgestellt, und zum Schluss wird überprüft, ob eine Kante zu zwei verschiedenen Polygonen gehört. Deswegen wird auf der durch dieses Modell entstehenden Karte die Grenze zwischen zwei aneinander liegenden Polygonen nur einmal gezeichnet. 5 Ausblick Hinter jedem mobilen Navigationsgerät steht eine geografische Karte, auf der für den Endnutzer einige Informationen dargestellt werden. Diese Karte wird in einer Geodatenbank zuerst gespeichert, und dann werden die verschiedenen Kartenfragmente von der Datenbank abgefragt. 16 Zeev Turevsky Eine Geodatenbank verwendet die gleichen Datenbankoperationen (SELECT, INPUT, UNION usw.) wie jede andere Datenbank. Das Ergebnis einer Datenbankoperation ist nicht ein Testsatz sondern eine Karte. Die Karten können in einer Datenbank als eine Sammlung von einfachen geometrischen Objekten wie Punkte, Linienzüge, Polygone und Regionen gespeichert werden. Auf dem Bildschirm können die Karten in Form von Mosaiken, als ein Raster oder als ein Polygon, der mit Hilfe von Vektormenge angezeigt wird, dargestellt werden. Die Objektsammlung kann mit Hilfe von drei verschiedenen Modellen (Spaghetti-, Netzwerk- und topologisches Modell) in der Geodatenbank gespeichert werden. Das Spaghetti-Modell ist das einfachste Modell nicht nur für die Datendarstellung, sondern auch für die Datenverwaltung (SELECT, INSERT, DELETE, UPDATE). Die Nachteile von Spaghetti-Modell sind sowohl hohe Redundanz (ein Linienzug kann mehrmals auf der Karte angezeigt werden), als auch die Ungenauigkeiten (z. B. zwei gleiche Kartenabschnitten können mit verschiedenen Koordinaten gespeichert werden), die die Datenbank enthalten kann. Das Netzwerk-Modell wird für die Karten verwendet, wenn mit Hilfe von diesen Karten effizient ein kürzester Weg gefunden werden muss. In diesem Modell werden Karten als Graphen (Knoten und Kanten) gespeichert. Das Netzwerk-Modell ist gut für die schematische Darstellung geografischer Objekten, wobei die Topologie dieser Objekte nicht berücksichtigt werden muss. Z. B. das U-Bahn-Schema oder Linienfahrpläne für die Büse werden als ein Netzwerk-Modell in Geodatenbank gespeichert. Das topologische Modell ermöglicht die Geoinformationen in eine Geodatenbank zu speichern, sodass die Topologie von gespeicherten Objekten berücksichtigt wird. Unter die Verwendung dieses Modells kann genau festgestellt werden, in welchen Beziehungen verschiedene Objekte aus einer Objektsammlung zueinander stehen (ob sie aneinander, ineinander, isoliert voneinander liegen, oder ob sie sich überlappen). Das topologische Modell kann effizienter als Spaghetti-Modell erstellt werden, da in Spaghetti-Modell eine Kante des Polygons oft mehrmals gespeichert werden muss. Wenn in dem UPDATE die neuen Polygone, die mit anderen Polygonen benachbart sind, dazu kommen, werden die Kanten von einigen Kanten immer wieder neu gespeichert. In topologischem Modell wird zuerst festgestellt für jede Kante, ob sie schon gespeichert wurde, und wenn nicht nur dann sie einmal gespeichert wird. Aber die Erstellung von Untermenge geometrischer Objekten, zu denen eine Karte neu eingefügten Objektes gehören kann, kann zu lange dauern. Deswegen können einige Operationen wie INSERT, DELETE, UPDATE usw. in topologischem Modell viel aufwändiger als in Spaghetti-Modell werden. “Modellierung von Geodaten” 6 17 Literatur [1] T. Brinkhoff. Geodatenbanksysteme in Theorie und Praxis (2. Auflage). Eigenschaften von Geodaten, pp. 59 – 64, Verlag Wichmann, 2008 [2] P. Rigaux, M. Scholl, A. Voisard. An Introduction to Spatial Databases. In Spatial Databases with Application to GIS. Vocabulary in Geospatial Database Applications, Geospatial Data Manipulation, pp. 9 - 21, Morgan Kaufmann Publishers, 2002 [3] P. Rigaux, M. Scholl, A. Voisard. An Introduction to Spatial Databases. In Spatial Databases with Application to GIS. Representation of Spatial Objects, pp. 29 68, Morgan Kaufmann Publishers, 2002 [4] Karl Heinz Borgwardt. Optimierung, Operations Research, Spieltheorie. Mathematische Grundlagen. (p. 37), Verlag Birkhäuser, 2001 Erklärung Hiermit erkläre ich, Zeev Turevsky, 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.