little project to experiment with graph traversals using GTFS data from NYC MTA (subway)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
.gitignore
README.md
gtfs-realtime.pb.go
gtfs.go
nyct-subway.pb.go

README.md

Transit Route Planner

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

Getting Started

These instructions are for setting up a local development environment.

Prerequisites

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.

Installing

cd $HOME/go
git clone git@github.com:xianny/mta-gtfs.git
cd mta-gtfs
go build

Run with ./mta-gtfs