Skip to content

Code4Maine/TransitStopMotion

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TransitStopMotion.rb

A video by Matt Grande.

This ruby script reads GTFS data provided by the City of Hamilton (or any city, really) to create a still image of all the routes and/or a video showing the movement of each vehicle in the fleet.

I created this for fun over the course of a couple evenings. It is not exactly "good" code, but I tried to comment it to explain what was happening. Feel free to ask any questions.

Requirements

  • chunky_png, for generating images. oily_png is highly recommended, as it provides numerous speed enhancements.
  • ffmpeg for the video generation.

Usage

ruby ./TransitStopMotion.rb

  • The line animator.create_image (line 329 as of this writing) generates a single image of all the routes.
  • The line animator.tween (line 334 as of this writing) generates all the frames for generating the video. It is commented out by default as running this takes somewhere in the range of 8 to 12 hours.
  • The line ffmpeg -r 27 -i frames/frame-%05d.png -r 30 video_90_90.mpg (line 337 as of this writing) actually generates the video.

FAQ

  1. What do the generated video and image look like?
    Here is the image, and here is the video.

  2. I want to generate something like this for my city. How?
    Locate GTFS data for your city. Replace Hamilton's GTFS data in the gtfs folder. Modify the max/max_lat/lng and image size properties as necessary. Run the script. Enjoy.

  3. Do you feel bad about including an FAQ section, even though no one has asked any of these questions?
    Yes.

About

TransitStopMotion.rb

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%