jeffkaufman / mbtaplot Goto Github PK
View Code? Open in Web Editor NEWmbta bus plotter using google app engine
Home Page: http://sccs.swarthmore.edu/~cbr/news/mbtaplot.html
mbta bus plotter using google app engine
Home Page: http://sccs.swarthmore.edu/~cbr/news/mbtaplot.html
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
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.
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.
subways don't display in the right places during the noon hour
t alerts for service disruptions might be good to indicate somehow
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.
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.
trains and buses could use smaller icons; would be clearer
When you click on a bus, it doesn't do anything. Instead, it should indicate somehow when it will arrive at future stops.
right now there are separate "redraw everything" loops going, one for each route. It would be better if these were combined
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.
bookmarking would be easier if the hashtag would store the current state
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.
Google's new gmaps v3.4 release should display markers much faster. Start using it.
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.
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.
see title
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.
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.
Why don't you display things other than buses and the red, orange, and blue lines?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.