Algebras for Moving Objects and Their Implementation. Ralf Hartmut Güting. Fernuniversität Hagen, Germany

Size: px
Start display at page:

Download "Algebras for Moving Objects and Their Implementation. Ralf Hartmut Güting. Fernuniversität Hagen, Germany"

Transcription

1 Algebras for Moving Objects and Their Implementation Ralf Hartmut Güting Fernuniversität Hagen, Germany

2 1 Introduction Moving Objects Databases Database support for the modeling and querying of time-dependent geometries & moving objects. Physical objects have position and extent which may change over time, e.g. countries, rivers, roads, pollution areas, land parcels,... taxis, air planes, oil tankers, criminals, polar bears, hurricanes, flood areas, oil spills users with location-aware portable wireless networked devices such as mobile phones, PDAs,... Spatio-temporal databases - roots in spatial and in temporal databases. New: support for continuously changing geometries = movement. Consider moving point objects and regions that may move and change their shape. Also time-dependent linear features (but less frequent and relevant). Current and near future movement / history of movement. 1

3 Introduction - Moving Objects Databases Applications Logistics, fleet management traffic analysis and management analysis of movements of people (customers) in mobile computing earth sciences environmental studies biology (e.g. animal behaviour, tracking) meteorology geographic information systems - any kind of temporal development of spatial data - land ownership history 2

4 Example 3

5 Introduction - Moving Objects Databases Goal: any kind of moving entity can be represented in a database powerful query languages available to formulate any kind of questions about such movements Two perspectives: location management spatio-temporal data Three approaches: Location management: Wolfson et al. Spatio-temporal data: spatio-temporal data types constraint approach 4

6 Spatio-Temporal Data Types Approach: Extend the strategy used in spatial databases to offer abstract data types with suitable operations. Offer spatio-temporal data types such as moving point (mpoint) and moving region (mregion) Values of such types are functions from time into the domains, e.g. - f: instant point (value of mpoint) - f: instant region (value of mregion) t y x 5

7 Spatio-Temporal Data Types flight (id: string, from: string, to: string, route: mpoint) weather (id: string, kind: string, area: mregion) The data types include suitable operations such as: intersection: mpoint mregion mpoint distance: mpoint mpoint mreal trajectory: mpoint line deftime: mpoint periods length: line real min: mreal real 6

8 Some Example Queries Query 1: Find all flights from Düsseldorf that are longer than 5000 kms. SELECT id FROM flights WHERE from = DUS AND length(trajectory(route)) > 5000 mpoint -> line trajectory line -> real length Query 2: Retrieve any pairs of air planes that during their flight came closer to each other than 500 meters! SELECT f.id, g.id FROM flights AS f, flights AS g WHERE f.id <> g.id AND min(distance(f.route, g.route)) < 0.5 mpoint x mpoint -> mreal distance mreal -> real min 7

9 Query 3: At what times was flight BA488 within the snow storm with id S16? SELECT deftime(intersection(f.route, w.area)) FROM flights AS f, weather AS w WHERE f.id = BA488 AND w.id = S16 mpoint x mregion -> mpoint intersection mpoint -> periods deftime 8

10 Outline 1 Introduction 2 An Algebra for Moving Objects in the 2D Plane 3 An Algebra for Objects Moving in Networks 4 Implementing an Algebra in the SECONDO Environment 5 SECONDO Demo (Time Permitting) 9

11 2 An Algebra for Moving Objects in the 2D Plane Design Goals: Design a system of data types & operations which is closed simple powerful Closed: under application of type constructors, in particular: For all base types of interest, we have corresponding time-dependent (temporal, moving ) types. For all temporal types, we have types to represent their domain and range projections. Simple: There are lots of types around, avoid proliferation of operations use generic operations as much as possible. Explore the space of possible operations systematically. Achieve consistency of operations on base and temporal types. Powerful: more or less a result of the previous two. 10

12 Data Types Spatial Types point points line region 11

13 instant int real bool string all temporal types for these moving(int) moving(real) moving(bool) moving(string) all projections to range range(int) range(real) range(bool) range(string) point points line region moving(point) moving(points) moving(line) moving(region) points line region periods all projections to domain 12

14 Type System as a Signature Type constructor Signature int, real, string, bool BASE point, points, line, region SPATIAL instant TIME range BASE TIME RANGE moving, intime BASE SPATIAL TEMPORAL Terms of the signature are types, for example int, region, range(instant), moving(point), intime(bool) 13

15 Operations: Overview Design Goals: e.g. as generic as possible achieve consistency between operations on non-temporal and temporal types point point real distance mpoint mpoint mreal mdistance Three steps: distance(atinstant(mp 1, t), atinstant(mp 2, t) = atinstant(mdistance(mp 1, mp 2 ), t) 1. Define operations on non-temporal types 2. Lift them all to temporal types 3. Add specific operations for temporal types 14

16 Operations on Non-Temporal Types Generic view: point and point set in some space 1D Spaces 2D Space Space point type point set type Integer int range(int) Real real range(real) Bool bool range(bool) String string range(string) Time instant periods π 2D point points, line, region σ π σ bool inside instantiates to int range(int) bool inside bool range(bool) bool instant periods bool point line bool etc. 15

17 Operations on Non-Temporal Types Class Predicates Operations isempty =, /=, intersects, inside <, <=, >=, >, before touches, attached, overlaps, on_border, in_interior Set Operations intersection, union, minus crossings, touch_points, common_border Aggregation min, max, avg, center, single Numeric no_components, size, perimeter, duration, length, area Distance and Direction distance, direction Base Type Specific and, or, not 16

18 Lifting Operations to Time-Dependent Operations α 1 α 2 α n β op Lifting yields operations moving(α 1 ) α 2 α n α 1 moving(α 2 ) α n moving(α 1 ) moving(α 2 ) α n moving(α 1 ) moving(α n ) moving(β) op moving(β) op moving(β) op moving(β) op For example: real real bool = mreal real mbool = real mreal mbool = mreal mreal mbool = region point point intersection mregion point mpoint intersection region mpoint mpoint intersection mregion mpoint mpoint intersection 17

19 Operations on Temporal Types Values of these types are partial functions f: A instant A α Projection to Domain / Range v t moving(α) periods deftime moving(α) range(α) rangevalues [1D] moving(point) points locations moving(points) points moving(point) line trajectory moving(points) line moving(line) line routes moving(line) region traversed moving(region) region

20 Operations on Temporal Types Values of these types are partial functions f: A instant A α Projection to Domain / Range v deftime moving(α) periods deftime moving(α) range(α) rangevalues [1D] moving(point) points locations moving(points) points moving(point) line trajectory moving(points) line moving(line) line routes moving(line) region traversed moving(region) region t

21 Operations on Temporal Types Values of these types are partial functions f: A instant A α Projection to Domain / Range v rangevalues moving(α) periods deftime moving(α) range(α) rangevalues [1D] moving(point) points locations moving(points) points moving(point) line trajectory moving(points) line moving(line) line routes moving(line) region traversed moving(region) region t

22 Interaction with Points and Point Sets in Domain and Range v moving(α) instant intime(α) atinstant t moving(α) periods moving(α) atperiods moving(α) intime(α) initial, final moving(α) instant bool present moving(α) periods bool moving(α) β moving(α) at [1D] moving(α) β moving(min(α, β)) at [2D] moving(α) moving(α) atmin, atmax [1D] moving(α) β bool passes

23 Interaction with Points and Point Sets in Domain and Range v final initial atinstant present atperiods present t moving(α) instant intime(α) atinstant moving(α) periods moving(α) atperiods moving(α) intime(α) initial, final moving(α) instant bool present moving(α) periods bool

24 Interaction with Points and Point Sets in Domain and Range v atmax at passes at atmin passes moving(α) β moving(α) at [1D] moving(α) β moving(min(α, β)) at [2D] moving(α) moving(α) atmin, atmax [1D] moving(α) β bool passes t

25 Rate of Change Concept of derivative: f () t = lim t 0 f( t+ t) f( t) t Applicable to which data types? Needed: difference, division by real number.. Operation Signature Semantics derivative mreal mreal µ where µ ( t) = lim ( µ ( t+ δ ) µ ( t)) / δ speed mpoint mreal mdirection mpoint mreal turn mpoint mreal velocity mpoint mpoint δ 0 µ where µ ( t) = lim f ( µ ( t+ δ ), µ ( t)) / δ δ 0 δ 0 distance µ where µ ( t) = lim f ( µ ( t+ δ ), µ ( t)) / δ µ where µ ( t) δ 0 direction = lim ( f ( µ ( t+ δ )) f ( µ ( t))) / δ mdirection δ 0 mdirection µ where µ ( t) = lim ( µ ( t+ δ ) µ ( t)) / δ

26 Discrete Model / Data Structures Representation of types moving(α): Represent the temporal development of the value of type a by decomposing the time dimension into a set of disjoint time intervals ( slices ) such that within each slice the development can be described by some simple function. Called the sliced representation. v t y t x moving(real) moving(point)

27 Real Units v Distance between two moving points: 2 at + bt + c D ureal = Interval(Instant) {( abcr,,, ) abc,, real, r bool} Semantics (value at instant t): + + if ι (( abcr,,, ), t ) = 2 at + bt + c if r 2 at bt c r t Perimeter of a moving region: bt + c Area of a moving region: 2 at + bt + c Not closed under derivative! 25

28 3 An Algebra for Objects Moving in Networks In many applications, moving entities move along networks cars, vehicles on roads, highways trains, underground, buses on public transport networks, even air planes people along roads, hiking trails, paths, pedestrian zones vessels along rivers, canals Such movement can be described by the previous model. Advantages of a specialized model? network should be modeled explicitly - easier formulation of queries - more efficient execution describe movements relative to network, not the embedding space - factor out geometry, descriptions of moving object much more compact - discovering relationships between moving objects and parts of the network much simpler and more efficient 26

29 Further requirements: information about network must be extensible (e.g. create relations to add info relative to a network) - add a relation for motels describe static and moving network positions and regions - gas station, construction area, car, traffic jam handle interactions between network, network space, space - network: roads, junctions - network space: vehicles, gas stations, traffic jams - space: forests, city areas, rivers,... - network - network space: On which highway is this car? - network space - space: At what times is the vehicle within the fog area? - network - space: Return the part of the network that lies within forest X. adequate model of network - concept of paths - simple and dual routes - transitions at junctions consistent with model for unconstrained movement; reuse concepts 27

30 Network Model First idea: directed graph. However, paths are the conceptual entities in real life: cities are organized by streets, not blocks. Street names, street addresses, for example. highways, not pieces of highway between junctions We will use a model based on routes (corresponding to paths) and junctions between routes. Further advantage: descriptions of movements much more compact than in a graph model. 28

31 Network Definitions Route: Route = {(id, l, c, kind, start) id int, l real, c line, kind {simple, dual}, start {smaller, larger} } Let R a set of routes, i.e., R Route. Route measure: RMeas(R) = {(rid, d) rid int, d real, (rid, l, c, k, s) R such that 0 d l} Junction: Junction(R) = {(rm 1, rm 2, cc) rm 1, rm 2 RMeas(R), rm 1 = (r 1, d 1 ), rm 2 = (r 2, d 2 ), r 1 r 2, cc int} 29

32 Connectivity codes: B B A (a) Au Ad Bu Bd Au Ad Bu Bd (c) A (b) Network: A pair N = (R, J) where R is a finite set of distinct routes and J is a finite set of junctions in R. Let Network denote the set of all such pairs. Route location: RLoc(R) = {(rid, d, side) (rid, d) RMeas(R), side Side, for (rid, l, c, kind, start) R: kind = simple side = none} 30

33 Network position (= route location): Let N = (R, J). Loc(N) = RLoc(R). Route interval: A triple (rid, d 1, d 2, side) where (rid, d 1, side) and (rid, d 2, side) are route locations and d 1 d 2. Network region: Finite set of quasi-disjoint route intervals in Network N. Denoted Reg(N) 31

34 Data Types Three static types: network: the network gpoint: a position in the network gline: a region (part) of the network Domains of data types: D network = Network Let N = {N 1,..., N k } be the set of networks present in the database. D gpoint = {(i, gp) 1 i k gp (Loc(N i ) { })} D gline = {(i, gl) 1 i k gl Reg(N i )} 32

35 Operations Operations to Interface with Relations and Standard Types - relational views of a network: converting a network to relations - constructing a network from relations - accessing gpoint and gline values - constructing gpoint and gline values Operations according to [GBE+00] - type system extended - concept of spaces extended Operations on non-temporal types - generic operations (stuff inherited from GBE) - added: interaction between network objects and space - added: interaction between network and space - added: interaction between network (routes) and network objects Operations on temporal types - lifting - generic operations (stuff inherited from GBE) Some more operations - network operations - auxiliary (time intervals, now, etc.) 33

36 Operations to Interface with Relations and Standard Types Relational views of a network: converting a network to relations network rel routes, junctions, sections Result schemas: (route: int, length: real, curve: line, dual: bool, startssmaller: bool) (route1: int, meas1: real, route2: int, meas2: real, cc: int, pos: point) (route: int, meas1: real, meas2: real, dual: bool, curve: line) Example: Assume a city road network Hagen and a road relation road(name: string, route: int, roadlevel: int) Query: Find all sections of Bahnhofstrasse longer than 500 meters! SELECT * FROM sections(hagen) AS s, road AS r WHERE r.name = Bahnhofstrasse AND s.route = r.route AND (s.meas2 - s.meas1) >

37 Operations According to [GBE+00] Type system extended: Results in types: moving(gpoint), moving(gline) intime(gpoint), intime(gline) BASE SPATIAL GRAPH TIME BASE SPATIAL GRAPH TEMPORAL int, real, string, bool point, points, line, region gpoint, gline instant BASE TIME RANGE range moving, intime 35

38 Operations According to [GBE+00] Concept of spaces extended: 1D Spaces discrete continuous point type point set types Integer int range(int) Boolean bool range(bool) String string range(string) Real real range(real) Time instant periods 2D Space 2D point points, line, region Graph gpoint gline 36

39 Operations According to [GBE+00] - Non-Temporal Operations (a) Many operations inherited from [GBE+00], for example: results in: π σ bool inside σ 1 σ 2 bool inside, intersects π π real distance gpoint gline bool inside gline gline bool intersects gpoint gpoint real distance (b) Define further operations to treat interaction between network, network objects and space, e.g. gpoint point in_space gline line in_space network point gpoint in_network network points gline in_network network line gline in_network network region gline in_network 37

40 Operations According to [GBE+00] - Temporal Operations (a) Lifting: applies to all the non-temporal operations defined before. For example: gpoint gline bool inside moving(gpoint) gline moving(bool) inside gpoint moving(gpoint) moving(bool) inside moving(gpoint) moving(gpoint) moving(bool) inside gpoint point in_space moving(gpoint) moving(point) in_space (b) Many generic operations for temporal types inherited from [GBE+00]. For example: moving(α) periods deftime moving(α) instant intime(α) atinstant moving(α) periods moving(α) atperiods moving(gpoint) periods deftime moving(gpoint) instant intime(gpoint) atinstant moving(gpoint) periods moving(gpoint) atperiods 38

41 Further Operations For example, some network specific operations: gpoint real gline circle, out_circle, in_circle gpoint gline component gpoint gpoint gline shortest_path gpoint gpoint instant moving(gpoint) trip 39

42 Experimental Evaluation Parcel Delivery Queries on historical information: 1. Where was postman Bob at 10 am of last Saturday? 2. Which places did Bob visit between 9:00 am and 11:00 am of last Saturday? 3. Find all post workers who visited Rathausstrasse in the afternoon (2:00 pm through 6:00 pm) of last Friday. 4. Find all post workers who stayed in Hagener Strasse for more than one hour yesterday. 5. Find all post workers who stayed within 1 km to each other for more than two hours last Saturday. 6. For the last week, who visited the Marktring area most often? 7. In the last week, which streets were visited most often? Queries on current information: 8. Who is currently closest to Boeler Strasse 122 and moving towards that direction? 9. Who is closest to Bob and the desired destinations of their current packages are within 2 kilometers? (suppose that Bob has a problem with his motorcycle and needs another postman to help him with his package) 10. Who is now moving eastwards in the Hagener Strasse? 11. Which street has more than ten postmen currently? 12. Find all postmen who have stayed in the same street for more than 1 hour up to now. 13. Who will pass Hagener Strasse before he/she can deliver his/her current package? 14. Find all postworkers currently in the Hagener Strasse and report their location. 40

43 Experimental Evaluation Vehicles in a Highway Network Queries on past and static information: 1. Order highways by their average distance between gas stations. 2. Which percentage of the German highway network does have a speed limit? 3. How many cars passed gas station X today? 4. How does traffic density at km 140 of highway 45 of the network change through the day? 5. Find vehicles that exceeded the speed limit by more than 20%; when and where did that occur? 6. Which fraction of vehicles passes from highway 45 to highway 1 at their junction? Queries on future information: 7. Which vehicles will reach gas station X within the next 30 minutes? 8. Keep me informed about the 5 closest motels along the highway. 9. Keep me informed about motels within 5 kms distance along the highway. 41

44 Experimental Evaluation Traffic Jams in a Highway Network 1. Which traffic jams exist now? 2. When and where did traffic jam X appear and disappear, respectively? 3. During which times did X grow and shrink, respectively? 4. At what time did it grow most? 5. What time did vehicle X spend within traffic jam Y? 6. At what speed did traffic jam X move? 7. Show the part of the highway network that was affected by traffic jams yesterday. 8. Did any two traffic jams merge into one? 42

45 Some Example Queries Parcel Delivery road(name: string, route: int) postman(name: string, trip: mgpoint) city_area(name: string, reg: region) 43

46 Some Example Queries Parcel Delivery road(name: string, route: int) postman(name: string, trip: mgpoint) city_area(name: string, reg: region) Which places did Bob visit between 9:00 am and 11:00 am of last Saturday? (i) as part of the network (result is a gline value) LET Saturday9to11 = period(hour(2003,8,9,9), hour(2003, 8, 9, 10)); SELECT trajectory(atperiods(trip, Saturday9to11)) FROM postman WHERE name = Bob int x int x int x int -> periods hour periods x periods -> periods period mgpoint x periods -> mgpoint atperiods mgpoint -> gline trajectory 44

47 Some Example Queries Parcel Delivery road(name: string, route: int) postman(name: string, trip: mgpoint) city_area(name: string, reg: region) Which places did Bob visit between 9:00 am and 11:00 am of last Saturday? (ii) as a set of road names LET Bob_roads = routes( ELEMENT( SELECT trajectory(atperiods(trip, Saturday9to11)) FROM postman WHERE name = Bob )); SELECT name FROM Bob_roads AS b, road AS r WHERE b.route = r.route gline -> rel routes 45

48 Some Example Queries Parcel Delivery road(name: string, route: int) postman(name: string, trip: mgpoint) city_area(name: string, reg: region) For the last week, who visited the Marktring area most often? LET LastWeek = period(day(2003, 8, 4), day(2003, 8, 9)); LET Marktring = ELEMENT( SELECT reg FROM city_area WHERE name = Marktring ); SELECT name, no_components( at(atperiods(trip inside Marktring, LastWeek), true)) AS no_times FROM postman ORDER BY no_times FIRST 1 mgpoint x region -> mbool inside mbool x periods -> mbool atperiods mbool x bool -> mbool at mbool -> int no_components 46

49 Some Example Queries Vehicles on Highway Networks highway(no: int, route: int) vehicle(licence: string, trip: mgpoint) speed_limit(limit: int, stretch: gline) How does traffic density at km 140 of highway 45 of the network change through the day? 47

50 How does traffic density at km 140 of highway 45 of the network change through the day? LET yesterday =...; LET highway45 = ELEMENT(SELECT route FROM highway WHERE no = 45); LET location = gpoint(germanhighways, highway45, 140.0, up); network x int x real x int-> gpoint gpoint LET passing_times = SELECT hour(inst(initial(at(atperiods(v.trip, yesterday), location)))) AS hour FROM vehicle AS v WHERE atperiods(v.trip, yesterday) passes location; mgpoint x periods -> mgpoint atperiods mgpoint x gpoint -> bool passes mgpoint x gpoint -> mgpoint at mgpoint -> igpoint initial (intime(gpoint) igpoint -> instant inst instant -> int hour SELECT hour, COUNT(*) AS no_vehicles FROM passing_times GROUP_BY hour 48

51 Some Example Queries Vehicles on Highway Networks highway(no: int, route: int) vehicle(licence: string, trip: mgpoint)... speed_limit(limit: int, stretch: gline) Find vehicles that exceeded the speed limit by more than 20%; when and where did that occur? 49

52 Find vehicles that exceeded the speed limit by more than 20%; when and where did that occur? SELECT v.licence, deftime(speed(at(v.trip, s.stretch)) when[. > s.limit * 1.2]) AS time trajectory(atperiods(v.trip, deftime(speed(at(v.trip, s.stretch)) when[.>s.limit * 1.2])) AS place FROM vehicle AS v, speed_limit AS s WHERE v.trip passes s.stretch AND max(rangevalues(speed(at(v.trip, s.stretch)))) > s.limit * 1.2 mgpoint x gline -> bool passes mgpoint x gline -> mgpoint at mgpoint -> mreal speed mreal -> rreal rangevalues range(real) rreal -> real max mreal x (real -> bool)-> mreal when 50

53 4 Implementing an Algebra in the SECONDO Environment General strategy: Implement an algebra as a data blade, cartridge, extender, etc. in suitable extensible DBMS environments. SECONDO: An environment for implementing DBMS with new kinds of data models, suitable for research prototyping and teaching. no fixed data model system frame can be filled with implementations of a wide range of data models, e.g. - relational - object-relational - graph/network-oriented - sequence-oriented - XML goes beyond extensibility just by attribute data types system frame contains data model independent parts of a DBMS data model dependent parts implemented in algebra modules a formalism to describe data models and query languages as well as representations and query processing: second-order signature 51

54 SECONDO Overview Three major components: SECONDO kernel: - implements specific data models - extensible by algebra modules - provides query processing over the implemented algebras - implemented on top of BerkeleyDB storage manager - written in C++ Optimizer: - core capability: conjunctive query optimization - currently supports a relational model with an SQL-like language - written in PROLOG GUI: - extensible interface for an extensible DBMS like SECONDO - extensible by viewers - sophisticated spatial / spatio-temporal viewer, extensible by data types - written in Java 52

55 SECONDO Overview Components work together: GUI Optimizer SECONDO Kernel GUI sends executable query (query plan) to the kernel, displays result GUI sends query to optimizer, receives plan, sends plan to kernel, displays result optimizer sends commands and executable queries to kernel to get information about DB objects, e.g. selectivities 53

56 The SECONDO Kernel - Concepts Second Order Signature A formalism to describe a descriptive algebra, defining a data model and a query language, an executable algebra, specifying a collection of data structures and operations capable of representing the data model and implementing the query language rules to enable a query optimizer to map descriptive algebra terms to executable algebra terms. 54

57 The SECONDO Kernel - Second Order Signature Basic idea: use two coupled signatures. The first describes a type system, the second an algebra over the types of the first signature. Signature has sorts and operations. First signature: sorts = kinds; operations = type constructors. DATA int, real, bool DATA SET set Terms of the first signature (= types of the type system) int, real, bool, set(int), set(real), set(bool) are sorts of the second. Define operations: data in DATA: data data bool <,,, >, =, 55

58 The SECONDO Kernel - Second Order Signature Can be used to describe a data model and query language (descriptive algebra): DATA (IDENT DATA) + TUPLE tuple TUPLE REL rel Example term (= type, schema): rel(tuple([(name, string), (age, int)])) int, real, bool, string Define operations over the data model (type system). For example A query: rel: rel(tuple) in REL: rel (tuple bool) rel select _ # [ _ ] people select[fun (p: person) attr(p, age) > 20] 56

59 The SECONDO Kernel - Second Order Signature Can also be used to describe data structures and query processing (executable algebra): Representation model: DATA int, real, bool, string (IDENT DATA) + TUPLE tuple TUPLE RELREP srel, relrep Query plan operations: A query plan: tuple in TUPLE: relrep(tuple) stream(tuple) feed _ # stream(tuple) (tuple bool) stream(tuple) filter _ # [ _ ] stream(tuple) srel(tuple) consume _ # people feed filter[fun(p: person) attr(p, age) > 20] consume 57

60 The SECONDO Kernel - Commands A database is a pair (T, O) where T is a finite set of named types and O a finite set of named objects. Seven basic commands to manipulate a database: type <identifier> = <type expression> delete type <identifier> create <identifier> : <type expression> update <identifier> := <value expression> let <identifier> = <value expression> delete <identifier> query <value expression> Further commands for creating, deleting databases inquire about algebras, type constructors, operations, as well as types and objects in a database importing, exporting objects and databases transaction management 58

61 The SECONDO Kernel Rough architecture: Command Manager Query Processor & Catalog Alg 1 Alg 2 Alg n Storage Manager & Tools 59

62 The SECONDO Kernel - Algebra Modules An algebra consists of a set of type constructors a set of operations The module contains: type constructor KindCheck operator TransformType Select Evaluate representation data structure Create/Delete Open/Close Save/Clone In/Out 60

63 The SECONDO Kernel - Algebra Modules Some currently available algebra modules: StandardAlgebra RelationAlgebra BTreeAlgebra RTreeAlgebra SpatialAlgebra int, real, string, bool rel, tuple btree rtree point, points, line, region DateTimeAlgebra instant, duration TemporalAlgebra NetworkAlgebra periods, rangeint,..., mint, mreal, mpoint, mgpoint, mgline network, gpoint, gline 61

64 The SECONDO Kernel Some example commands and queries: create x: int update x := 7 let inc = fun(n:int) n + 1 query secondo contains second Next example uses objects: Kreis kreis_gebiet magdeburg rel(tuple([kname: string,..., Gebiet: region])) rtree(tuple([kname: string,..., Gebiet: region])) region The following query finds neighbour counties of magdeburg: query kreis_gebiet Kreis windowintersects[bbox(magdeburg)] filter[.gebiet touches magdeburg] filter[not(.kname contains "Magdeburg")] project[kname] consume rel(tuple) x rtree(tuple) x rectangle-> stream(tuple) windowintersects region -> rectangle bbox region x region -> bool touches 62

65 The SECONDO Kernel - Example Query (E) Secondo => query kreis_gebiet Kreis windowintersects[bbox(magdeburg)] filter[.gebiet touches magdeburg] filter[not(.kname contains "Magdeburg")] project[kname] consume (E) Secondo -> (query (consume (project (filter (filter (windowintersects kreis_gebiet Kreis (bbox magdeburg)) (fun (tuple1 TUPLE) (touches (attr tuple1 Gebiet) magdeburg))) (fun (tuple2 TUPLE) (not (contains (attr tuple2 KName) "Magdeburg")))) (KName)))) 63

66 Analyze query... 11:27:11 -> elapsed time 0:00 minutes. Used CPU Time: 0.17 seconds. Execute... 11:27:11 -> elapsed time 0:00 minutes. Used CPU Time: 0.22 seconds. KName: LK Schönebeck KName: LK Bördekreis KName: LK Ohre-Kreis KName: LK Jerichower Land (E) Secondo => 64

67 The Optimizer Performs conjunctive query optimization: given a set of relations and a set of selection or join predicates, find a good plan. Uses a new algorithm for this. Based on shortest path search in a predicate order graph. 1/2 1/10 1/5 p q r r 10 q p r q q r p p 20 p q r 1000 Selectivities of predicates are determined in advance by evaluating selections and joins on small sample relations. Selectivities once determined are stored for future use. Optimizer implements an SQL-like language in a notation adapted to PROLOG. 65

68 The Optimizer - Sample Query 2?- sql select count(*) from [orte as o, plz as p1, plz as p2] where [o:ort = p1:ort, p2:plz = p1:plz + 7, (p2:plz mod 5) = 0, p1:plz > 30000, o:ort contains "o"]. selectivity : selectivity : e-005 selectivity : selectivity : 0.31 Destination node 31 reached at iteration 6 Height of search tree for boundary is 4 The best plan is: Orte feed {o} filter[(.ort_o contains "o")] loopjoin[plz_ort plz exactmatch[.ort_o] {p1} ] filter[(.plz_p1 > 30000)] loopjoin[plz_plz plz exactmatch[(.plz_p1 + 7)] {p2} ] filter[((.plz_p2 mod 5) = 0)] count Estimated Cost: Command succeeded, result: 273 Yes 3?- 66

69 The Graphical User Interface extensible interface for an extensible DBMS like SECONDO extensible by viewers sophisticated spatial / spatio-temporal viewer, extensible by data types 67

70 The Graphical User Interface - Example 68

71 69

72 70

Modeling and Querying Moving Objects in Networks*

Modeling and Querying Moving Objects in Networks* Modeling and Querying Moving Objects in Networks* Ralf Hartmut Güting Victor Teixeira de Almeida Zhiming Ding LG Datenbanksysteme für neue Anwendungen FernUniversität Hagen, D-58084 Hagen, Germany Abstract:

More information

Algebras for Moving Objects and Their Implementation*

Algebras for Moving Objects and Their Implementation* Algebras for Moving Objects and Their Implementation* Ralf Hartmut Güting LG Datenbanksysteme für neue Anwendungen FB Informatik, Fernuniversität Hagen, D-58084 Hagen, Germany rhg@fernuni-hagen.de, http://www.fernuni-hagen.de/inf/pi4/

More information

A Foundation for Representing and Querying Moving Objects

A Foundation for Representing and Querying Moving Objects A Foundation for Representing and Querying Moving Objects Ralf Hartmut Güting FernUniversität Hagen and Michael H. Böhlen Aalborg University and Martin Erwig FernUniversität Hagen and Christian S. Jensen

More information

INFORMATIK BERICHTE. Symbolic Trajectories. Ralf Hartmut Güting, Fabio Valdés, Maria Luisa Damiani /2013

INFORMATIK BERICHTE. Symbolic Trajectories. Ralf Hartmut Güting, Fabio Valdés, Maria Luisa Damiani /2013 INFORMATIK BERICHTE 369 12/2013 Symbolic Trajectories Ralf Hartmut Güting, Fabio Valdés, Maria Luisa Damiani Fakultät für Mathematik und Informatik D-58084 Hagen Symbolic Trajectories Ralf Hartmut Güting

More information

Modeling Temporally Variable Transportation Networks*

Modeling Temporally Variable Transportation Networks* Modeling Temporally Variable Transportation Networks* Zhiming Ding and Ralf Hartmut Güting Praktische Informatik IV Fernuniversität Hagen, D-58084 Hagen, Germany {zhiming.ding, rhg}@fernuni-hagen.de Abstract.

More information

Student project. Implementation of algebra for representing and querying moving objects in object-relational database

Student project. Implementation of algebra for representing and querying moving objects in object-relational database Student project Implementation of algebra for representing and querying moving objects in object-relational database Student: Remigijus Staniulis The project leader: prof. Tore Risch Uppsala 2002 Index

More information

A SPATIAL DATA MODEL FOR MOVING OBJECT DATABASES

A SPATIAL DATA MODEL FOR MOVING OBJECT DATABASES A SPATIAL DATA MODEL FOR MOVING OBJECT DATABASES Hadi Hajari and Farshad Hakimpour Department of Geomatics Engineering, University of Tehran, Tehran, Iran ABSTRACT Moving Object Databases will have significant

More information

4 Spatio-temporal Models and Languages: AnApproachBasedonDataTypes

4 Spatio-temporal Models and Languages: AnApproachBasedonDataTypes 4 Spatio-temporal Models and Languages: AnApproachBasedonDataTypes Ralf Hartmut Güting 1,MichaelH.Böhlen 2,MartinErwig 1, Christian S. Jensen 2,NikosLorentzos 3, Enrico Nardelli 4, Markus Schneider 1,

More information

INFORMATIK BERICHTE /2010 Assessing Representations for Moving Object Histories Christian Düntgen, Thomas Behr, Ralf Hartmut Güting

INFORMATIK BERICHTE /2010 Assessing Representations for Moving Object Histories Christian Düntgen, Thomas Behr, Ralf Hartmut Güting INFORMATIK BERICHTE 357 09/2010 Assessing Representations for Moving Object Histories Christian Düntgen, Thomas Behr, Ralf Hartmut Güting Fakultät für Mathematik und Informatik Postfach 940 D-58084 Hagen

More information

Spatiotemporal Pattern Queries

Spatiotemporal Pattern Queries Spatiotemporal Pattern Queries ABSTRACT Mahmoud Attia Sakr Database Systems for New Applications FernUniversität in Hagen, 58084 Hagen, Germany Faculty of Computer and Information Sciences University of

More information

Representation of Periodic Moving Objects in Databases

Representation of Periodic Moving Objects in Databases Representation of Periodic Moving Objects in Databases T. Behr V. Teixeira de Almeida R. H. Güting Faculty of Mathematics and Computer Science Database Systems for New Applications FernUniversität in Hagen

More information

M. Andrea Rodríguez-Tastets. I Semester 2008

M. Andrea Rodríguez-Tastets. I Semester 2008 M. -Tastets Universidad de Concepción,Chile andrea@udec.cl I Semester 2008 Outline refers to data with a location on the Earth s surface. Examples Census data Administrative boundaries of a country, state

More information

Multidimensional Data and Modelling - DBMS

Multidimensional Data and Modelling - DBMS Multidimensional Data and Modelling - DBMS 1 DBMS-centric approach Summary: l Spatial data is considered as another type of data beside conventional data in a DBMS. l Enabling advantages of DBMS (data

More information

MONET: Modeling and Querying Moving Objects in Spatial Networks

MONET: Modeling and Querying Moving Objects in Spatial Networks MONET: Modeling and Querying Moving Objects in Spatial Networks Lin Qi & Markus Schneider University of Florida Department of Computer & Information Science & Engineering Gainesville, Florida, USA {lqi,mschneid}@cise.ufl.edu

More information

Secondo User Manual*

Secondo User Manual* Secondo User Manual* Version 4.1, September 20, 2007 Ralf Hartmut Güting, Dirk Ansorge, Thomas Behr, Markus Spiekermann Praktische Informatik IV, Fernuniversität Hagen D-58084 Hagen, Germany (*) This work

More information

Multidimensional (spatial) Data and Modelling (2)

Multidimensional (spatial) Data and Modelling (2) Multidimensional (spatial) Data and Modelling (2) 1 Representative operations on maps l l l l l are operations on layers used in maps (all 2-d). Synonyms f. map: layer, spatial partition Def. properties:

More information

Abstract and Discrete Modeling of Spatio-Temporal Data Types*

Abstract and Discrete Modeling of Spatio-Temporal Data Types* Abstract and Discrete Modeling of Spatio-Temporal Data Types* Martin Erwig 1 Ralf Hartmut Güting 1 Markus Schneider 1 Michalis Vazirgiannis 2 1) Praktische Informatik IV Fernuniversität Hagen D-58084 Hagen

More information

Introduction to Spatial Database Systems. Outline

Introduction to Spatial Database Systems. Outline Introduction to Spatial Database Systems by Cyrus Shahabi from Ralf Hart Hartmut Guting s VLDB Journal v3, n4, October 1994 1 Outline Introduction & definition Modeling Querying Data structures and algorithms

More information

Version 3.1 User Manual 1

Version 3.1 User Manual 1 Version 3.1 User Manual 1 8/3/2012 Ralf Hartmut Güting, Dirk Ansorge, Thomas Behr, Christian Düntgen, Simone Jandt, Markus Spiekermann Faculty for Mathematics and Computer Sience Database Systems for New

More information

Modeling Historical and Future Spatio-Temporal Relationships of Moving Objects in Databases

Modeling Historical and Future Spatio-Temporal Relationships of Moving Objects in Databases Modeling Historical and Future Spatio-Temporal Relationships of Moving Objects in Databases Reasey Praing & Markus Schneider University of Florida, Department of Computer & Information Science & Engineering,

More information

Lecturer 2: Spatial Concepts and Data Models

Lecturer 2: Spatial Concepts and Data Models Lecturer 2: Spatial Concepts and Data Models 2.1 Introduction 2.2 Models of Spatial Information 2.3 Three-Step Database Design 2.4 Extending ER with Spatial Concepts 2.5 Summary Learning Objectives Learning

More information

An Introduction to Spatial Databases

An Introduction to Spatial Databases An Introduction to Spatial Databases R. H. Guting VLDB Journal v3, n4, October 1994 Speaker: Giovanni Conforti Outline: a rather old (but quite complete) survey on Spatial DBMS Introduction & definition

More information

Indexing the Trajectories of Moving Objects in Networks

Indexing the Trajectories of Moving Objects in Networks Indexing the Trajectories of Moving Objects in Networks Victor Teixeira de Almeida Ralf Hartmut Güting Praktische Informatik IV Fernuniversität Hagen, D-5884 Hagen, Germany {victor.almeida, rhg}@fernuni-hagen.de

More information

An algorithm for Trajectories Classification

An algorithm for Trajectories Classification An algorithm for Trajectories Classification Fabrizio Celli 28/08/2009 INDEX ABSTRACT... 3 APPLICATION SCENARIO... 3 CONCEPTUAL MODEL... 3 THE PROBLEM... 7 THE ALGORITHM... 8 DETAILS... 9 THE ALGORITHM

More information

Second-Order Signature: A Tool for Specifying Data Models, Query Processing, and Optimization

Second-Order Signature: A Tool for Specifying Data Models, Query Processing, and Optimization Second-Order Signature: A Tool for Specifying Data Models, Query Processing, and Optimization Ralf Hartmut Güting Praktische Informatik IV, FernUniversität Hagen Postfach 940, D-5800 Hagen, Germany gueting@fernuni-hagen.de

More information

Detect tracking behavior among trajectory data

Detect tracking behavior among trajectory data Detect tracking behavior among trajectory data Jianqiu Xu, Jiangang Zhou Nanjing University of Aeronautics and Astronautics, China, jianqiu@nuaa.edu.cn, jiangangzhou@nuaa.edu.cn Abstract. Due to the continuing

More information

The GraphDB Algebra: Specification of Advanced Data Models. with Second-Order Signature

The GraphDB Algebra: Specification of Advanced Data Models. with Second-Order Signature The GraphDB Algebra: Specification of Advanced Data Models with Second-Order Signature Ludger Becker Westfälische Wilhelms-Universität FB 15 - Informatik, Einsteinstr. 62 D-48149 Münster GERMANY beckelu@math.uni-muenster.de

More information

An Efficient Technique for Distance Computation in Road Networks

An Efficient Technique for Distance Computation in Road Networks Fifth International Conference on Information Technology: New Generations An Efficient Technique for Distance Computation in Road Networks Xu Jianqiu 1, Victor Almeida 2, Qin Xiaolin 1 1 Nanjing University

More information

MWGen: A Mini World Generator

MWGen: A Mini World Generator 2012 2012 IEEE 13th 13th International Conference on Mobile Mobile Data Data Management MWGen: A Mini World Generator Jianqiu Xu Database Systems for New Applications, Mathematics and Computer Science

More information

Relational Model, Relational Algebra, and SQL

Relational Model, Relational Algebra, and SQL Relational Model, Relational Algebra, and SQL August 29, 2007 1 Relational Model Data model. constraints. Set of conceptual tools for describing of data, data semantics, data relationships, and data integrity

More information

Collaboration with: Dieter Pfoser, Computer Technology Institute, Athens, Greece Peter Wagner, German Aerospace Center, Berlin, Germany

Collaboration with: Dieter Pfoser, Computer Technology Institute, Athens, Greece Peter Wagner, German Aerospace Center, Berlin, Germany Towards traffic-aware aware a routing using GPS vehicle trajectories Carola Wenk University of Texas at San Antonio carola@cs.utsa.edu Collaboration with: Dieter Pfoser, Computer Technology Institute,

More information

Implementation of Spatio-Temporal Data Types with Java Generics

Implementation of Spatio-Temporal Data Types with Java Generics Implementation of Spatio-Temporal Data Types with Java Generics KREŠIMIR KRIŽANOVIĆ, ZDRAVKO GALIĆ, MIRTA BARANOVIĆ University of Zagreb Faculty of Electrical Engineering and Computing Department of Applied

More information

Visualization and modeling of traffic congestion in urban environments

Visualization and modeling of traffic congestion in urban environments 1th AGILE International Conference on Geographic Information Science 27 Page 1 of 1 Visualization and modeling of traffic congestion in urban environments Authors: Ben Alexander Wuest and Darka Mioc, Department

More information

Watershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS

Watershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS Watershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS WATS 4930/6920 WHERE WE RE GOING WATS 6915 welcome to tag along for any, all or none WEEK FIVE Lecture VECTOR ANALYSES Joe Wheaton HOUSEKEEPING

More information

Relational Model: History

Relational Model: History Relational Model: History Objectives of Relational Model: 1. Promote high degree of data independence 2. Eliminate redundancy, consistency, etc. problems 3. Enable proliferation of non-procedural DML s

More information

CMP-3440 Database Systems

CMP-3440 Database Systems CMP-3440 Database Systems Relational DB Languages Relational Algebra, Calculus, SQL Lecture 05 zain 1 Introduction Relational algebra & relational calculus are formal languages associated with the relational

More information

Explicit Graphs in a Functional Model for Spatial Databases

Explicit Graphs in a Functional Model for Spatial Databases Explicit Graphs in a Functional Model for Spatial Databases Martin Erwig erwig@fernuni-hagen.de Ralf Hartmut Güting gueting@fernuni-hagen.de FernUniversität Hagen, Praktische Informatik IV, 58084 Hagen,

More information

Overview of DB & IR. ICS 624 Spring Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa

Overview of DB & IR. ICS 624 Spring Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa ICS 624 Spring 2011 Overview of DB & IR Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 1/12/2011 Lipyeow Lim -- University of Hawaii at Manoa 1 Example

More information

Hermes - A Framework for Location-Based Data Management *

Hermes - A Framework for Location-Based Data Management * Hermes - A Framework for Location-Based Data Management * Nikos Pelekis, Yannis Theodoridis, Spyros Vosinakis, and Themis Panayiotopoulos Dept of Informatics, University of Piraeus, Greece {npelekis, ytheod,

More information

INFORMATIK BERICHTE /2011 A Generic Data Model for Moving Objects Jianqiu Xu, Ralf Hartmut Güting

INFORMATIK BERICHTE /2011 A Generic Data Model for Moving Objects Jianqiu Xu, Ralf Hartmut Güting INFORMATIK BERICHTE 360 08/2011 A Generic Data Model for Moving Objects Jianqiu Xu, Ralf Hartmut Güting Fakultät für Mathematik und Informatik Postfach 940 D-58084 Hagen 1 A Generic Data Model for Moving

More information

A Visual Language for the Evolution of Spatial Relationships and its Translation into a Spatio-Temporal Calculus

A Visual Language for the Evolution of Spatial Relationships and its Translation into a Spatio-Temporal Calculus A Visual Language for the Evolution of Spatial Relationships and its Translation into a Spatio-Temporal Calculus Martin Erwig Oregon State University Department of Computer Science Corvallis, OR 97331,

More information

Scalable Selective Traffic Congestion Notification

Scalable Selective Traffic Congestion Notification Scalable Selective Traffic Congestion Notification Győző Gidófalvi Division of Geoinformatics Deptartment of Urban Planning and Environment KTH Royal Institution of Technology, Sweden gyozo@kth.se Outline

More information

Toward Spatiotemporal Patterns

Toward Spatiotemporal Patterns 1 Toward Spatiotemporal Patterns Martin Erwig School of Electrical Engineering and Computer Science, Oregon State University, Corvallis, Oregon 97331, USA, erwig@cs.orst.edu Abstract Existing spatiotemporal

More information

GEOGRAPHIC INFORMATION SYSTEMS Lecture 18: Spatial Modeling

GEOGRAPHIC INFORMATION SYSTEMS Lecture 18: Spatial Modeling Spatial Analysis in GIS (cont d) GEOGRAPHIC INFORMATION SYSTEMS Lecture 18: Spatial Modeling - the basic types of analysis that can be accomplished with a GIS are outlined in The Esri Guide to GIS Analysis

More information

New Data Types and Operations to Support. Geo-stream

New Data Types and Operations to Support. Geo-stream New Data Types and Operations to Support s Yan Huang Chengyang Zhang Department of Computer Science and Engineering University of North Texas GIScience 2008 Outline Motivation Introduction to Motivation

More information

3. Relational Data Model 3.5 The Tuple Relational Calculus

3. Relational Data Model 3.5 The Tuple Relational Calculus 3. Relational Data Model 3.5 The Tuple Relational Calculus forall quantification Syntax: t R(P(t)) semantics: for all tuples t in relation R, P(t) has to be fulfilled example query: Determine all students

More information

Chapter 2: Spatial Concepts and Data Models 2.1 Introduction 2.2 Models of Spatial Information. 2.4 Extending ER with Spatial Concepts 2.

Chapter 2: Spatial Concepts and Data Models 2.1 Introduction 2.2 Models of Spatial Information. 2.4 Extending ER with Spatial Concepts 2. Chapter 2: Spatial Concepts and Data Models 2. Introduction 2.2 Models of Spatial Information 2.3 Three-Step Database Design 2.4 Extending ER with Spatial Concepts 2.5 Summary What is a Data Model? What

More information

Mobility Data Management and Exploration: Theory and Practice

Mobility Data Management and Exploration: Theory and Practice Mobility Data Management and Exploration: Theory and Practice Chapter 4 -Mobility data management at the physical level Nikos Pelekis & Yannis Theodoridis InfoLab, University of Piraeus, Greece infolab.cs.unipi.gr

More information

Introduction to Temporal Database Research. Outline

Introduction to Temporal Database Research. Outline Introduction to Temporal Database Research by Cyrus Shahabi from Christian S. Jensen s Chapter 1 1 Outline Introduction & definition Modeling Querying Database design Logical design Conceptual design DBMS

More information

DS504/CS586: Big Data Analytics Data Management Prof. Yanhua Li

DS504/CS586: Big Data Analytics Data Management Prof. Yanhua Li Welcome to DS504/CS586: Big Data Analytics Data Management Prof. Yanhua Li Time: 6:00pm 8:50pm R Location: KH 116 Fall 2017 First Grading for Reading Assignment Weka v 6 weeks v https://weka.waikato.ac.nz/dataminingwithweka/preview

More information

2.3 Algorithms Using Map-Reduce

2.3 Algorithms Using Map-Reduce 28 CHAPTER 2. MAP-REDUCE AND THE NEW SOFTWARE STACK one becomes available. The Master must also inform each Reduce task that the location of its input from that Map task has changed. Dealing with a failure

More information

Advanced Data Types and New Applications

Advanced Data Types and New Applications Advanced Data Types and New Applications These slides are a modified version of the slides of the book Database System Concepts (Chapter 24), 5th Ed., McGraw-Hill, by Silberschatz, Korth and Sudarshan.

More information

Using in-vehicle Sensor Data for Naturalistic Driving Analysis

Using in-vehicle Sensor Data for Naturalistic Driving Analysis Using in-vehicle Sensor Data for Naturalistic Driving Analysis K. Zeitouni, I. Sandu Popa (University of Versailles) G. Saint Pierre, F. Dupin, S. Glaser (LCPC-INRETS) Outline Context Motivating applications

More information

Relational Algebra. Procedural language Six basic operators

Relational Algebra. Procedural language Six basic operators Relational algebra Relational Algebra Procedural language Six basic operators select: σ project: union: set difference: Cartesian product: x rename: ρ The operators take one or two relations as inputs

More information

GITA 338: Spatial Information Processing Systems

GITA 338: Spatial Information Processing Systems GITA 338: Spatial Information Processing Systems Sungwon Jung Dept. of Computer Science and Engineering Sogang University Seoul, Korea Tel: +82-2-705-8930 Email : jungsung@sogang.ac.kr Spatial Query Languages

More information

Watershed Sciences 4930 & 6920 ADVANCED GIS

Watershed Sciences 4930 & 6920 ADVANCED GIS Slides by Wheaton et al. (2009-2014) are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License Watershed Sciences 4930 & 6920 ADVANCED GIS VECTOR ANALYSES Joe Wheaton

More information

Spatial Outlier Detection

Spatial Outlier Detection Spatial Outlier Detection Chang-Tien Lu Department of Computer Science Northern Virginia Center Virginia Tech Joint work with Dechang Chen, Yufeng Kou, Jiang Zhao 1 Spatial Outlier A spatial data point

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

Informationslogistik Unit 4: The Relational Algebra

Informationslogistik Unit 4: The Relational Algebra Informationslogistik Unit 4: The Relational Algebra 26. III. 2012 Outline 1 SQL 2 Summary What happened so far? 3 The Relational Algebra Summary 4 The Relational Calculus Outline 1 SQL 2 Summary What happened

More information

GIS Basics for Urban Studies

GIS Basics for Urban Studies GIS Basics for Urban Studies Date: March 21, 2018 Contacts: Mehdi Aminipouri, Graduate Peer GIS Faciliator, SFU Library (maminipo@sfu.ca) Keshav Mukunda, GIS & Map Librarian Librarian for Geography (kmukunda@sfu.ca)

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) DBMS Internals- Part VI Lecture 17, March 24, 2015 Mohammad Hammoud Today Last Two Sessions: DBMS Internals- Part V External Sorting How to Start a Company in Five (maybe

More information

Introduction to Spatial Database Systems

Introduction to Spatial Database Systems Introduction to Spatial Database Systems by Cyrus Shahabi from Ralf Hart Hartmut Guting s VLDB Journal v3, n4, October 1994 Data Structures & Algorithms 1. Implementation of spatial algebra in an integrated

More information

What is Network Analyst?

What is Network Analyst? What is Network Analyst? Extension for analyzing transportation networks Four network solvers Route Closest Facility Service Area Uses Network Datasets Origin-Destination (OD) Cost Matrix Specialized layers

More information

Contact: Ye Zhao, Professor Phone: Dept. of Computer Science, Kent State University, Ohio 44242

Contact: Ye Zhao, Professor Phone: Dept. of Computer Science, Kent State University, Ohio 44242 Table of Contents I. Overview... 2 II. Trajectory Datasets and Data Types... 3 III. Data Loading and Processing Guide... 5 IV. Account and Web-based Data Access... 14 V. Visual Analytics Interface... 15

More information

Advanced Data Types and New Applications

Advanced Data Types and New Applications Advanced Data Types and New Applications These slides are a modified version of the slides of the book Database System Concepts (Chapter 24), 5th Ed., McGraw-Hill, by Silberschatz, Korth and Sudarshan.

More information

Announcement. Reading Material. Overview of Query Evaluation. Overview of Query Evaluation. Overview of Query Evaluation 9/26/17

Announcement. Reading Material. Overview of Query Evaluation. Overview of Query Evaluation. Overview of Query Evaluation 9/26/17 Announcement CompSci 516 Database Systems Lecture 10 Query Evaluation and Join Algorithms Project proposal pdf due on sakai by 5 pm, tomorrow, Thursday 09/27 One per group by any member Instructor: Sudeepa

More information

SPATIOTEMPORAL INDEXING MECHANISM BASED ON SNAPSHOT-INCREMENT

SPATIOTEMPORAL INDEXING MECHANISM BASED ON SNAPSHOT-INCREMENT SPATIOTEMPORAL INDEXING MECHANISM BASED ON SNAPSHOT-INCREMENT L. Lin a, Y. Z. Cai a, b, Z. Xu a a School of Resource and Environment Science,Wuhan university, Wuhan China 430079, lilin@telecarto.com b

More information

2 Geometry Solutions

2 Geometry Solutions 2 Geometry Solutions jacques@ucsd.edu Here is give problems and solutions in increasing order of difficulty. 2.1 Easier problems Problem 1. What is the minimum number of hyperplanar slices to make a d-dimensional

More information

Spatial Analysis (Vector) I

Spatial Analysis (Vector) I Spatial Analysis (Vector) I GEOG 300, Lecture 8 Dr. Anthony Jjumba 1 Spatial Analysis In a GIS, Data are usually grouped into layers (or themes). The analysis functions of a GIS use the spatial and non-spatial

More information

Questionnaire 3D-Cadastres: status November 2010

Questionnaire 3D-Cadastres: status November 2010 Questionnaire 3D-Cadastres: status vember This questionnaire is an activity of the FIG working group 3D-Cadastres -. The purpose of the survey is to make a world-wide inventory of the status of 3D-Cadastres

More information

Introduction to Trajectory Clustering. By YONGLI ZHANG

Introduction to Trajectory Clustering. By YONGLI ZHANG Introduction to Trajectory Clustering By YONGLI ZHANG Outline 1. Problem Definition 2. Clustering Methods for Trajectory data 3. Model-based Trajectory Clustering 4. Applications 5. Conclusions 1 Problem

More information

Introduction to Spatial Database Systems

Introduction to Spatial Database Systems Introduction to Spatial Database Systems by Cyrus Shahabi Spatial Databases: A Tour, Shashi Shekhar and Sanjay Chawla * Hart Hartmut Guting s VLDB Journal v3, n4, October 1994 Value of SDBMS Traditional

More information

A Novel Method for Activity Place Sensing Based on Behavior Pattern Mining Using Crowdsourcing Trajectory Data

A Novel Method for Activity Place Sensing Based on Behavior Pattern Mining Using Crowdsourcing Trajectory Data A Novel Method for Activity Place Sensing Based on Behavior Pattern Mining Using Crowdsourcing Trajectory Data Wei Yang 1, Tinghua Ai 1, Wei Lu 1, Tong Zhang 2 1 School of Resource and Environment Sciences,

More information

Relational Algebra Homework 0 Due Tonight, 5pm! R & G, Chapter 4 Room Swap for Tuesday Discussion Section Homework 1 will be posted Tomorrow

Relational Algebra Homework 0 Due Tonight, 5pm! R & G, Chapter 4 Room Swap for Tuesday Discussion Section Homework 1 will be posted Tomorrow Relational Algebra R & G, Chapter 4 By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental power of

More information

INFORMATIK BERICHTE /2010. SECONDO: A Platform for Moving Objects Database Research and for Publishing and Integrating Research Implementations

INFORMATIK BERICHTE /2010. SECONDO: A Platform for Moving Objects Database Research and for Publishing and Integrating Research Implementations INFORMATIK BERICHTE 356 04/2010 SECONDO: A Platform for Moving Objects Database Research and for Publishing and Integrating Research Implementations Ralf Hartmut Güting, Thomas Behr, Christian Düntgen

More information

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and Chapter 6 The Relational Algebra and Relational Calculus Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 Outline Unary Relational Operations: SELECT and PROJECT Relational

More information

City, University of London Institutional Repository

City, University of London Institutional Repository City Research Online City, University of London Institutional Repository Citation: Andrienko, N., Andrienko, G., Fuchs, G., Rinzivillo, S. & Betz, H-D. (2015). Real Time Detection and Tracking of Spatial

More information

Intersection of an Oriented Box and a Cone

Intersection of an Oriented Box and a Cone Intersection of an Oriented Box and a Cone David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. General Overview - rel. model. Overview - detailed - SQL

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. General Overview - rel. model. Overview - detailed - SQL Carnegie Mellon Univ. Dept. of Computer Science 15-415 - Database Applications Faloutsos Lecture#6: Rel. model - SQL part1 General Overview - rel. model Formal query languages rel algebra and calculi Commercial

More information

Announcements. Data Sources a list of data files and their sources, an example of what I am looking for:

Announcements. Data Sources a list of data files and their sources, an example of what I am looking for: Data Announcements Data Sources a list of data files and their sources, an example of what I am looking for: Source Map of Bangor MEGIS NG911 road file for Bangor MEGIS Tax maps for Bangor City Hall, may

More information

Lecture 8 Network Flow Models

Lecture 8 Network Flow Models Lecture 8 Andrew Nunekpeku / Charles Jackson Fall 2011 Outline 1 1 Assignment 4 When we ask for the solution of an LP, we typically mean tell me the values of the decision variables or what is the plan?

More information

Propel PRO User Guide

Propel PRO User Guide Propel PRO User Guide Propel PRO Version 3.2.0a Page 1 Welcome to the latest version of Propel PRO which offers fast performance and easy navigation. Please refer to this user guide for common features

More information

Temporal Databases. Week 8. (Chapter 22 & Notes)

Temporal Databases. Week 8. (Chapter 22 & Notes) Temporal Databases Week 8 (Chapter 22 & Notes) 1 Introduction Temporal database contains historical,timevarying as well as current data. Note: historical record is a misleading term - a temporal database

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) DBMS Internals- Part VI Lecture 14, March 12, 2014 Mohammad Hammoud Today Last Session: DBMS Internals- Part V Hash-based indexes (Cont d) and External Sorting Today s Session:

More information

Web Science & Technologies University of Koblenz Landau, Germany. Relational Data Model

Web Science & Technologies University of Koblenz Landau, Germany. Relational Data Model Web Science & Technologies University of Koblenz Landau, Germany Relational Data Model Overview Relational data model; Tuples and relations; Schemas and instances; Named vs. unnamed perspective; Relational

More information

Mapping Distance and Density

Mapping Distance and Density Mapping Distance and Density Distance functions allow you to determine the nearest location of something or the least-cost path to a particular destination. Density functions, on the other hand, allow

More information

Learning Objectives. After this segment, students will be able to

Learning Objectives. After this segment, students will be able to Spatial Networks Outline 1. Motivation, and use cases 2. Example spatial networks 3. Conceptual model 4. Need for SQL extensions 5. CONNECT statement 6. RECURSIVE statement 7. Storage and data structures

More information

Visual Specification of Spatio-Temporal Developments

Visual Specification of Spatio-Temporal Developments Visual Specification of Spatio-Temporal Developments Martin Erwig & Markus Schneider FernUniversität Hagen, Praktische Informatik IV 58084 Hagen, Germany {erwig, markus.schneider}@fernuni-hagen.de Abstract

More information

Introduction to Geographic Information Science. Updates. Last Lecture. Geography 4103 / Database Management

Introduction to Geographic Information Science. Updates. Last Lecture. Geography 4103 / Database Management Geography 4103 / 5103 Introduction to Geographic Information Science Database Management Updates Last Lecture We tried to explore the term spatial model by looking at definitions, taxonomies and examples

More information

A System for Discovering Regions of Interest from Trajectory Data

A System for Discovering Regions of Interest from Trajectory Data A System for Discovering Regions of Interest from Trajectory Data Muhammad Reaz Uddin, Chinya Ravishankar, and Vassilis J. Tsotras University of California, Riverside, CA, USA {uddinm,ravi,tsotras}@cs.ucr.edu

More information

Relational Algebra. Study Chapter Comp 521 Files and Databases Fall

Relational Algebra. Study Chapter Comp 521 Files and Databases Fall Relational Algebra Study Chapter 4.1-4.2 Comp 521 Files and Databases Fall 2010 1 Relational Query Languages Query languages: Allow manipulation and retrieval of data from a database. Relational model

More information

Detecting dangerous locations in the road network with jam tail warnings. Maarten Clements October 2015, ESRI UC, Salzburg

Detecting dangerous locations in the road network with jam tail warnings. Maarten Clements October 2015, ESRI UC, Salzburg Detecting dangerous locations in the road network with jam tail warnings Maarten Clements October 2015, ESRI UC, Salzburg Jam Tail Collision Over 35% of drivers have experienced one or more accidents caused

More information

Intelligent Traffic System: Road Networks with Time-Weighted Graphs

Intelligent Traffic System: Road Networks with Time-Weighted Graphs Intelligent Traffic System: Road Networks with Time-Weighted Graphs Hatem F. Halaoui Haigazian University, Lebanon Abstract Driving direction traffic Systems are becoming needed systems among many Geographical

More information

Faloutsos 1. Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Outline

Faloutsos 1. Carnegie Mellon Univ. Dept. of Computer Science Database Applications. Outline Carnegie Mellon Univ. Dept. of Computer Science 15-415 - Database Applications Lecture #14: Implementation of Relational Operations (R&G ch. 12 and 14) 15-415 Faloutsos 1 introduction selection projection

More information

MOVING BALLOON ALGEBRA: DESIGN, IMPLEMENTATION, AND DATABASE INTEGRATION OF A SPATIOTEMPORAL DATA MODEL FOR HISTORICAL AND PREDICTIVE MOVING OBJECTS

MOVING BALLOON ALGEBRA: DESIGN, IMPLEMENTATION, AND DATABASE INTEGRATION OF A SPATIOTEMPORAL DATA MODEL FOR HISTORICAL AND PREDICTIVE MOVING OBJECTS MOVING BALLOON ALGEBRA: DESIGN, IMPLEMENTATION, AND DATABASE INTEGRATION OF A SPATIOTEMPORAL DATA MODEL FOR HISTORICAL AND PREDICTIVE MOVING OBJECTS By REASEY PRAING A DISSERTATION PRESENTED TO THE GRADUATE

More information

Principles of Data Management. Lecture #13 (Query Optimization II)

Principles of Data Management. Lecture #13 (Query Optimization II) Principles of Data Management Lecture #13 (Query Optimization II) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Today s Notable News v Reminder:

More information

ANALYZING AND COMPARING TRAFFIC NETWORK CONDITIONS WITH A QUALITY TOOL BASED ON FLOATING CAR AND STATIONARY DATA

ANALYZING AND COMPARING TRAFFIC NETWORK CONDITIONS WITH A QUALITY TOOL BASED ON FLOATING CAR AND STATIONARY DATA 15th World Congress on Intelligent Transport Systems ITS Connections: Saving Time, Saving Lives New York, November 16-20, 2008 ANALYZING AND COMPARING TRAFFIC NETWORK CONDITIONS WITH A QUALITY TOOL BASED

More information

Relational Database Support for Spatio-Temporal Data

Relational Database Support for Spatio-Temporal Data Relational Database Support for Spatio-Temporal Data by Daniel James Mallett Technical Report TR 04-21 September 2004 DEPARTMENT OF COMPUTING SCIENCE University of Alberta Edmonton, Alberta, Canada Relational

More information

Relational Databases

Relational Databases Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 49 Plan of the course 1 Relational databases 2 Relational database design 3 Conceptual database design 4

More information

RELATIONAL ALGEBRA. CS 564- Fall ACKs: Dan Suciu, Jignesh Patel, AnHai Doan

RELATIONAL ALGEBRA. CS 564- Fall ACKs: Dan Suciu, Jignesh Patel, AnHai Doan RELATIONAL ALGEBRA CS 564- Fall 2016 ACKs: Dan Suciu, Jignesh Patel, AnHai Doan RELATIONAL QUERY LANGUAGES allow the manipulation and retrieval of data from a database two types of query languages: Declarative:

More information