Algebras for Moving Objects and Their Implementation. Ralf Hartmut Güting. Fernuniversität Hagen, Germany
|
|
- Gregory Wilkerson
- 6 years ago
- Views:
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* 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 informationAlgebras 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 informationA 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 informationINFORMATIK 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 informationModeling 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 informationStudent 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 informationA 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 information4 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 informationINFORMATIK 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 informationSpatiotemporal 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 informationRepresentation 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 informationM. 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 informationMultidimensional 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 informationMONET: 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 informationSecondo 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 informationMultidimensional (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 informationAbstract 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 informationIntroduction 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 informationVersion 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 informationModeling 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 informationLecturer 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 informationAn 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 informationIndexing 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 informationAn 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 informationSecond-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 informationDetect 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 informationThe 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 informationAn 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 informationMWGen: 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 informationRelational 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 informationCollaboration 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 informationImplementation 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 informationVisualization 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 informationWatershed 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 informationRelational 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 informationCMP-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 informationExplicit 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 informationOverview 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 informationHermes - 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 informationINFORMATIK 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 informationA 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 informationScalable 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 informationToward 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 informationGEOGRAPHIC 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 informationNew 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 information3. 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 informationChapter 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 informationMobility 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 informationIntroduction 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 informationDS504/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 information2.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 informationAdvanced 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 informationUsing 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 informationRelational 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 informationGITA 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 informationWatershed 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 informationSpatial 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 informationRelational 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 informationInformationslogistik 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 informationGIS 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 informationDatabase 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 informationIntroduction 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 informationWhat 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 informationContact: 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 informationAdvanced 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 informationAnnouncement. 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 informationSPATIOTEMPORAL 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 information2 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 informationSpatial 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 informationQuestionnaire 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 informationIntroduction 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 informationIntroduction 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 informationA 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 informationRelational 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 informationINFORMATIK 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 informationCopyright 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 informationCity, 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 informationIntersection 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 informationCarnegie 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 informationAnnouncements. 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 informationLecture 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 informationPropel 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 informationTemporal 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 informationDatabase 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 informationWeb 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 informationMapping 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 informationLearning 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 informationVisual 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 informationIntroduction 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 informationA 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 informationRelational 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 informationDetecting 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 informationIntelligent 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 informationFaloutsos 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 informationMOVING 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 informationPrinciples 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 informationANALYZING 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 informationRelational 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 informationRelational 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 informationRELATIONAL 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