PostTrajectory : Querying and Managing GPS and Trajectories on

Download Report

Transcript PostTrajectory : Querying and Managing GPS and Trajectories on

PostTrajectory : Querying and Managing GPS and
Trajectories on PostgreSQL/PostGIS
KiHyun Yoo
E-mail: [email protected]
Introduction
 In modern cities, many people drive the vehicles that equipped with the GPS
devices
 It is easily being collected and stored the GPS data
 Many applications for location-based services(LBS) and moving object have
been studied using these GPS data
 Moreover, we can use a large-scale GPS data
 Because it is easily collected from the vehicles
 Recently it is increasing studies for mining a meaningful and a valuable information
from the large-scale data
Motive
 The trajectory is the set of information of the location by the time
 Unfortunately traditional spatial database systems do not support data types and
functions for trajectory data
 PostgreSQL is probably one of the best solutions for trajectory data
 It is an open-source ORDBMS(Object-Relational Database Management System)
 Supports objects, classes and inheritance in database schemas and query language
 Large-scale trajectory data is useful
 By analyzing and predicting the trajectory data, it provide a new opportunity to
understand the city dynamics and economic phenomena
Framework
PostTrajectory
GeoContents
Client(Web)
GeoContents
Client(Phone)
GeoContents
Client(Tablet)
Data Types
Function_1
Server
Function_2
PostGIS
Function_3
PostTrajectory
Functions
PostgreSQL DB
….
Data Types
PostTrajectory
Data Types
INSTANT, PERIOD, MPOINT, MREAL, MBOOL, ....
Type
Temporal
Functions
TP_Equals, TP_Before, TP_Meets, TP_Overlaps, TP_During, TP_Intersects, ....
TR_IsEmpty, TR_Append, TR_Update, TR_Delete, TR_AtInstant, TR_Passes, TR_At, TR_AtPeriods, T
Trajectory
R_Inside, TR_Length, TR_Distance, ....
PostTrajectory (Cont.)
Q1) What is the longest distance that was travelled by a vehicle during the
periods?
SELECT Max(TR_Length(TR_AtPeriods (traj.Trip, ‘PERIOD(5005, 5008)’))) AS Dist
FROM Trajectory traj
WHERE TR_Present(traj.Trip, ‘PERIOD(5005, 5008)’);
Q2) Which vehicles travelled within one of the regions from City's Table during
the periods?
SELECT c.Region AS Region, traj.car AS car
FROM Trajectory traj, City c
WHERE NOT (TR_IsEmpty(TR_At(TR_AtPeriods(traj.Trip, ‘PERIOD(5005, 5008)’), c.Region)));
PostTrajectory (Cont.)
Applications
Thank you
Any Questions?
[email protected]