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]