Skip to content

Latest commit

 

History

History
53 lines (42 loc) · 1.86 KB

README.md

File metadata and controls

53 lines (42 loc) · 1.86 KB

RIPTA-dashboard

Visualizing realtime data from RIPTA's API using Dash.

PRs Welcome!

An example of the interface:
closeup of hovertext

An animation sped up for effect:
animation of RIPTA-dashboard

Requirements

Accounts

Python Packages

  • pandas
  • numpy
  • matplotlib
  • plotly
  • dash
  • dash_core_components
  • dash_html_components

Instructions

Setting Up Credentials

  1. If you don't already have one, setup an account with Plotly and with Mapbox.
  2. Copy config-template.json to config.json:
    • cp config-template.json config.json
  3. In config.json add in your Plotly username and API Key and your Mapbox access token.

Running Locally

  1. run python app.py
  2. press control + c to terminate

Data Structure

Vehicle Position Data

A dictionary with two keys: "header" and "entity". "header" is another dictionary that contains metadata. "entity" is a list of dictionaries. Each "entity" contains a "vehicle" dictionary with data about a specific bus and location, speed, route etc.

Trip Updates Data

A dictionary with two keys: "header" and "entity". "header" is another dictionary that contains metadata. "entity" is a list of dictionaries. Each "entity" is dictionary whose value is a list of other dictionaries, each of which contains data about a specific bus route including it stops and their delay times and the particular bus (vehicle_id) that is on the route.

Dash

Learn more about Dash.

View their documentation.