Giter Site home page Giter Site logo

cscape / interchange Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 5.75 MB

๐Ÿ”„๐Ÿ•‘ TheTransitClock using Docker with flexible agency configuration.

Home Page: https://wayline.co/

License: MIT License

Dockerfile 8.34% Shell 64.21% Java 17.13% CSS 10.32%
wayline transit transitclock transitime docker gtfs-realtime

interchange's Introduction

Interchange

This project is the first (and only) fully-automated installer for TheTransitClock, designed to make launching it as easy and effortless as possible. See Why

Usage

Pre-Setup

  • Download the latest version of Ubuntu or Debian
  • Install Docker: curl -sSL https://get.docker.com/ | sh
  • Install Git
  • Download Interchange: git clone https://github.com/cscape/interchange.git
  • Navigate to the Interchange directory: cd interchange

Interchange Setup

In the agencies directory, you'll find an example of how to configure transit agencies to work in Interchange. The name of the files don't matter, but they must end in .env so the installer knows what to look for.

Each configuration file corresponds to 1 transit agency. Each one must have an ID (without spaces), a link to a GTFS feed, and a link to a GTFS Realtime Vehicle Positions feed. Each one must be double quoted as follows. Here's an example of a configuration file:

ID="tampa-regional-transit"
GTFS="http://www.gohart.org/google/google_transit.zip"
GTFSRT="http://api.tampa.onebusaway.org:8088/vehicle-positions"

Running Interchange

. go.sh

The start script will build an Interchange container (may take up to 20 minutes), start the PostgreSQL database, create database tables for each transit agency, load the gtfs data into the database, create an API key, and deploy the API + Web service.

The API is available at http://localhost:3020/api
The Web interface is at http://localhost:3020/web

Why?

TheTransitClock is a big workhorse that basically turns vehicle positions (AVL/GPS data) into trip updates for transit agencies. This is extremely useful for generating arrival times at stops and metro stations, and critical for having realtime data on Google Maps. The problem is that TheTransitClock is confusing to set up. After about 3 months of trial-and-error, and 4 variations of Wayline Interchange, this is the final result that works. So far, it's worked very well and this is now a breeze to use.

License

MIT ยฉ Cyberscape.

interchange's People

Contributors

ciolt avatar ludwigmace avatar luqmaan avatar scrudden avatar walkeriniraq avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

inteliti goeuropa

interchange's Issues

Override webapp/template/includes.jsp

Currently like this:

<%-- This file contains includes that can be included with every file --%>

<%-- Load in JQuery --%>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<%-- Load in JQuery UI javascript and css to set general look and feel, such as for tooltips --%>
<script src="<%= request.getContextPath() %>/jquery-ui/jquery-ui.js"></script>
<link rel="stylesheet" href="<%= request.getContextPath() %>/jquery-ui/jquery-ui.css">
  
<%-- Load in Transitime css and javascript libraries. Do this after jquery files
     loaded so can override those parameters as necessary. --%>
<link rel="stylesheet" href="<%= request.getContextPath() %>/css/general.css">
<script src="<%= request.getContextPath() %>/javascript/transitime.js"></script>

<script>
// This needs to match the API key in the database
//var apiKey = "f78a2e9a"
 var apiKey="<%=System.getProperty("transitclock.apikey")%>"
// For accessing the api for an agency command
var apiUrlPrefixAllAgencies = "/api/v1/key/" + apiKey;
var apiUrlPrefix = apiUrlPrefixAllAgencies + "/agency/<%= request.getParameter("a") %>";
</script>

It should have the viewport tag as well, and reference jQuery from the same server rather than fetching it externally.

No Prediction Accuracy or Schedule Adherence reports available?

Got it running with my GTFS and GTFS-RT for testing.
Can display AVL reports on map and last-gps too.
Predictions are available instantly (up to 100% assignments), but:

  • historical reports give: "No data for requested parameters. Hit back button to try other parameters."
  • schedule adherence gives empty result.

When i checked the check_db script, it says database is running

Any hints on where to look for solution ?

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.