All Projects → luborliu → Traclusalgorithm

luborliu / Traclusalgorithm

Licence: mit
This is an implementation for TraClus algorithm in Java. A GUI was added.

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Traclusalgorithm

Algorithmmap
建立你的算法地图:如何高效学习算法;算法工程师:从小白到专家
Stars: ✭ 47 (-26.56%)
Mutual labels:  algorithm
Interview Guide
Coding/technical interview guide: data structures, algorithms, complexity analyses, interview questions
Stars: ✭ 54 (-15.62%)
Mutual labels:  algorithm
Bitp0wn
Algorithms to re-compute a private key, to fake signatures and some other funny things with Bitcoin.
Stars: ✭ 59 (-7.81%)
Mutual labels:  algorithm
Data Structure And Algorithms
A complete and efficient guide for Data Structure and Algorithms.
Stars: ✭ 48 (-25%)
Mutual labels:  algorithm
Thmap
Concurrent trie-hash map library
Stars: ✭ 51 (-20.31%)
Mutual labels:  algorithm
Study
Algorithm / Book Reviews / Interview / ETC
Stars: ✭ 58 (-9.37%)
Mutual labels:  algorithm
Jobinterviewalgorithms
A directory of classic algorithms that you will find when interviewing for software engineering jobs.
Stars: ✭ 46 (-28.12%)
Mutual labels:  algorithm
Dijkstra Cartography
Using Dijkstra's algorithm ("finding the shortest paths between nodes in a graph") to draw maps 🌍.
Stars: ✭ 1,112 (+1637.5%)
Mutual labels:  algorithm
Algorithm
algorithm library
Stars: ✭ 55 (-14.06%)
Mutual labels:  algorithm
Lgenerics
Generic algorithms and data structures for Lazarus/Free Pascal
Stars: ✭ 59 (-7.81%)
Mutual labels:  algorithm
Vsalert
An drop-in replacement for UIAlertController with more power and better looks.
Stars: ✭ 48 (-25%)
Mutual labels:  algorithm
Lapjv
Go implementation of the LAPJV algorithm
Stars: ✭ 50 (-21.87%)
Mutual labels:  algorithm
Awesome Java Leetcode
👑 LeetCode of algorithms with java solution(updating).
Stars: ✭ 8,297 (+12864.06%)
Mutual labels:  algorithm
Leetcode
正确的姿势,学习的态度来刷 LeetCode:高效的代码、简洁的注释、精炼的总结。
Stars: ✭ 1,043 (+1529.69%)
Mutual labels:  algorithm
Boj Autocommit
When you solve the problem of Baekjoon Online Judge, it automatically commits and pushes to the remote repository.
Stars: ✭ 60 (-6.25%)
Mutual labels:  algorithm
Al Go Rithms
🎵 Algorithms written in different programming languages - https://zoranpandovski.github.io/al-go-rithms/
Stars: ✭ 1,036 (+1518.75%)
Mutual labels:  algorithm
Pathfinding Lab
Run, test and compare all algorithms and heuristic functions
Stars: ✭ 58 (-9.37%)
Mutual labels:  algorithm
Algorithms Cheatsheet Resources
🤓All the geeky stuffs you need to know at one place!
Stars: ✭ 60 (-6.25%)
Mutual labels:  algorithm
Kactl
KTH Algorithm Competition Template Library (... eller KTHs AC-tillverkande lapp)
Stars: ✭ 1,106 (+1628.13%)
Mutual labels:  algorithm
Overhead Camera People Counter
People counting algorithm using an overhead video camera
Stars: ✭ 58 (-9.37%)
Mutual labels:  algorithm

TraClus Algorithm

This is an implementation of TraClus (TRAjectory CLUStering) [1] algorithm in Java. A GUI was added for the convenience.

The original paper of this algorithm can be found at http://hanj.cs.illinois.edu/pdf/sigmod07_jglee.pdf The authors of the paper implemented the algorithm in C++, so it could be helpful to develop one in Java for other users to use. I have compared the output with the one generated by the C++ implementation, so far I have not found any bugs. It will be great if any one reports any bugs about this implementation.

I am currently involved in a maritime traffic project which requires me to implement various clustering algorithms. So that is the very first motivation about why I do this implementation. I also implemented another clustering algorithm called DBSCANSD which was proposed during my thesis study and you can find its code from the follwoing link: https://github.com/luborliu/DBSCANSD

How to run the code?

After downloading it to local,

  1. cd to the folder of src/boliu/

  2. compile all the .java files using:

    javac *.java

  3. cd to the folder of src/

  4. execute the program using the following either command:

    1. java boliu.Main inputfile outputfile

      --e.g. java boliu.Main deer_1995.tra testOut.txt

      In this way, the program will help you to decide the parameters for eps and minLns;

    2. java boliu.Main inputfile outputfile eps minLns

      --e.g. java boliu.Main deer_1995.tra testOut.txt 29 8

      In this way, you tell the program the parameters for eps and minLns, which are 29 and 8 separately.

  5. waiting for the result :)

  6. Star it if it helps *-*

Input file format

The data format is as follows:

1st line: Number of dimensions (2 for example)

2nd line: Number of trajectories (32 for example)

3rd line: Trajectory Index (starting from 0, so 0 for this line), Number of trajectory points in this trajectory (n for example), X1, Y1, X2, Y2, …., Xn, Yn

4th line: Trajectory Index (starting from 0, so 1 for this line), Number of trajectory points in this trajectory (m for example), X1, Y1, X2, Y2, …., Xm, Ym
.
.
.
34th line:Trajectory Index (starting from 0, so 31 for this line), Number of trajectory points in this trajectory (j for example), X1, Y1, X2, Y2, …., Xj, Yj

Reference

[1] Lee, Jae-Gil, Jiawei Han, and Kyu-Young Whang. "Trajectory clustering: a partition-and-group framework." Proceedings of the 2007 ACM SIGMOD international conference on Management of data. ACM, 2007.

Realse Note

02/23/2017 Create License file under MIT license as requested.

03/10/2016 Fix a bug (reported by @luca-zamboni) that will throw InputMismatchException while the code is downloaded in some countries.

02/02/2016 Fix a bug (reported by Dieter) of estimation function (cannot give right output according to different input files).

11/25/2015 Fix a bug (reported by @ankushdas) that makes the program not work for multi-dimensional (>2) data set.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].