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]
© Copyright 2026 Paperzz