The code implements SQUID algorithm for subtrajectory query and join.
- subtrajectory query
- subtrajectory join
- dtj-mr-join
- dtj-mr-c-join
- **Map Matching. **Use preprocessing/gen_traj/ST_Matching-master/run.ipynb to run the Map Matching algorithm. For detailed usage, please refer to preprocessing/gen_traj/ST_Matching-master/README.md.
- Time estimation. Run preprocessing/gen_traj/time_estimation.py and get the time estimation result.
- Merge time estimation. Run preprocessing/gen_traj/merge_time_estimation.py to merge the time estimation result.
- Transfer probability. Run preprocessing/gen_traj/merge_trans_probility.py and get the transfer probability result.
- Random walk. Run preprocessing/random_walk.py and get the final result.
- Trajectory sampling. Use preprocessing/sampleTraj/trajGen.sh to sample the trajectories.
Initial file format:
trajectoryID time_stamp longitude latitude
Example:
0 0 103.6 1.22
0 1 103.6 1.22
0 2 103.6 1.22
...
You have to do perform binary conversion on text data and use gzip algorithm to compress the data.
Use preprocessing/TimePartition.java for time partition processing
Use preprocessing/SpacePartition.java for space partition processing
Use preprocessing/trajic-float/Trajic.java for zip processing
Each record format:
trajID[4 Bytes] timeStamp[2 Bytes] longitude[4 Bytes] latitude[4 Bytes]
Example:
0 0 103.6 1.22
0 1 103.6 1.22
...
Use preprocessing/TimePartition.java for time partition processing
squid/start_squid_query.sh
squid/start_squid_join.sh
squid/start_dtjmr.sh
squid/start_dtj_mr_c.sh