Räumliche Anfragen GIS-Seminar WS04/05 Marius Zirngibl FBI, Universität Hamburg 1 Übersicht 1. 2. 3. 4. 5. Motivation Konzepte von Anfragesprachen Grundlagen der Datenauswertung Anfrageoptimierung Praktisches Beispiel Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 2 Zu Beginn wird eine Übersicht über die Struktur des Vortrags gegeben. Als erstes soll kurz die Motivation hinter dem Vortrag erklärt werden. Zweiter Punkt sind die grundsätzlichen Konzepte zur Datenabfrage (ab S.6), dritter Punkt die Grundlagen der Datenauswertung, wo besprochen wird, nach welchen Kriterien Daten ausgewertet werden (ab S.14). Als viertes wird das Thema Anfrageoptimierung behandelt (ab S.19). Hier soll es grundsätzlich um die Frage gehen, wie Anfragen effizienter und schneller gestellt und verarbeitet werden können. Fünfter und letzter Punkt wird die Veranschaulichung des Themas an einem praktischen Beispiel sein (ab S.26). 2 Motivation • These: Der Wert eines Informationssystems wird auch und besonders daran gemessen, welche Fragen an das System gestellt werden können. => Ohne geeignete Abfragemöglichkeit sind gespeicherte Daten wertlos. Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 3 Es wird folgende These aufgestellt: "Der Wert eines Informationssystems wird auch und besonders daran gemessen, welche Fragen an das System gestellt werden können." (Quelle: FIN90) Das bedeutet, daß das Anfragesystem sehr wichtig für JEDES Informationssystem ist, und daß die theoretische Verfügbarkeit detaillierter Daten ohne geeignete Abfragemöglichkeit wertlos ist. Anders ausgedrückt, ein Informationssystem kann höchstens so gut wie die benutzte Anfragesprache sein. 3 Grundsätzliche Fragen • Wie mächtig ist die benutzte Sprache? • Wie formuliere ich meinen Wunsch? • Für welche Benutzergruppen ist die Abfragemethode geeignet? • Wie effizient ist die Auswertung? Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 4 Hier werden einige grundsätzliche Fragen angesprochen, die die wichtigen Themen bei der Beschäftigung mit räumlichen Anfragen suggerieren sollen. Eventuell wird dadurch mehr Interesse für den Vortrag geweckt. 4 Anfragesprachen • Schnittstelle für den Benutzer, um Informationen aus einem System zu bekommen, ohne die interne Struktur der Datenbank genau zu kennen • sehr verschiedene Arten von Anfragesprachen • Zwei Hauptkriterien zur Beurteilung der Qualität einer Anfragesprache: Benutzerfreundlichkeit <-> Funktionsumfang Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 5 Über eine Anfragesprache kann der Anwender Anfragen formulieren und vom System bearbeiten lassen, ohne dazu programmieren zu müssen. Die genauere Form dieser Anfrage kann sehr stark variieren, je nach Art des Benutzers, auf den die Sprache ausgerichtet ist, und nach grundsätzlicher Funktion des Datenbanksystems. Die Güte einer Abfragesprache wird meistens an der Benutzerfreundlichkeit (d.h. einfachen Bedienbarkeit) einerseits und dem Funktionsumfang (also der Leistungsfähigkeit) auf der anderen Seite gemessen. Es ist nicht einfach, diese beiden Anforderungen zu erfüllen, daher gibt es oft Konflikte (mehr dazu später). Das Fazit hieraus ist, daß die Qualität einer Abfragesprache nicht absolut ist. Sie kann nur aufgrund der Anforderungen an ihren Leistungsumfang und die angesprochenen Benutzergruppen beurteilt werden. 5 Konzepte von Anfragesprachen • Grundsätzliche Unterscheidung von Anfragesprachen: - nach Art der Interaktion zwischen Benutzer und System - nach Art der möglichen Operationen - nach Art der angefragten Daten Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 6 Man kann die Anfragesprachen nach der Art der Interaktion mit dem Benutzer, nach der Art der Operationen oder nach der Art der bearbeiteten Daten unterscheiden (siehe nächste Folien). 6 Unterscheidung von Anfragesprachen • Nach Art der Interaktion: - Graphische Anfragesprachen - Dialogsysteme - Formale Anfragesprachen - Natürliche Anfragesprachen Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 7 Graphische Anfragesprachen ermöglichen dem Anwender, eine Anfrage durch eine Zeichnung auszudrücken, die dann vom System ausgewertet und in eine systemspezifische Form übersetzt wird. (Hierzu war wenig Literatur zu finden.. sehr kompliziert zu implementieren) Dialogsysteme fordern jede Eingabe von Daten beim Anwender an. Das System rechnet hierbei soweit es kommt und fragt dann nach und zeigt eventuell auch die möglichen Alternativen an. Oft korrespondiert das Dialogsystem abwechselnd mit Nutzer und Datenbanksystem, wobei die Auswahlmöglichkeiten dann abhängig von Datenbankinhalt sind. Der Vorteil von Dialogsystemen ist, daß beim Nutzer die geringsten Kenntnisse vorausgesetzt werden. Er benötigt keine Kenntnisse über die interne Struktur der Daten oder das Abfrageprogramm. Ein Nachteil ist die geringe Geschwindigkeit. Bildschirmausgaben und erneute Eingaben brauchen Zeit. Der Nutzer tätigt immer wieder gleiche Eingaben, die für professionelle Anwender lästig werden können. Daher sind Dialogsysteme hauptsächlich für gelegentliche Nutzer geeignet (Beispiel: Fahrkartenautomat der Deutschen Bahn). Bei formalen Anfragesprachen wird die Anfrage nach vordefinierten Regeln in Textform gestellt, ähnlich wie bei Programmiersprachen. Man benutzt in der Regel dem Englischen ähnliche Schlüsselwörter und eine mathematische Symbolik. Von Aufbau und Syntax her sind die verschiedenen formalen Abfragesprachen meist recht ähnlich. Diese Form der Abfrage ist eine schnelle und flexible Methode zur Datenauswertung. Der Hauptnachteil ist, daß formale Sprachen relativ schwierig zu lernen und kompliziert in der Handhabung sind. Daher sind sie hauptsächlich für permanente, professionelle Benutzer geeignet. Ein Beispiel für formale Anfragesprachen ist die Structured Query Language (SQL) der heute vorherrschenden relationalen Datenbanksysteme. Viele andere formale Anfragesprachen lassen sich prinzipiell auf SQL oder den Vorgänger SEQUEL zurückführen. Natürliche Anfragesprachen stellen den Versuch dar, dem Benutzer zu ermöglichen, dem Computer seinen Wunsch wie einem menschlichen Gesprächspartner mitzuteilen. Diese Anfragemethode ist sehr flexibel und intuitiv zu bedienen. Allerdings kann der fehlende Formalismus zu mehrdeutigen oder falsch verstandenen Anfragen führen, da die Alltagssprache oft sehr ungenau ist. Außerdem ist eine solche Sprache sehr aufwendig zu implementieren. Diese Sprachen werden bisher in der Praxis selten eingesetzt, könnten aber in der Zukunft sehr interessant für dieses Gebiet werden. 7 Unterscheidung von Anfragesprachen • Nach der Art der Operationen: - reine Abfragesprache - Data Manipulation Language (DML): auch Veränderung der Daten - Data Definition Language (DDL): auch Definition der Daten Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 8 Abfragesprachen werden außerdem nach ihrem grundsätzlichen Funktionsumfang unterschieden. Reine Abfragesprachen erlauben keine Veränderung der gespeicherten Daten. Data Manipulation Languages (DML) ermöglichen auch die Manipulation der im Datenbanksystem gespeicherten Daten, wie z.B. Operationen wie INSERT oder DELETE. Data Definition Languages (DDL) erlauben zusätzlich noch die Definition neuer Datenstrukturen und Objekte. 8 Unterscheidung von Anfragesprachen • Nach der Art der Daten: - Graph-Anfragesprachen - Räumliche Anfragesprachen (Spatial Query Language, SpQL) - Geographische Anfragesprachen (Geographical Query Language, GQL) Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 9 Graph-Anfragesprachen erlauben Anfragen auf Graphen, welche aus durch Kanten verbundenen Knoten bestehen. Graphen finden in GIS z. B. für die Verwaltung von Netzwerken von Straßen oder Versorgungsleitungen Anwendung. Obwohl einige GIS-Probleme mit Graphen gelöst werden können, decken sie nur einen Teilbereich ab. Sie reichen deshalb nicht als alleinige geographische Abfragesprache aus. Räumliche Anfragesprachen (Spatial Query Language, SpQL) ermöglichen Anfragen auf Daten mit einem räumlichen Bezug. Typische Anwendungsbereiche sind CAD-CAM, VLSI-Design, Robotersteuerung, historische Datenbanken, Architektur, räumliche Wahrnehmung und autonome Navigation, Wegverfolgung, Umweltschutz, medizinische Bilddaten und Geoinformationssysteme. Geographische Anfragesprachen (Geographical Query Language, GQL) sind eine Spezialisierung räumlicher Anfragesprachen für geographische Daten. Auf die Besonderheiten von Geodaten wird hier im Gegensatz zu räumlichen Anfragesprachen besondere Rücksicht genommen (z.B. Ungenauigkeit der Daten (Meßfehler), Größe der betrachteten Objekte (meist größer als bei anderen Anwendungen)). 9 GEOQL – Beispiel einer formalen geographischen Anfragesprache • GEOQL ist eine Erweiterung von SQL • Funktionalität und Syntax sehr ähnlich SQL • Zusätzlich spezielle räumliche Operatoren Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 10 GEOQL ist ein erweitertes SQL. Es bietet die Funktionalität und Syntax von SQL, zusätzlich allerdings ein Angebot von räumlichen Operatoren speziell für Geodaten. 10 Beispiel für eine räumliche Anfrage mit GEOQL • Fragestellung: „Finde alle Städte mit einer Einwohnerzahl über 5000 im Umkreis von 200 km um den Bodensee“ • Problem mit reinem SQL: keine Möglichkeit, Entfernungen zwischen Objekten abzufragen Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 11 Anhand eines Beispiels soll die Funktionsweise von GEOQL kurz erklärt werden. Man will an eine Geodatenbank folgende Anfrage stellen: „Finde alle Städte mit einer Einwohnerzahl über 5000 im Umkreis von 200 km um den Bodensee“ SQL bietet z.B. keine Möglichkeit, räumliche Entfernungen zwischen Objekten abzufragen, deshalb könnte diese Frage in reinem SQL nicht formuliert werden. 11 Räumliche Anfrage mit GEOQL Formulierung der Frage in GEOQL: SELECT FROM WHERE Räumliche Anfragen CITY.Name CITY, LAKE LAKE.Name = ´Bodensee´ and CITY.Population >= 5000 and CITY within 200 km of LAKE. Marius Zirngibl / FB Informatik Uni Hamburg 12 Typische SQL-Anfrage mit Ausnahme des "within"-Operators. Dieser ist eine Erweiterung von GEOQL, die in SQL nicht vorkommt und mit dem Entfernungen zwischen Objekten abgefragt werden können. 12 Räumliche Operatoren von GEOQL intersects adjacent joins ends_at contains situated_at within closest furthest Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 13 Erklärung der einzelnen Operatoren: intersects - schneiden sich zwei Objekte? adjacent - berühren sich zwei Objekte? joins - verbinden sich zwei Objekte? ends_at - endet ein Objekt im anderen? contains - ein Objekt enthält das Andere situated_at - Koordinaten eines Objektes within - innerhalb eines bestimten Umkreises closest - das näheste Objekt (nächster Nachbar) furthest - am weitesten entfernt 13 Grundlagen der Datenauswertung Man unterscheidet grundsätzlich zwei Methoden der Datenauswertung: - Thematische Datenselektion - Geometrische Datenselektion Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 14 14 Thematische Datenselektion • In den meisten Datenbanken zu finden, nicht nur in GIS • Selektion bestimmter Objekttypen mit bestimmten Attributen • Formale Struktur einer thematischen Selektionsanfrage: <Operand 1> <logischer Operator> <Operand 2> Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 15 Datenselektion nach thematischen oder fachlichen Kriterien wird sowohl in Systemen ohne als auch mit Raumbezug verwendet. Bei dieser Selektionsmethode werden bestimmte Objekttypen vorgegeben, die dann aus der Datenbank selektiert werden, indem bestimmte Attributwerte aller oder einiger Objekte dieses Typs untereinander oder mit vorgegebenen Werten verglichen. Die formale Struktur einer thematischen Anfrage ist "<Operand1> <logischer Operator> <Operand2>". Der logische Operator ist etwas in der Art von "gleich","ungleich","enthält vollständig/teilweise","beginnt mit","endet auf" etc. Mehrere Ausdrücke dieser Form können wieder mit logischen Operatoren (UND, ODER, NICHT, XOR) miteinander verknüpft werden. Ein Beispiel, in dem thematische Datenselektion in Zusammenhang mit Geoinformationssystem benutzt wird, ist folgendes: "Gib mir alle Städte in der Datenbank aus, deren Einwohnerzahl größer 20.000 ist." 15 Geometrische Datenselektion • Nur in raumbezogenen Informationssystemen zu finden • Selektion von geometrischen Objekten, die zu anderen geometrischen Figuren in einer bestimmten topologischen Beziehung stehen • Formale Struktur einer geometrischen Selektionsanfrage: <Operand 1> <geometrischer Operator> <Operand 2> Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 16 Die Datenselektion nach geometrischen oder räumlichen Kriterien unterscheidet ein raumbezogenes Informationssystem von jedem anderen System. Daher ist die geometrische Datenselektion ein typisches Merkmal eines Geoinformationssystems. Es werden in der Datenbank gespeicherte Objekte gesucht, die zu vorgegebenen geometrischen Figuren in einem bestimmten räumlichen Verhältnis stehen. Die formale Struktur einer geometrischen Selektionsanfrage ist analog zur thematischen Datenselektion "<Operand1> <geometrischer Operator> <Operand2>". <Operand 1> bezeichnet hier die zu suchenden, in der Datenbank gespeicherten Objekte bzw. Objektteile. <Operand 2>, das "Vergleichsobjekt", kann entweder ein reelles Objekt aus der Datenbank sein (z.B. Fläche, Linie, Punkt) oder ein virtuelles Objekt (z.B. Suchstrahl, Suchkreis). Ein virtuelles Objekt ist in diesem Zusammenhang ein Objekt, das nur für diese Anfrage generiert wird, aber nicht Teil der Datenbasis ist. Wie bei der thematischen Datenselektion können Ausdrücke mit logischen Operatoren verknüpft werden; auch Kombinationen von thematischen und geometrischen Selektionen sind möglich. Wie virtuelle Objekte funktionieren, läßt sich am Beispiel des Suchkreises veranschaulichen. Will man z.B. alle Objekte von der Datenbank geliefert bekommen, die höchstens einen festgelegten Abstand d von einem bestimmten Punkt X haben, dann erzeugt man einfach ein virtuelles Suchkreis-Objekt mit Mittelpunkt X und Radius d und stellt dann fest, mit welchen Objekten sich dieser Suchkreis schneidet. 16 Topologische Beziehungen Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 17 Hier wird anschaulich erklärt, wie eine geometrische Datenselektion funktioniert. Der Operator definiert das räumliche Verhältnis zwischen den beiden Operanden, sozusagen die Soll-Lage zweier Figuren. Geometrische Operatoren sind teilweise analog zu logischen ("enthält vollständig/teilweise"), wobei hier der semantische Bedeutungsunterschied zu beachten ist, zum großen Teil sind sie nicht zu vergleichen ("berührt","schneidet","ist parallel","berührt nicht"). Viele der hier gezeigten Objekt-Relationen sind auch bei den geometrischen Operatoren von GEOQL (S. 13) zu finden. 17 Unterarten geometrischer Datenselektion • „m nearest neighbour query“: Abfrage der m nächsten Objekte zu einem vorgegebenen Objekt • Homöomorphismen: geometrische Ähnlichkeit zwischen Objekten Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 18 Die "m nearest neighbour query" hat die Besonderheit, daß das Ergebnis dieser Anfrage nicht nur von zwei Operanden (Vergleichsobjekten) abhängt. Homöomorphismen sind im Gegensatz zu anderen geometrischen Vergleichsoperationen nicht abhängig von den topologischen Beziehungen zwischen den Vergleichsobjekten, sondern von der Ähnlichkeit der Objektgeometrien und topologischen Beziehungen zur Nachbarschaft. Aufgrund der schwierigen Realisierung werden Homöomorphismen sehr selten implementiert. 18 Anfrageoptimierung • Große Datenmengen => hoher Rechenaufwand bei komplexen Anfragen • Deshalb Unterteilung des Raumes mittels eines räumlichen Index Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 19 Ein grundlegendes Problem räumlicher Anfragen sind die oft sehr großen Datenmengen, die in Geodatenbanken gespeichert sind und deren Bearbeitung folglich sehr viel Zeit kostet. Daher ist die Anfrageoptimierung ein essentieller Bestandteil eines vernünftigen Anfragesystems. Die Grundlage der Anfrageoptimierung ist die Indizierung der Daten durch einen räumlichen Index (spatial index). Die Daten werden aufgrund ihrer Position im Raum eingeteilt und in Sektoren zusammengefaßt. Wenn sich die Anfrage auf Daten in einem eingeschränkten räumlichen Bereich bezieht (was sie in der Praxis meistens tut), dann muß nicht die gesamte Datenbank durchsucht werden, sondern nur die relevanten Sektoren, was die Anfrage meistens sehr wesentlich beschleunigt. 19 Quadtree • Algorithmus basiert auf der rekursiven Zerlegung einer Fläche in vier Teile • Entstandene Teilflächen werden durchnumeriert (indiziert) • Grad der Zerlegung abhängig von der Objektdichte Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 20 Ein Beispiel eines räumlichen Index ist der Quadtree. Dieser Algorithmus basiert auf einer rekursiven Einteilung des Raumes in vier Teile, wobei der Grad der Zerlegung von der Objektdichte abhängig ist. Die Regel lautet, daß man so lange teilt, bis sich in jedem Sektor nur noch höchstens n Objekte befinden. Die entstandenen Sektoren werden indiziert, um später darauf zugreifen zu können. 20 Quadtree • Erstellung des Quadtree auf Grundlage einer bestehenden Datenbasis • Position im DB-System zwischen Datenbasis und Anfragesystem • Fungiert als Zwischenspeicher („cache“) • Speicherung als Baumstruktur mit genau vier Blättern je Knoten (daher „Quadtree“) Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 21 Ein Quadtree wird auf Grundlage einer bestehenden Datenbasis erstellt. Er ist ein eigenständiges Objekt zwischen Datenbasis und Benutzerschnittstelle, eine Art Zwischenspeicher(deshalb auch "cache" genannt) und ist daher auch kein eigentlicher Teil der Datenbasis. Wird die Datenbasis geändert, so muß geprüft werden, ob neu indiziert werden muß. Dies ist der Fall, wenn die Objektdichte den vorgegebenen Wert überschreitet. Der Quadtree wird als Baumstruktur mit vier Blättern je Knoten gespeichert (daher der Name Quadtree). Die Struktur wird später noch genauer erklärt. 21 Quadtree Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 22 Hier ein Beispiel für die Funktionsweise des Quadtree. Die hier benutzte Datenbasis besteht aus 14 Rechteck-Objekten (siehe linke Abbildung). Der Quadtree-Algorithmus zerlegt die von den Objekten beanspruchte Fläche so lange rekursiv in vier Quadranten, bis höchstens vier Objekte pro Quadrant vorhanden sind. Jeder Knoten in der Baumstruktur repräsentiert einen Quadranten. In jedem Knoten wird Information darüber gespeichert, welche Objekte in dem jeweiligen Quadranten enthalten sind und welche Koordinaten dieser umfaßt. 22 Anfrage im Quadtree Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 23 Bei einer Anfrage in einem quadtree-indizierten System wird von der Wurzel ausgehend jeder Knoten geprüft, ob die gesuchten Koordinaten im Quadranten enthalten sind. Dies verschafft einen offensichtlichen Zeitvorteil, da nur im ungünstigsten Fall alle Knoten abgefragt werden müssen. 23 Einfügen neuer Knoten Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 24 Im Beispiel auf dieser Folie kommen zwei neue Objekte in die Datenbank, 15 und 16. Quadrant b enthält jetzt mehr als vier Objekte, deswegen wird neu indiziert. Quadrant b wird wieder in vier Sektoren aufgeteilt, und der Quadtree wird durch die Knoten m, n, p und q erweitert. 24 Octree Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 25 Der Octree ist die Entsprechung des Quadtree für den dreidimensionalen Raum. Statt vier besitzt die Baumstruktur acht Blätter je Knoten. Ein würfel- oder quaderförmiger Raumausschnitt wird in acht gleichgroße Sektoren aufgeteilt und die enthaltenen Objekte wie beim Quadtree indiziert. Mit dieser Technik ist eine räumliche Indizierung von dreidimensionalen Geodaten möglich. 25 Beispiel für räumliche Indizierung • Frage: Wie viele Windkraftwerke gibt es in Hamburg, und wo liegen sie? Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 26 Zum Ende des Vortrags soll hier noch ein anschauliches Beispiel gegeben werden.Man will die auf der Folie zu sehende Anfrage an ein Geoinformationssystem stellen. Das Problem ist, es gibt eventuell sehr viele Windturbinen in der Datenbank (in Deutschland z.B. einige tausend), daher würde es sehr lange dauern, jede einzeln auf ihre Koordinaten zu prüfen. 26 Beispiel für räumliche Indizierung Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 27 Man kann dieses Problem mit der Quadtree-Indizierung lösen. Auf der Folie ist eine fiktive Quadtree-Aufteilung zu sehen, mit der die Karte indiziert werden soll. 27 Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 28 Anmerkung: in der virtuellen Datenbank sind viele verschiedene Objekte gespeichert, z.B. Bäume, Stromleitungen, Gebäude, und eben Windkraftwerke. Die Sektorengröße wäre unlogisch, wenn nur die Windräder in der Datenbank gespeichert wären. 28 Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 29 Das Gebiet der Stadt Hamburg ist als Flächenobjekt gespeichert, die Windräder als Punkte. Hier taucht das bekannte Problem auf: Bei obiger Anfrage müssen alle Windräder im System einzeln abgefragt werden. Nach der Indizierung mit dem Quadtree-Algorithmus weiß das System, daß die Fläche "Hamburg" sich komplett in den Quadranten X1 bis Xn befindet. Kommt an dieses indizierte System die obige Anfrage, müssen natürlich auch nur noch diejenigen Windräder beachtet werden, die innerhalb dieser Quadranten liegen. Wenn die Datenbasis signifikant größer als der betrachtete Ausschnitt ist, reduziert das den Suchaufwand und damit die Suchzeit natürlich beträchtlich. Geht man z.B. davon aus, daß wir eine Datenbank für ganz Deutschland benutzen, so müssen nur die Windkraftwerke in Hamburg und Umgebung betrachtet werden, was ungefähr einer Aufwandsreduzierung um den Faktor 100 entspricht. 29 Darstellung der Auswertungsergebnisse • Verschiedene Möglichkeiten der Datenausgabe: - textuelle Darstellung (Listen, Tabellen) - graphische Darstellung (Diagramme) - kartographische Darstellung • Kombinationen häufig und nützlich => Übersicht vs. Detailgenauigkeit Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 30 Die Ausgabe der Daten ist im Prinzip ebenso wichtig für eine Räumliche Anfrage wie die verwendete Abfragesprache. Wenn das Abfrageergebnis für den Benutzer nicht verständlich ist, ist auch die beste Datenbank mit der besten Abfragesprache nutzlos. Die wichtigsten Ausgabemethoden: -Text in Form von Tabellen oder Listen -graphische Ausgabe (Diagramme) -kartographische Ausgabe Diese Ausgabemethoden werden sehr oft in Kombination verwendet. Der Informationsgehalt nimmt von oben nach unten prinzipiell ab, wobei natürlich z.B. eine Ausgabe mittels einer Karte sehr anschaulich ist und somit Informationen über das Ergebnis darstellen kann, die aus einer präzisen tabellarischen Textausgabe nicht ersichtlich sind. Die Kombination dieser Methoden ist wichtig, da nur dadurch gleichzeitig übersichtliche wie anschauliche Ergebnisse dargestellt werden können. 30 Literaturverzeichnis • • • • • • Dirk Findeisen: Datenstruktur und Abfragesprachen für raumbezogene Informationen, Kirchbaum Verlag, Bonn, 1990 [FIN90] Beng Chin Ooi: Efficient query processing in geographic information systems, Springer Verlag, Berlin, 1990 [OOI90] Matthias Ziegler: Untersuchung geographischer Anfragesprachen auf der Basis relationaler und objektrelationaler Datenbankmanagementsysteme, München, 2001 [ZIE01] Nabil Adam, Aryya Gangopadhyay: Database Issues in Geographic Information Systems, Kluwer, Boston,1997 [ADA97] Philippe Rigaux, Michel Scholl, Agnes Voisard: Spatial Databases with Apllication to GIS, Morgan Kaufmann, 2002 [RIG02] Hanan Samet: Neighbor finding in images represented by Octrees, University of Maryland, 1988 [SAM88] Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 31 31 Diskussion • Wie könnten graphische Anfragesprachen aussehen und wie sinnvoll ist deren Einsatz? • Wie effizient können natürliche Anfragesprachen sein? Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 32 32