Skip to content

This application written in Python is capable of fully automatic clustering of 2D trajectory data.

Notifications You must be signed in to change notification settings

sdesai1287/TrajectoryClustering

 
 

Repository files navigation

TrajectoryClustering

This application is capable of fully automatic clustering of 2D trajectory data. Why is this useful? Many systems today rely on capturing the data with one main property - a time-varying location which can be thought of as a trajectory. Whether it is ecologists who track wild animals, meteorologists who track hurricane flows or traffic researchers who analyse the common patterns in traffic, they all work with huge amount of data wchich must be (auomatically) analyzed in order to derive meaningful information.

alt trajectory clustering 01

How it works?

The application performs either agglomerative or spectral clustering. The former requires the user to specify expected number of cluters wheras the latter is capable of finding the most suitable number of clusters automatically. It is based on the modified Hausdorff distance used as a semi-metric to define an affinity among different trajectories. For more detail see this paper: Clustering of vehicle trajectories

Dependencies

  • Python 2.7
  • NumPy
  • SciPy

Install and run

$ chmod +x trajectory_clustering.py
$ python trajectory_clustering.py

Controls

mouse <left>  draw a trajectory
key <a>		    agglomerative clustering (number of clusters must be specified)
key <s>		    spectral clustering (number of clusters is found automatically)
key <r>		    reset

Synopsis

trajectory_clustering num
		num		expected number of clusters (only required for agglomerative clustering)

About

This application written in Python is capable of fully automatic clustering of 2D trajectory data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%