Finds shortest route between two points on the MTA subway. Uses Dijkstra's algorithm. Currently lacking interface.
Learning goals:
- graph modelling
- graph traversal
- comparing run time against Python
- google transit feed specification (gtfs)
Future:
- geodata for more accurate route planning
- implement gtfs-realtime
- implement string parsing and fuzzy find
These instructions are for setting up a local development environment.
You'll need to install Go and set up your Go workspace. Instructions here.
wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz
tar -C /usr/local -xvf go1.8.1.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
mkdir $HOME/go
cd $HOME/go
This project uses protocol buffers. Install from repo here.
cd $HOME/go
git clone git@github.com:xianny/mta-gtfs.git
cd mta-gtfs
go build
Run with ./mta-gtfs