Computational Data Modeling and Queries for Location-Based Services in Road Networks Irina Aleksandrova, Augustas Kligys, Laurynas Speičys.

Slides:



Advertisements
Similar presentations
ADAPTIVE FASTEST PATH COMPUTATION ON A ROAD NETWORK: A TRAFFIC MINING APPROACH Hector Gonzalez, Jiawei Han, Xiaolei Li, Margaret Myslinska, John Paul Sondag.
Advertisements

an incremental version of A*
Depth-First Search1 Part-H2 Depth-First Search DB A C E.
Approximations of points and polygonal chains
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Lecture 7: Synchronous Network Algorithms
Graph Traversals Visit vertices of a graph G to determine some property: Is G connected? Is there a path from vertex a to vertex b? Does G have a cycle?
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
17. Computational Geometry Chapter 7 Voronoi Diagrams.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Graph & BFS.
Graphs CS-240/341. Graphs Used for representing many-to-many relationships –can take two forms directed (digraph) - a finite set of elements called vertices.
Spatio-temporal Databases Time Parameterized Queries.
Graphs CS-240/341. Uses for Graphs computer networks and routing airline flights geographic maps course prerequisite structures tasks for completing a.
The Fourth WIM Meeting 1 Active Nearest Neighbor Queries for Moving Objects Jan Kolar, Igor Timko.
Lecture 14: Graph Algorithms Shang-Hua Teng. Undirected Graphs A graph G = (V, E) –V: vertices –E : edges, unordered pairs of vertices from V  V –(u,v)
Graphs. Graphs Many interesting situations can be modeled by a graph. Many interesting situations can be modeled by a graph. Ex. Mass transportation system,
Tracking Moving Objects in Anonymized Trajectories Nikolay Vyahhi 1, Spiridon Bakiras 2, Panos Kalnis 3, and Gabriel Ghinita 3 1 St. Petersburg State University.
Voronoi Diagrams.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Computational Data Modeling and Query Processing in Road Networks Irina Aleksandrova, Augustas Kligys, Laurynas Speičys 4-th WIM meeting, Aalborg 2002.
Route Planning Vehicle navigation systems, Dijkstra’s algorithm, bidirectional search, transit-node routing.
Trip Planning Queries F. Li, D. Cheng, M. Hadjieleftheriou, G. Kollios, S.-H. Teng Boston University.
Routing 2 Outline –Maze Routing –Line Probe Routing –Channel Routing Goal –Understand maze routing –Understand line probe routing.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 Minimum Spanning Trees Longin Jan Latecki Temple University based on slides by David Matuszek, UPenn, Rose Hoberman, CMU, Bing Liu, U. of Illinois, Boting.
David Luebke 1 8/7/2015 CS 332: Algorithms Graph Algorithms.
Review of Graphs A graph is composed of edges E and vertices V that link the nodes together. A graph G is often denoted G=(V,E) where V is the set of vertices.
GIS Analysis. Questions to answer Position – what is here? Condition – where are …? Trends – what has changed? Pattern – what spatial patterns exist?
Distance Indexing on Road Networks A summary Andrew Chiang CS 4440.
1 Minimum Spanning Trees Longin Jan Latecki Temple University based on slides by David Matuszek, UPenn, Rose Hoberman, CMU, Bing Liu, U. of Illinois, Boting.
Minimum Spanning Trees What is a MST (Minimum Spanning Tree) and how to find it with Prim’s algorithm and Kruskal’s algorithm.
Outline Who am I? What is research? My Research Higher studies opportunities in Australia Getting jobs in IT industry Presented by: Muhammad Aamir Cheema,
Navigating and Browsing 3D Models in 3DLIB Hesham Anan, Kurt Maly, Mohammad Zubair Computer Science Dept. Old Dominion University, Norfolk, VA, (anan,
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
1 SD-Rtree: A Scalable Distributed Rtree Witold Litwin & Cédric du Mouza & Philippe Rigaux.
MA/CSSE 473 Day 12 Insertion Sort quick review DFS, BFS Topological Sort.
Lecture 13 Graphs. Introduction to Graphs Examples of Graphs – Airline Route Map What is the fastest way to get from Pittsburgh to St Louis? What is the.
Computer Science 112 Fundamentals of Programming II Introduction to Graphs.
Accessing to Spatial Data in Mobile Environment Presented By Jekkin Shah.
Representing and Using Graphs
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
MA/CSSE 473 Day 15 BFS Topological Sort Combinatorial Object Generation Intro.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
CSCI 115 Chapter 7 Trees. CSCI 115 §7.1 Trees §7.1 – Trees TREE –Let T be a relation on a set A. T is a tree if there exists a vertex v 0 in A s.t. there.
Easiest-to-Reach Neighbor Search Fatimah Aldubaisi.
Union-find Algorithm Presented by Michael Cassarino.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Michael Walker. From Maps to Graphs  Make Intersections Vertices  Make Roads Edges  Result is Weighted Directed Graph  Weights: Speed Limit Length.
L3-Network Algorithms L3 – Network Algorithms NGEN06(TEK230) – Algorithms in Geographical Information Systems by: Irene Rangel, updated Nov by Abdulghani.
Depth-First Search1 DB A C E. 2 Depth-first search (DFS) is a general technique for traversing a graph A DFS traversal of a graph G – Visits all the vertices.
Trajectory Data Mining Dr. Yu Zheng Lead Researcher, Microsoft Research Chair Professor at Shanghai Jiao Tong University Editor-in-Chief of ACM Trans.
1 Directed Graphs Chapter 8. 2 Objectives You will be able to: Say what a directed graph is. Describe two ways to represent a directed graph: Adjacency.
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
1/16/20161 Introduction to Graphs Advanced Programming Concepts/Data Structures Ananda Gunawardena.
Discrete Structures CISC 2315 FALL 2010 Graphs & Trees.
2/14/2016  A. Orda, A. Segall, 1 Queueing Networks M nodes external arrival rate (Poisson) service rate in each node (exponential) upon service completion.
1 Travel Times from Mobile Sensors Ram Rajagopal, Raffi Sevlian and Pravin Varaiya University of California, Berkeley Singapore Road Traffic Control TexPoint.
Graphs. Graph Definitions A graph G is denoted by G = (V, E) where  V is the set of vertices or nodes of the graph  E is the set of edges or arcs connecting.
CSC 213 – Large Scale Programming Lecture 31: Graph Traversals.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Graphs – Breadth First Search
Location Privacy.
Graphs & Graph Algorithms 2
Introduction to Graph Theory Euler and Hamilton Paths and Circuits
Efficient Evaluation of k-NN Queries Using Spatial Mashups
Fast Nearest Neighbor Search on Road Networks
Decision Maths Dijkstra’s Algorithm.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Lecture 8: Synchronous Network Algorithms
Presentation transcript:

Computational Data Modeling and Queries for Location-Based Services in Road Networks Irina Aleksandrova, Augustas Kligys, Laurynas Speičys

Problem Setting Road Network Mobile User Ph  road networks  Application domain:  mobile users issue queries about stationary objects “Find the 3 nearest open pharmacies”  Scenario:  data modeling  system architecture for query processing  algorithms, underlying computation of the query result  Main issues:  Topic:  location-based services

Outline  Problem Setting  Data Model and Transformation  Querying  System Architecture  Query Processing Algorithms  Future Work

Road Network Data Model Road Network 2D  traffic regulations on intersections  Road elements: Segments:  bi-directional, one-directional roads  separating lines  different properties on different directions of the single road (e.g., surface quality, speed limit) Connections:

Objects’ Data Model  Objects on the road network: Query point:  position Data points: 2D Ph Road Network Ph qp  position  several locations  accessibility from different movement directions  properties

Transformation: the Idea Transformation 70km/h 100km/h  Identify chains of segments  two segments meet  the same movement directions  the same properties  Transform:  ending connections of chains to vertices  chains to edges

Transformation: Segments to Edges  A chain of segments ch = {s 1, …, s n }  An edge e = (v s, v e, w, l)  Co-edge relation coE  Components:  Weight is computed according to travel distance of paths of a chain: 70km/h 100km/h pth 1 pth 2 e1e1 e2e2  v s, v e corresponds to ends of chains  l corresponds to a sum of road distances of chain’s segments  ( e 1, e 2 )  coE if turn around on segments is allowed

Transformation: Connections To Vertices Single Vertex qp  no restrictions c  v  Mapping according to restrictions on movement on v :  any restrictions c  {v 1,…,v n }  {,…, } Connections qp Multiple Vertices qp X X  Components:  connection c =(p, mx)  vertex v  Semantics of vertex: can move to any outgoing edge from any ingoing edge

Transformation: Objects  Graph: dp G = (e, pos l, pos w, speed w, t)  Query point:  2D: qp 2D = (p, s)  pos l = RD(pth) + d(p k, qp)  pos w = TD (pth) + TD s (p k, qp) QP t1t1 t2t2 pth pos w pos l qp pkpk p1p1

Transformation: Objects DP lc 1  Graph: dp G = (e, pos l, pos w )  Data point:  2D: dp 2D = (prop={…}, loc={lc 1,lc 2,…})  Graph: dp G = (e, pos l, pos w, speed w, t)  Query point:  2D: qp 2D = (p, s)  One location to one (two) data point:  lc 1  dp 1 G, lc 2  dp 2 G, … Ph lc 2 QP t1t1 t2t2 pth pos w pos l qp  pos l = RD(pth) + d(p k, qp)  pos w = TD (pth) + TD s (p k, qp) pkpk p1p1

Outline  Problem Setting  Data Model and Transformation  Querying  System Architecture  Query Processing Algorithms  Future Work

Querying Query: ”Find 2 nearest pharmacies” Problem: compute k-NN T=t1 Answer: {A,B} Problem: active result T=t2 Answer: {B,A} A B

Outline  Problem Setting  Data Model and Transformation  Querying  System Architecture  Query Processing Algorithms  Future Work

Scenario of Processing a New Query  User issues a query providing NNs, their number k, and Max Road Distance  Client searches for k NNs and validates the data set:  Client issues a query to Server with user’s query and current position (x, y)  Server “quickly” selects l NNCs from an area around (x, y), 0  l  max NNCs in map. Position tracking Active result Quick selection k NN search Visual. Client Server Find not less than 3 open pharmacies around (157, 52) not further than 10 km Find 3 nearest open pharmacies within 10 km, User 4 open pharmacies, location of the query window Visualization of 3 pharmacies Validation  upon invalid data set reissues the query + Minimal Road Distance  upon valid data set maintains an active result and visualizes the result GPS

Scenario of Processing a Position Change  if Client has moved significantly from a point of last query to Server Quick selection Client Server User Visualization of 3 pharmacies  if Client has passed an intersection  if Client has changed speed or direction  Result of the query (a set of NNs) is adjusted according to the change of Clients GPS coordinates: Position tracking Active result k NN search Visual. GPS Validation 7 open pharmacies, location of the query window Find not less than 3 open pharmacies around (193, 53) not further than 10 km

Outline  Problem Setting  Data Model and Transformation  Querying  System Architecture  Query Processing Algorithms  Future work  “Quick” Selection  Validation  k NN Search Algorithms  Handling Updates

X 10 X 11 Y 30 Y Grid Data Structure  A 2D map is covered by a grid.  Each data point in the map is associated with a cell.  Each cell has information about all data points within it.  A cell is accessed directly.

y5 y4 y3 y2 y1 x1x2x3x4x5x6 “Quick” Selection QPoint QWindow 3 QWindow 1 QWindow 2  Processing initial query:  Select data points from the cell of QPoint (QWindow 1 )  While ((NNCs < k) & (MRD not reached) & (there are unexplored cells)) {select NNCs from additional “ring”}

“Quick” Selection  A new QWindow is formed reusing already selected data. QWindow 2 QPoint QWindow 3 QPoint QWindow 1 QWindow 2 y5 y4 y3 y2 y1 x1x2x3x4x5x6  Only an update is sent to the Client:  additional data points  discarded data points  A query is received from Client  Processing subsequent query:  Processing initial query:  Select data points from the cell of QPoint (QWindow 1 )  While ((NNCs < k) & (MRD not reached) & (there are unexplored cells)) {select NNCs from additional “ring”}

Outline  Problem Setting  Data Model and Transformation  Querying  System Architecture  Query Processing Algorithms  Future work  “Quick” Selection  Validation  k NN Search Algorithms  Handling Updates

Validation  solves data shortage problem  correct, if RD(qp, nn RD last ) < dist(qp,qw)  frame = normalized TD  Frame validation:  incorrect, if TD(qp, dp’) < TD (qp,dp)  The result of the NNs list: Validation

Outline  Problem Setting  Data Model and Transformation  Querying  System Architecture  Query Processing Algorithms  Future work  “Quick” Selection  Validation  k NN Search Algorithms  Handling Updates

NN Search Algorithms  was not visited  has the lowest travel distance  Next step – vertex that  Search in the graph is based on best-first search.  knnWOT turn-around is not allowed  knnWT turn-around is allowed start root edge qp

Algorithm knnWOT  Search  scans the root edge and runs the best-first search from the end point of the root edge data points qp  data points on the root edge might appear twice in the NN list

Algorithm knnWOT  Search  Active result  scans the root edge and runs the best-first search from the end point of the root edge qp  data points on the root edge might appear twice in the NN list  discards data points from the NN list that are behind the query point

Algorithm knnWT  Two search trees the first: considers the nearest data points the query point is approaching to the second: considers the nearest data points the query point is moving away  Merge results of both trees  Search  Active result dp2 dp1 dp3 dp4 qp co-qp dp1  changes the order of the elements in the NN list

Active Result for knnWT now now +1.5 CB dp1 [4] dp3 [14] dp2 [9] qp [1] speed=1 dp4 [4] alarms

Active Result for knnWT NULL CB dp1 [4] dp3 [14] dp2 [9] dp4 [4] SWAPPING qp [2.5] speed=1 alarms now now +1.5

Outline  Problem Setting  Data Model and Transformation  Querying  System Architecture  Query Processing Algorithms  Future work  “Quick” Selection  Validation  k NN Search Algorithms  Handling Updates

Handling Updates  Insertion of the data point into the NN list  if the edge was already traversed (it is in the search tree) then insert a new data point into NN list (no other points are discarded)  Deletion of the data point from the NN list  perform NN search algorithm from the scratch  if edge was not traversed – do not insert a data point

Outline  Problem Setting  Data Model and Transformation  Querying  System Architecture  Query Processing Algorithms  Future work  “Quick” Selection  Validation  k NN Search Algorithms  Handling Updates

Future Work  Moving function for query point in 2D representation  Predefined routes  Using indexing in data selection according to the density of roads or objects  Experiments