Räumliche Anfragen GIS-Seminar WS04/05 Marius Zirngibl FBI, Universität Hamburg Ü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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Topologische Beziehungen Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 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 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 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 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 Quadtree Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 22 Anfrage im Quadtree Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 23 Einfügen neuer Knoten Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 24 Octree Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 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 Beispiel für räumliche Indizierung Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 27 Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 28 Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 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 Literaturverzeichnis • • • • • • Dirk Findeisen: Datenstruktur und Abfragesprachen für raumbezogene Informationen, Kirchbaum Verlag, Bonn, 1990 Beng Chin Ooi: Efficient query processing in geographic information systems, Springer Verlag, Berlin, 1990 Matthias Ziegler: Untersuchung geographischer Anfragesprachen auf der Basis relationaler und objektrelationaler Datenbankmanagementsysteme, München, 2001 Nabil Adam, Aryya Gangopadhyay: Database Issues in Geographic Information Systems, Kluwer, Boston,1997 Philippe Rigaux, Michel Scholl, Agnes Voisard: Spatial Databases with Apllication to GIS, Morgan Kaufmann, 2002 Hanan Samet: Neighbor finding in images represented by Octrees, University of Maryland, 1988 Räumliche Anfragen Marius Zirngibl / FB Informatik Uni Hamburg 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