Mapping Project
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings Removed junk eclipse pref files Mar 15, 2014
bin finally eliminated pesky bash script conflicts Apr 9, 2014
deprecated Set up autocorrections...I think - modded requests to have private in… Apr 6, 2014
lib Junit for ant building Apr 7, 2014
src Merge branch 'master' of https://github.com/skortchmark9/riMap Apr 11, 2014
.classpath Cleaned up some and created responses/requests Apr 5, 2014
.gitignore
.gitignore~ ?? Apr 8, 2014
.project Renamed to traffic Apr 9, 2014
README.md
README.txt Readme edits Apr 11, 2014
README_MAPS.txt Worked on README some, got rid of ExitRequest Apr 9, 2014
build.xml fixed these files to work with my computer Mar 23, 2014
data.zip Added data zip in preparation for AWS upload Apr 13, 2014
todo.txt

README.md

Traffic

================

This project is handles real-world map data and provides path information. You can pan around and click points on the map, or you can use the input fields to input cross-streets and find paths between them. The project is backed by a few interesting data structures. It connects to a traffic server and dynamically updates clients with traffic information.

1.) KD Tree, which handles the nodes in the map. It has a custom constructor which reduces construction time to k*nlogn. The KD Tree also allows us to specify the boundaries of the map.
2.) Radix Tree, which provides autocompletion results for each street. Faster and more efficient than a typical trie, it also creates suggestions based on levenshtein distance, possible whitespace errors, and bigram frequency.
3.) Binary Search File - a custom wrapper for Java's Random Access File - this class has numerous optimizations that allow for quick retrieval of information from the Random Access File with minimal system calls.

The project uses multiple threads to ensure that the frontend GUI remains responsive no matter what kind of requests are being made to the server.