Seminar 1912, 19912 – Algorithmen für Geound Moving-Objects-Datenbanken Thomas Behr 26. September 2013 Zusammenfassung Heutige Datenbanksystem können neben den klassischen Standarddaten (int, real, string) auch strukturierte Daten speichern. Unter Anderem bieten viele moderne Systeme die Möglichkeit an, Geodaten zu verwalten. Solche Daten sind vor allem Punkte, Punktmengen, Linien oder Gebiete. Die beiden letztgenannten können dabei recht komplex werden. So besteht die Möglichkeit, dass ein Gebiet aus mehreren nicht zusammenhängenden Teilen besteht, die wiederum Löcher aufweisen können. Ändern sich die Werte von Objekten im Laufe der Zeit, spricht man von bewegten Objekten (Moving Objects). Der wohl wichtigste Vertreter ist hierbei der Moving Point, mit dem man z.B. Positionen von Fahrzeugen oder Personen darstellen kann. Nun möchte man nicht nur in der Lage sein, solche Objekte in der Datenbank zu speichern, vielmehr soll das DBS es auch ermöglichen, mehr oder weniger komplexe Analysen mit diesen Daten durchzuführen. Da die in Datenbanksystemen verwalteten Datenmengen oft sehr groß sind, müssen die für die Analysen notwendigen Algorithmen schnell sein, um vernüftige Antwortzeiten zu erreichen. Dies betrifft sowohl die Verarbeitung weniger (meist 2) geometrischen Objekten als auch die Verarbeitung großer Objektmengen. Das Seminar 1912/19912 befasst sich im WS13/14 mit solchen Algorithmen. 1 1.1 Geo-Datenbanken Modellierung geometrischer Objekte Spricht man über geometrische Objekte, so muss klar sein, was das überhaupt ist. Um Daten zwischen verschiedenen Geo-Datenbanken austauschen 1 zu können, wurden Standards geschaffen, die definieren, welche Typen geometrischer Objekte existieren, welche Eigenschaften diese Objekte haben, welche Operationen auf ihnen definiert sind und wie sie extern dargestellt werden können. Dabei stellen diese Standards eine Art Mindestanforderung an Geo-Datenbanken dar. In der Ausarbeitung und in dem dazugehörigen Vortrag wird das Simple-Feature-Modell behandelt. Sie sollen einen Überblick über die wichtigsten Konzepte geben. Als Basisliteratur der Ausarbeitung dient [OGC10]. 1.2 Spatial Join Eine wichtige Operation in Datenbanken ist der Join. Hier werden solche Tupel zweier Relationen miteinander verschmolzen, die eine bestimmte Bedingung erfüllen. In Geo-Datenbanken stellt der Spatial-Join einen wichtigen Spezialfall dar. Ziel ist es, solche Tupel miteinander zu verknüpfen, deren geometrische Attribute in einer bestimmten Beziehung (Überlappung, Enthaltensein) miteinander stehen. Im Gegensatz zum klassischen Join berechnet der Spatial-Join jedoch noch nicht das endgültige Ergebnis, sondern liefert eine Kandidatenmenge, die noch auf die Bedingung geprüft werden muss. Diese Kandidatenmenge enthält alle Tupelpaare, die die Bedingung erfüllen und gegebenfalls noch weitere Tupelpaare, die später entfernt werden müssen. Das Thema soll verschiedene Ansätze beleuchten, die einen solchen Spatial-Join ermöglichen. Als Basisliteratur dienen [BKS93] und [NTH+ 13] 1.3 Vereinfachung von Geometrien Berechnungen, die auf komplexen Geometrien ausgeführt werden, haben meist eine recht hohe Laufzeit. Diese hängt wiederum von der Anzahl der enthaltenen Punkte/Segmente ab. Häufig haben die Quelldaten eine sehr hohe Auflösung, die nicht immer benötigt wird. Kann man nun die Geometrien vereinfachen, lassen sich viele Berechnungen schneller ausführen und die Antwortzeit des Datenbanksystems wird besser. Auch für die Anzeige von Geometrien in einer graphischen Oberfläche ist es sinnvoll, Geometrien zu vereinfachen, z.B: weil die Auflösung der Darstellung geringer ist als die der vorhandenen Daten. Als Basisliteratur dienen [ABHZ10] und [CMB12]. 2 1.4 Nächste Nachbarn Suche Eine wichtige Operation in Geo-Datenbanken ist das Finden der nächsten Nachbarn zu einer gegebenen Position. So kann ein Benutzer/ eine Benutzerin z.B. die nächstgelegenen Tankstellen oder Einkaufszentren zur aktuellen Position abfragen. Dieses Thema soll verschiedene Ansätze zur NächstenNachbarn-Suche näher beleuchten. Als Basisliteratur dienen [Hen94] und [SPS05]. 2 2.1 Moving-Objects-Datenbanken Modellierungen bewegter Objekte Moving Objects beschreiben die Veränderungen der Position (und/oder der Form) von Objekten. Hier sind zwei wichtige Modellierungen zu unterscheiden. Zum einen sollen die aktuellen und erwarteten zukünftigen Positionen dargestellt werden können. Mit Hilfe dieser Modellierung können Fragen wie Wo befindet sich Taxi HA EC 666 derzeit?“ oder Welcher LKW erreicht ” ” als erster das Depot?“ beantwortet werden. Der andere Modellierungsansatz erlaubt die Analyse aufgezeichneter Bewegungsdaten. Neben Datentypen zur Darstellung bewegter Objekte gehören zu diesem Modell eine Reihe Operatoren, die eine umfangreiche Analyse solcher Daten ermöglichen. Als Basisliteratur dienen [WXCJ98] und [EGSV99]. 2.2 Ähnlichkeiten zwischen Bewegungen Ist eine Menge bewegter Objekte in einer Datenbank gespeichert, so kann es notwendig sein, zu einer gegebenen Bewegung die ähnlichste Bewegung in dieser Datenbank zu finden. Eine weitere Anwendung eines Ähnlichkeitsmaßes ist das Clustern einer Menge von Bewegungen. Hierdurch können z.B. die Bewegungen einer Gruppe von Tieren zu einer einzigen Bewegung zusammengefasst werden. Dies spart Speicherplatz und ermöglicht weitere (und schnellere) Analysen. Als Basisliteratur dienen [BBKL09] und [HKL06]. 2.3 Indexe auf bewegten Objekten Um in einer großen Menge bewegter Objekte diejenigen wiederfinden zu können, die bestimmte Eigenschaften erfüllen, bedient man sich – wie auch bei nicht bewegten Objekten – Indexstrukturen. Für die Suche von bewegten 3 Objekten sind die klassischen Indexe wie die B-Baum-Familie offenbar ungeeignet. Räumliche Indexstrukturen wie der R-Baum lassen sich durchaus für die Indexierung von bewegten Objekten verwenden. Diese sind jedoch auch nicht für alle Aufgaben brauchbar. Daher gibt es eine Reihe speziell für solche Objekte entworfene Indexstrukturen, um eine schnelle Suche auf bewegten Objekten durchzuführen. Als Basisliteratur dienen [CEP03] und [NR05]. 2.4 Data Mining Stehen sehr große Datenmengen bewegter Objekte zur Verfügung, ist man häufig weniger an den einzelnen Bewegungsabläufen interessiert. Vielmehr versucht man, innerhalb dieser Daten bestimmte Eigenschaften/Muster zu erkennen, um z.B. Vorhersagen für neu eintreffende Daten machen zu können. Damit beschäftigt sich dieses Thema des Seminars. Als Basisliteratur dienen [LXMW12] und [YH06]. Literatur [ABHZ10] Abam, Mohammad A. ; Berg, Mark de ; Hachenberger, Peter ; Zarei, Alireza: Streaming Algorithms for Line Simplification. In: Discrete & Computational Geometry 43 (2010), Nr. 3, S. 497–515 [BBKL09] Buchin, Kevin ; Buchin, Maike ; Kreveld, Marc J. ; Luo, Jun: Finding long and similar parts of trajectories. In: Agrawal, Divyakant (Hrsg.) ; Aref, Walid G. (Hrsg.) ; Lu, ChangTien (Hrsg.) ; Mokbel, Mohamed F. (Hrsg.) ; Scheuermann, Peter (Hrsg.) ; Shahabi, Cyrus (Hrsg.) ; Wolfson, Ouri (Hrsg.): GIS, ACM, 2009. – ISBN 978–1–60558–649–6, S. 296– 305 [BKS93] Brinkhoff, Thomas ; Kriegel, Hans-Peter ; Seeger, Bernhard: Efficient Processing of Spatial Joins Using R-Trees. In: SIGMOD Conference, 1993, S. 237–246 [CEP03] Chakka, V. P. ; Everspaugh, Adam ; Patel, Jignesh M.: Indexing Large Trajectory Data Sets With SETI. In: CIDR, 2003 4 [CMB12] Corcoran, Padraig ; Mooney, Peter ; Bertolotto, Michela: Line Simplification in the Presence of Non-Planar Topological Relationships. In: Gensel, Jérôme (Hrsg.) ; Josselin, Didier (Hrsg.) ; Vandenbroucke, Danny (Hrsg.): AGILE Conf., Springer, 2012 (Lecture Notes in Geoinformation and Cartography). – ISBN 978–3–642–29062–6, S. 25–42 [EGSV99] Erwig, Martin ; Güting, Ralf H. ; Schneider, Markus ; Vazirgiannis, Michalis: Spatio-Temporal Data Types: An Approach to Modeling and Querying Moving Objects in Databases. In: GeoInformatica 3 (1999), Nr. 3, S. 269–296 [Hen94] Henrich, Andreas: A Distance Scan Algorithm for Spatial Access Structures. In: ACM-GIS, 1994, S. 136–143 [HKL06] Hwang, Jung-Rae ; Kang, Hye-Young ; Li, Ki-Joune: Searching for Similar Trajectories on Road Networks Using Spatiotemporal Similarity. In: Manolopoulos, Yannis (Hrsg.) ; Pokorný, Jaroslav (Hrsg.) ; Sellis, Timos K. (Hrsg.): ADBIS Bd. 4152, Springer, 2006 (Lecture Notes in Computer Science). – ISBN 3–540–37899–5, S. 282–295 [LXMW12] Liebig, Thomas ; Xu, Zhao ; May, Michael ; Wrobel, Stefan: Pedestrian Quantity Estimation with Trajectory Patterns. In: Flach, Peter A. (Hrsg.) ; Bie, Tijl D. (Hrsg.) ; Cristianini, Nello (Hrsg.): ECML/PKDD (2) Bd. 7524, Springer, 2012 (Lecture Notes in Computer Science). – ISBN 978–3–642–33485–6, S. 629–643 [NR05] Ni, Jinfeng ; Ravishankar, Chinya V.: PA-Tree: A Parametric Indexing Scheme for Spatio-temporal Trajectories. In: Medeiros, Claudia B. (Hrsg.) ; Egenhofer, Max J. (Hrsg.) ; Bertino, Elisa (Hrsg.): SSTD Bd. 3633, Springer, 2005 (Lecture Notes in Computer Science). – ISBN 3–540–28127–4, S. 254–272 [NTH+ 13] Nobari, Sadegh ; Tauheed, Farhan ; Heinis, Thomas ; Karras, Panagiotis ; Bressan, Stéphane ; Ailamaki, Anastasia: TOUCH: in-memory spatial join by hierarchical data-oriented partitioning. In: Ross, Kenneth A. (Hrsg.) ; Srivastava, Divesh (Hrsg.) ; Papadias, Dimitris (Hrsg.): SIGMOD Conference, ACM, 2013. – ISBN 978–1–4503–2037–5, S. 701–712 5 [OGC10] OGC ; Herring, John R. (Hrsg.): OpenGIS Implementation Standard for Geographic information - Simple feature access - Part 2: SQL option. Version: 1.2.1. 2010. – Available at http://www.opengeospatial.org/standards/sfs [SPS05] Skopal, Tomás ; Pokorný, Jaroslav ; Snásel, Václav: Nearest Neighbours Search Using the PM-Tree. In: Zhou, Lizhu (Hrsg.) ; Ooi, Beng C. (Hrsg.) ; Meng, Xiaofeng (Hrsg.): DASFAA Bd. 3453, Springer, 2005 (Lecture Notes in Computer Science). – ISBN 3–540–25334–3, S. 803–815 [WXCJ98] Wolfson, Ouri ; Xu, Bo ; Chamberlain, Sam ; Jiang, Liqin: Moving Objects Databases: Issues and Solutions. In: Rafanelli, Maurizio (Hrsg.) ; Jarke, Matthias (Hrsg.): SSDBM, IEEE Computer Society, 1998. – ISBN 0–8186–8575–1, S. 111–122 [YH06] Yang, Jiong ; Hu, Meng: TrajPattern: Mining Sequential Patterns from Imprecise Trajectories of Mobile Objects. In: Ioannidis, Yannis E. (Hrsg.) ; Scholl, Marc H. (Hrsg.) ; Schmidt, Joachim W. (Hrsg.) ; Matthes, Florian (Hrsg.) ; Hatzopoulos, Michael (Hrsg.) ; Böhm, Klemens (Hrsg.) ; Kemper, Alfons (Hrsg.) ; Grust, Torsten (Hrsg.) ; Böhm, Christian (Hrsg.): EDBT Bd. 3896, Springer, 2006 (Lecture Notes in Computer Science). – ISBN 3–540–32960–9, S. 664–681 6