Räumliche Anfragen - Universität Hamburg

Werbung
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
Herunterladen