i.#introduction · 5# introduction,#overview# from digital mapping to mobile social networking –...
TRANSCRIPT
Mobility(Data((Management(&(Exploration(
(I.#Introduction#
Yannis&Theodoridis&&&Nikos&Pelekis&InfoLab(|(University(of(Piraeus(|(Greece((
infolab.cs.unipi.gr((
(
2013.08(
2#
“Τα πάντα ρει, µηδέποτε κατά τ’ αυτό µένειν – Everything changes, nothing remains still”
Heraclitus (500 BC)
3#
Acknowledgments#
! The(content(of(this(lecture(series(has(been(inspired(
by(collaboraBve(work(done(in(the(following(EU(
projects:((
" FP7/SEEK((hNp://www.seekOproject.eu),(2012O15(
" FP7/DATASIM((hNp://www.datasimOfp7.eu),(2011O14(
" ESF/COSTOMOVE((hNp://moveOcost.info),(2009O13(
" FP7/MODAP((hNp://www.modap.org),(2009O12(
" FP6/GeoPKDD((hNp://www.geopkdd.eu),(2005O09(
! Also,(special(thanks(to(InfoLab(members(
GeoPKDD Geographic Privacy-aware Knowl. Discovery & Delivery
4#
Previous#versions#of#this#material#
" 2013(
! PhDOlevel(seminar(@(JRC,(IsrpaOItaly,(Apr.(2013(
" 2012(
! PhDOlevel(seminar(@(Univ.(Cyprus,(Nov.(2012(
! MSc(course(@(KAUST,(Jeddah,(Saudi(Arabia,(Jun.(2012(
! PhD(course(@(Univ.(Ghent,(Belgium,(Feb.(2012(
" 2011(
! PhD(course(@(Univ.(Trento,(Italy,(Nov.(2011(
! PhD(course(@(Univ.(Aalborg,(Denmark,(Sep.(2011(
! MSc(course(@(KAUST,(Jeddah,(Saudi(Arabia,(Jun.(2011(
! PhD(course(@(Univ.(Milano,(Italy,(May(2011(
" 2010(
! PhD(course(@(Univ.(Venice,(Italy,(Jun.(2010(
More(details(at:(hNp://infolab.cs.unipi.gr/((
5#
Introduction,#Overview#
From digital mapping to mobile social networking – A tour on geospatial information management
challenges
6#
Mobile#devices#and#services#
! Large(diffusion(of(mobile(devices,(mobile(services(and(locaBonObased(
services(#(loca3on4&and&mobility4aware&data&
7#
Which#data?#
! LocaBon(data(from(mobile(phones((
" i.e.,(cell(posiBons(in(the(GSM/UMTS(network(
! LocaBon((and(trajectory)(data(from(GPSOequipped(devices(
" Humans((pedestrians,(drivers)(with(GPSOequipped(smartphones(
" Vessels(with(AIS(transmiNers((due(to(mariBme(regulaBons()(
! LocaBon(data(from(indoor(posisBoning(systems(
" RFIDs((radioOfrequency(ids)((
" WiOFi(access(points(
" Bluetooth(sensors(
8#
GPS#Data#
! Raw(data:(GPS(recordings(
objectID, trajectoryID, timestamp, longitude, latitude
201100024,1,2009-01-02 08:54:07,24.609728324369,38.013503319816
201100024,1,2009-01-02 08:54:25,24.6094016577037,38.0127699864845
201100024,1,2009-01-02 08:55:06,24.6086749910399,38.011116653155
201100024,1,2009-01-02 08:55:56,24.6076299910435,38.0092066531597
201100024,1,2009-01-02 08:56:16,24.6071983243782,38.0084733198281
201100034,1,2009-01-02 04:19:26,23.1092366579214,38.5853616531322
201100034,1,2009-01-02 04:19:36,22.9272199909328,38.8922416526431
201100034,1,2009-01-02 04:19:45,23.0359933243564,38.7788549861265
201100034,1,2009-01-02 04:19:55,22.9355449909622,38.868204986019
201100034,1,2009-01-02 04:20:05,23.0638616578755,38.6383849863914
...
9#
GPS#Data#
" Q:(where(is((24.6071983243782,(38.0084733198281)(located(?(
" A:(in(the(short(sea(passage(between(Euboea(and(Andros(islands,(
Greece(
What#is#a#(GPSKbased)#trajectory?#
! A(trajectory(is(a(model(for(a(moBon(path(of(a(moving(object(
(human,(animal,(robot,(…)(
" (due(to(discreBzaBon)(a(sequence(of(sampled(BmeOstamped(locaBons(
(pi,(t
i)(where(p
i(is(a(2D(point((x
i,(y
i)(and(t
i(is(the(recording(Bmestamp(of(p
i((
10#
What#is#a#(GPSKbased)#trajectory?#
! A(common(representaBon(in(MOD(is(a(3D&polyline&where(verBces(correspond(to(BmeOstamped(locaBons((p
i,(t
i)((
" Usually,(linear&interpola3on(is(assumed(between((pi,(t
i)(and((p
i+1,(t
i+1)(
(pi,ti) (pi+1,ti+1)
11#
From#“raw”#to#“semantic”#trajectories#
12#
• Semantic Trajectory: T={efirst,…,elast}
• Episode: ei = (STOP | MOVE, tfrom, tto, place, tag)
raw&mobility&data&&sequence&(x,y,t)&points&
e.g.,&GPS&feeds&&
meaningful&mobility&tuples& <place,&3mein,&3meout,&tags>&
Home (breakfast) office (work) Market (shopping) Home (relax)
Road (bus)
Train (metro)
Sideway (walk)
[~, 8am]
[8am, 9am] [6pm, 6:30am] [7:30pm, 8pm]
[9am, 6pm] [6:30pm, 7:30pm] [8pm,~]
13#
Examples#of#GPS#trajectory#data#
! “Amki”(dataset:(vehicles(moving(in(Athens(metropolitan(area(
" ~1.5(million(GPS(recordings(#(~4,500(trajectories(
14#
Examples#of#GPS#trajectory#data#
! “IMIS3days”(dataset:(vessels(sailing(in(Mediterranean(sea(
" (only(a(small(subset(of(the(dataset(at(hand)((
~3(million(GPS(recordings(from(933(vessels(during(a(3(days(period(#(
1500(trajectories(
15#
Background#on##Positioning#technologies#
16#
GeoKpositioning#
! PosiBoning(technologies((all(standardized(in(early(2000’s)(
" Using(the(mobile(telephone(network(
! Time(of(Arrival((TOA),(UpLink(TOA((ULOTOA)(
" Using(informaBon(from(satellites(
! Global(PosiBoning(System((GPS);(Assisted((AOGPS);(DifferenBal(GPS((DOGPS)(
source: ESA
17#
SatelliteKsupported#positioning#
! GPS((Global(PosiBoning(System)(
" Fully(operaBonal(since(1994(
" 24Osatellite(constellaBon(
! monitored(by(5(monitoring(staBons(and(4(ground(antennas;(handled(with(
(extremely(precise)(atomic(clocks(
! At(least(5(satellites(are(in(view(from(every(point(on(the(globe(
" GPS(receiver(gathers(informaBon(from(4((
(or(3,(the(minimum)(satellites(and((
(a)(triangulates(to(posiBon(itself;((
(b)(fixes(its((nonOatomic)(clock(
" PosiBon(accuracy:(~20m(
18#
GeoKpositioning#(cont.)#
! GPS(accuracy(improvements(
" Assisted&GPS&(A4GPS):(provides(preOcalculated(satellite(orbits(to(the(receiver;(accuracy(~10m(
" Differen3al&GPS&(D4GPS):(combines(with(land((antennas)(informaBon;(
accuracy(down(to(1m(
19#
GeoKpositioning#(cont.)#
! GPS(compeBtors(
" Glonass((Russia)(–(currently,(semiOoperaBonal((
! 24Osatellite(constellaBon;(1O10m(accuracy(
" Galileo((EU)(O(fully(operaBonal(by(2019(
! 30Osatellite(constellaBon;(1m(accuracy(
" Beidou((China)(O(fully(operaBonal(by(2020(
! 35Osatellite(constellaBon;(10m(accuracy(
20#
LocationK#and#MobileKaware#Applications#...#
21#
DeYinitions#
! (source:(Swedberg,(1999)(Mobile&Loca3on&System&(MLS)&is(a(locaBon(system,(including(applicaBons,(that((
" determines(the(geographic(posiBon(of(mobile(subscribers(and((
" provides(them(with(relevant(informaBon(and(services(
! (source:(Wikipedia)(A(Loca3on4Based&Service&(LBS)&in(a(cellular(telephone(network(is(a(service(provided(to(the(subscriber(based(on(
her(current(geographic(locaBon(
22#
LocationKbased#Services#&#Tools#
! NavigaBon((vehicle(or(pedestrian)(&(InformaBon(services(
" RouBng,(finding(the(nearest(pointOofOinterest((POI)(
" LocaBonObased(yellow(pages((“whatOisOaround”,(…)(
! Resource(management(&(Tracking(apps(
" (taxi,(truck,(etc.)(fleet(management,(administraBon(of(container(goods,(
locaBonObased(charging(
" Tracing(of(a(stolen(car,(locaBng(persons(in(an(emergency(situaBon,(…(
! Social(networking(apps(
" Google(LaBtude,(Facebook(places,(Foursquare,(etc.(
23#
LocationKbased#Services#&#Tools#(cont.)#
! FindOtheONearest(
" finds(the(nearest(point(of(interest((POI)(O(restaurant,(gas(staBon,(etc.((
(suggests(the(opBmal(way(to(move(there((Router)(
! ‘opBmal’(in(terms(of(minimum(distance((driving(mode)((
or(minimum(Bme((walking(mode)(
! EO911((US),(EO112((EU),(EO119((Japan)(emergency((
call(numbers(
" mandates(require(locaBng(the(caller(within((
a(few(meters((150(feet,(by(FCC(regulaBon)(
" (in(US)(EO911(call(centers(receive(15,000(calls(from(cellular(phones(per(
day(
24#
LocationKbased#Services#&#Tools#(cont.)#
Google My Tracks Walktastic by runtastic
25#
LocationKbased#Services#&#Tools#(cont.)#
RunKeeper
26#
LocationKbased#Services#&#Tools#(cont.)#
! Tracing(lost(or(stolen(products(
" Lost(smartphones:(“Find(my(iPhone”,(“Where’s(my(Droid”(etc.(
" Stolen(cars:(“Volvo(connecBvity”(
27#
LocationKbased#Services#&#Tools#(cont.)#
! (
(
See(in(real(Bme(where(your(friends((are!((launched(Feb.09(by(Google)(
28#
LocationKbased#Services#&#Tools#(cont.)#
! Google&places:(Rate(and(share(places(on(Google(
! Google&places&for&business:((
" (business(perspecBve)(Get(your(
business(found(on(Google(
" (end(user’s(perspecBve)(rate(
products,(search(for(similar,(compare(
prices,(etc.(
29#
LocationKbased#Services#&#Tools#(cont.)#
" Tag(yourselves(and(find((
tagged(friends(
" Tell(your(friends(where(you(are,((
suggest(places,(etc.(
30#
What#can#we#do#with#/#learn#from#mobility#data#...#
31#
Querying#with#vehicles#datasets…#
! (global)(Traffic(monitoring(
" How(many(cars(are(in(the(ring(of(the(town?(
" Once(an(accident(is(discovered,(immediately(send(alarm(to(the(
nearest(police(and(ambulance(cars(
32#
Querying#with#vehicles#datasets…#
! (personalized)(LocaBonOaware(queries(
" Where(is(my(nearest(Gas(staBon?(
" What(are(the(fast(food(restaurants(within(3(miles(from(my(locaBon?(
" Let(me(know(if(I(am(near(to(a(restaurant(while(any(of(my(friends(are(
there(
33#
Querying#with#vessels#datasets…#
! Querying(and(mining(trajectories:(
" Extract(/(draw(the(ship(tracks((detailed(vs.(simplified)((
" Calculate(average(and(minimum(distance(from(shore;(where(and(when((
" Calculate(the(number(of(ships(in(the(vicinity(of(the(ship((e.g.(10(n.m.(
radius)((
" Find(whether((and(how(many(Bmes)(a(ship(goes(through(narrow(
passages(or(biodiversity(boxes((
" Calculate(the(number(of(sharp(changes(in(direcBon(
" Find(ships(following(typical(routes(vs.(outliers(
34#
Querying#with#vessels#datasets…#
ApplicaBonO(oriented(analysis:(
! Improving(safety(
" Analyze(the(accuracy(of(data(provided(by(base(staBons(
! Traffic(opBmizaBon(
" Calculate(metrics(from(the(traffic:(traffic(density,(mean(distance(between(ships,(
number(of(trajectories(that(are(close(to(the(‘opBmal’(departure(–(arrival(path(
" Devise(new(sea(routes(to(handle(traffic(increase(
" Measure(the(acBvity(of(each(ship:(number(of(intermediate(stops(
! Environmental(consideraBons(
" Compare(trajectories(with(environmental(consideraBons((fuel(consumpBon,(
noise(polluBon),(
35#
! Examples(of(“mobility(paNerns”(
" Hot4spots((popular(places)(([Giannom(et(al.(2007](
" T4PaRerns(([Giannom(et(al.(2007](
" Hot&mo3on&paths(([Sacharidis(et(al.(2008](
" Typical&trajectories(([Lee(et(al.(2007](
" Moving&clusters(([Kalnis(et(al.(2005](
" Flocks&&&Leaders(([Benkert(et(al.(2008](
" Convoys(([Jeung(et(al.(2008](
" Centroid&trajectories(([Pelekis(et(al.(2009O10](
δt
ε
X
Y
T
T1 T2 T3
…#more#ambitious:##Patterns#over#trajectory#datasets#
36#
Back#to#LBS#discussion#
! According(to((Gratsias(et(al.(2005;(Frentzos(et(al.(2007)(
Reference&object&&(user)&
&Database&&objects(
sta3onary( mobile(
sta3onary&⇒ whatOisOaround(⇒ rouBng(⇒ findOtheOnearest(
⇒ ((guideOme(
mobile& ⇒ (findOme( ⇒ (getOtogether(
Almost every current commercial app is classified as stationary-stationary !!
37#
Routing#
! (“Get(DirecBons”(in(Google(maps)(
! Find(the(opBmal(route(from(a(departure(to(a(desBnaBon(point((
" Goal(to(be(opBmized:(the(minimal(network(distance(traveled(or(the(
minimal(traveled(Bme(or(…(
! Relates(to(the(wellOknown((
shortest&path&(SP)&problem(from((
graph(theory(and(network(analysis(
" Several(offOtheOshelf(soluBons,(e.g.((
Dijkstra’s(singleOstart(SP(algorithm(
Live example: Get from Uni. Piraeus to Acropolis Museum: http://g.co/maps/jvjvc
38#
Routing#(cont.)#
! Relates(to(the(wellOknown(shortest(path((SP)(problem(from(graph(
theory(and(network(analysis(
" Several(offOtheOshelf(soluBons,(e.g.(Dijkstra’s(singleOstart(SP(algorithm(
" Example(of(Dijkstra’s(SP:((
“find(the(SP(from(A(to(D”(
39#
Routing#(cont.)#
40#
WhatKisKaround#
! (“Search(nearby”(in(Google(maps)(
! Retrieve(and(display(all(POI(located(in(the(surrounding(area(
(according(to(user’s(locaBon(or(an(arbitrary(point)(
" Area(could(by(rectangular(or(circular(or(of(any(other(shape(
" Example:(“Provide(me(all(the(gasOstaBons(and(ATMs(within(a(distance(
of(1km”(
" It(is(as(simple(as(a(typical(range(query!(
! Recall(the(slides(about(range(query(processing(using(ROtrees!(
Live example: Search for hotels around Acropolis museum: http://g.co/maps/wzbaw
41#
WhatKisKaround#
42#
FindKtheKnearest#
(not(supported(by(Google(maps!)(
! Retrieve(and(display(the(nearest(POI((restaurants,(museums,(etc.)(
with(respect(to(a(reference(locaBon((
" Example:(“find(the(two(restaurants(that(are(closest(to(my(current(
locaBon”(or(“find(the(nearest(café(to(the(railway(staBon”(
" Issue:(distances(are(computed(wrt.(the(network(rather(than(the(free(
space((Euclidean(distance)(
(
! StateOofOtheOart(algorithm((at(the(spaBal(database(domain):(
" “Euclidean&Restric3on”((Papadias(et(al.(2003)(
How about getting the 1-nearest hotel wrt. Acropolis museum?
43#
FindKtheKnearest#
Closest wrt. Euclidean distance Closest wrt. network distance
44#
FindKtheKnearest#(cont.)#
! Euclidean(RestricBon(
" 1st&step:&Find&object&P1&which&is&nearest&to&Q&wrt&Euclidean&distance&&
" 2nd&step:&D1&is&the&network&distance&between&P1&and&Q&
45#
FindKtheKnearest#(cont.)#
! Euclidean(restricBon(
" 3rd&step:&Retrieve&all&points&(Pi)&with&Euclidean&Distance&from&Q&less&than&D1&&
" 4th&step:&Among&all&Pi,&find&the&one&with&the&minimum&network&distance&from&Q&
46#
Advanced#LBS#
! Examples(
! Constrained&rou3ng&(advanced(wrt.(geometry(/(complexity)&
" alternaBve(names:(inOroute(findOtheOnearest((Frentzos(et(al.(2007),(
tripOplanningOquery((Li(et(al.(2005)(
! “Get4together”(or(“Find4me”((moBon(is(involved)&
" See(also(Google(LaBtude,(etc.((
47#
Constrained#routing#
! Find(the(opBmal(route(from(a(departure(to(a(desBnaBon(point(…(
" …(with(the(extra(constraint(to(pass(through(one(among(a(specified(set(
of(candidate(points(
" Example:(“provide(me(the(best(route(office(to(home(constrained(to(
pass(from(a(bank(ATM(”(
48#
Constrained#routing#
! Any(idea(for(pruning?(
49#
Constrained#routing#(cont.)#
! VariaBon(of(Euclidean(RestricBon(
" 1st&step:&Retrieve&the&op3mal&route&R&between&P&and&Q&
50#
Constrained#routing#(cont.)#
! VariaBon(of(Euclidean(RestricBon(
" 2nd&step:&Retrieve&the&Euclidean&NN&w.r.t.&route&R&(point&N1)&
51#
Constrained#routing#(cont.)#
! VariaBon(of(Euclidean(RestricBon(
" 3rd&step:&Calculate&network&distances&D1=Net_Dist(P,N1)&and&D2=Net_Dist(N1,Q)&
52#
Constrained#routing#(cont.)#
! VariaBon(of(Euclidean(RestricBon(
" 4th&step:&Retrieve&all&candidate&objects&(Ni)&with&total&Euclidean&distance&from&both&P&and&Q&less&than&&D&=&D1&+&D2&
Perpendicular bisector
Circumference
53#
Constrained#routing#(cont.)#
! VariaBon(of(Euclidean(RestricBon(
" 5th&step:&For&each&Ni,&calculate&D1i&=&Net_Dist(P,Ni)&and&D2i&=&Net_Dist(Ni,Q),&and&report&the&Ni&the&one&that&minimizes&Di&=&D1i&+&D2i&
54#
“GetKtogether”#(or#“Find#me”)#
! A(number(of(moving(objects(try(to(meet(a(moving(object(
" Think(of(a(live(version(of(the(popular(Pacman(game(!!(
" Could(be(an(advanced(“Google(LaBtude”(or(“Facebook(Places”(app(
! Methodology:(
" other(objects(are(routed(to(a(point(where((
the(target(object(is(esBmated(to(arrive((
a|er(a(Bme(interval(
" this(“meeBng(point”(is(periodically((
refreshed(
55#
GetKtogether#(cont.)#
! Challenge:(future&loca3on&predic3on(!!(
56#
Summarizing#…#
! So(far,(we’ve(seen(a(variety(of(mobileOaware(applicaBons(
" From(‘smart’((updated(in(realOBme)(rouBng(to(mobile(social(
networking((Google(LaBtude,(Facebook(Places,(etc.)(
! Internally((either(at(server(or(client(side),(what(kinds(of(opera3ons(should(be(efficiently(supported?(" Core(database(/(computaBonal(geometry(operaBons(
" GraphObased(operaBons(
" Trajectory(management(operaBons(
57#
Operations#to#be#supported#
! Core(database(/(computaBonal(geometry(operaBons(
" Window&search:(selects(points(within(a((circular(or(rectangular)(window(
" k4NN&search:(selects(the(kO(nearest(points(to(an(object((point(or(region)(
" Euclidean&distance&calcula3on:(calculates(the(Euclidean(distance(between(two(points(
" Path&length&rou3ne:(calculates(the(length(of(a(path(
! GraphObased(operaBons(
! Trajectory(management(operaBons(
58#
Operations#to#be#supported#(cont.)#
! Core(database(/(computaBonal(geometry(operaBons(
! GraphObased(operaBons(
" Rou3ng:(finds(the(opBmal(route(between(two(points((taking(into(
consideraBon(a(number(of(constraints)(
" Network&distance&calcula3on:(calculates(the(network(distance(between(two(points(
" Network&k4Nearest&Neighbor&search:(searches(for(the(kONN(of(a(point(with(respect(to(network(distances(
! Trajectory(management(operaBons(
59#
Operations#to#be#supported#(cont.)#
! Core(database(/(computaBonal(geometry(operaBons(
! GraphObased(operaBons(
! Trajectory(management(operaBons(
" Trajectory&refresh:(adds(a(new(coming(posiBon(to(an(exisBng(
trajectory(
" Trajectory&projec3on:(esBmates(the(posiBon(of(an(object(at(a(future(
Bme((taking(into(consideraBon(its(history)(
" Trajectory4based&search:((spaBal(and/or(temporal)(window(search,(NN(
search,(trajectory(similarity(search,(etc.(
60#
The#big#picture#
61#
62#
The#modules#of#our#architecture#
raw data producers
(Semantic) Trajectory
aggregations (DW)
Mobility Data
Visual-ization
(Semantic) Mobility Data
Querying
(Semantic) Mobility
Data Mining
Extract-Transform-
Load (ETL)
Trajectory reconstruction
Raw location recordings (DB)
Home (breakfast) office (work) Market (shopping) Home (relax)
Road (bus)
Train (metro)
Sideway (walk)
[~, 8am]
[8am, 9am] [6pm, 6:30am] [7:30pm, 8pm]
[9am, 6pm] [6:30pm, 7:30pm] [8pm,~]
Trajectories (MOD)
Semantic enrichment
Semantic Trajectories (STD)
(Semantic) Mobility
Data OLAP
PoI DB
+
+
63#
Key#questions#that#arise#
! How(to(reconstruct&a&trajectory(from(raw(logs?((
! How(to(store&trajectories(in(a(DBMS?(
" Is(a(trajectory(simply(a(sequence(of((x,(y,(t)(tuples?(
! What(kind(of(analysis&is(suitable(for(mobility(data?((
" In(parBcular,(trajectories(of(moving(objects?(
" How(does(infrastructure((e.g.(road(network)(affect(this(analysis?(
! Which(paRerns&/&models&can(be(extracted(out(of(them?(
" Clusters,(frequent(paNerns,(anomalies(/(outliers,(etc.(
" How(to(compute(such(paNerns(/(models(efficiently?(
! How(to(protect&privacy&/&anonymity?(" Looking(for(the(tradeOoff(between(privacy(protecBon(and(quality(of(analysis(
64#
Course#outline#
I.&Introduc3on&–((DefiniBon(of(trajectory(data;(GeoOposiBoning(technologies;(LocaBonO
aware(applicaBons(
II.&Background&–((SpaBal(database(management(and(exploraBon(
III.&Mobility&data&management&–((Acquiring(trajectories(from(raw(data;(LocaBonOaware(querying;(
Efficient(trajectory(indexing(and(storage(in(MODs(
IV.&Mobility&data&explora3on&–((Trajectory(warehousing(and(OLAP;(Mobility(data(mining(and(
reasoning;(Visual(analyBcs(for(mobility(data(
V.&Privacy&aspects&–((Preserving(user(traces’(anonymity(
VI.&Outlook&–((Open(issues;(Future(challenges(
65#
Questions#
End(of(section#