Giter Club home page Giter Club logo

mbtaplot's Introduction

MBTA Bus Plotter
----------------

Plots bus routes and locations, runs on google app engine

Live at http://mbtaplot.appspot.com/

Uses:

  http://mbtaplot.appspot.com/
    - show a default set of routes

  http://mbtaplot.appspot.com/?routes=77,78,72
    - show specific routes

  http://mbtaplot.appspot.com/?routes=all
    - show all routes
     - very slow, may crash your browser

  http://mbtaplot.appspot.com/?routes=77,78,72&shading=true
    - shade and size routes by the number of buses currently on them
    - ideally we'd merge sections over the same area so we could size
      them properly, but we don't
      - the shared portions of routes will be underemphasized

  http://mbtaplot.appspot.com/?routes=77,78,72&buses=true
    - show buses   

  click on a route to show the buses on it

  click on it again (at least 45sec later) to update bus locations


Design:
  - mbtaplot.py makes xml requests to the nextbus web service and
    caches the results.  It serves index.html in response to most
    requests and json answers to requests for Paths or Buses.

  - index.html runs javascript with jquery to load the map, add the
    buses as markers, and add the paths as polylines.  It gets it's
    data by requesting json from Paths or Buses like this:

       http://mbtaplot.appspot.com/Paths?route=77
       http://mbtaplot.appspot.com/Buses?route=77

mbtaplot's People

Contributors

jeffkaufman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

danner

mbtaplot's Issues

subways not visible at the start of their routes

Because subway prediction information is not available from the mbta for trains that have not yet left their terminals, stops like davis square near the end of a line never or almost never show predictions for inbound trains. This makes it hard to know when to leave your house.

Use a different shape to show the bus heading

Please use a shape other than an equilateral triangle to show which direction a bus is moving. It's really hard to figure out the direction, especially if the bus is on a curve or intersection.

It would also be helpful if it identified if buses are heading inbound or outbound, maybe by using different colors, labeling the icons, or adding a mouse-hover tooltip.

the stop times window should have route links

When you click on a stop a window pops up with a table like:

10min 77 Arlington Heights via Mass. Ave.
15min 77 Harvard Station via Mass. Ave.
23min 77 Harvard Station via Mass. Ave.
26min 350 Burlington via Mall
...

These routes should be links that draw that route on the map if it's not currently there.

make a "loading" gif

When it's loading on a slow internet connection its not obvious that its waiting for the server instead of just crashed. This is especially apparent when you tell it to add a new route. Some kind of spinny loady gif would help.

zoom, pan options not bookmarkable

There should be page params "ll=lat,lon" and "zoom=zoomlevel" so people can bookmark a page at a specific location and zoomlevel. There should also be a javascript generated link for page bookmarking, updated each time you zoom, recenter, or change what routes are visible.

ashmont inbound trains on the wrong route

Trains inbound from ashmont have direction set to '0', which usually means that something is a braintree train. So I was "snapping" them to the braintree route. I've temporarily turned off "snap to path" for subway routes (which don't need it generally) but it would be better to twiddle the direction field for trains coming from ashmont. Right now if you click on an ashmont-originating train it will highlight the braintree branch instead.

merge bus and subways stops for route predictions

Right now the bus and subway stops for places like porter square are right on top of each other, which means you only end up clicking on the top one of the two. These should be merged so that you get predictions for both buses and subways when you click on one, or they should be artificially separated so you can choose which one you want to click on.

make it more obvious when "running" becomes unchecked

When the "running" checkbox unchecks itself (to save bandwidth when things are left unattended) there's not much visual indication. Some kind of overlay or other thing that showed "this is no longer accurate" would be good.

better chooser page

The current chooser page just has a list of routes. This is dull, unintuitive, and doens't work well for people who don't know what routes they're interested in. Something map-based would be better.

stops should have little round red markers

Currently stops are small black dots. They should instead be the standardized larger round red markers. This would make them easier to click on, and would be more obviously clickable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.