Skip to content
/ peartree Public
forked from kuanb/peartree

Peartree: A library for converting transit data into a directed graph for network analysis.

License

Notifications You must be signed in to change notification settings

pitrz/peartree

 
 

Repository files navigation

Peartree 🍐🌳

https://img.shields.io/travis/kuanb/peartree.svg?branch=master https://coveralls.io/repos/github/kuanb/peartree/badge.svg?branch=master

Peartree is a library for converting GTFS feed schedules into a representative directed network graph. The tool uses Partridge to convert the target operator schedule data into Pandas dataframes and then NetworkX to hold the manipulated schedule data as a directed multigraph.

graph loader animation

Above, an example of multiple Bay Area transit operators being incrementally loaded into Peartree.

Installation

pip install peartree

Usage

See a full notebook at this gist to see a simple, step-by-step iPython Notebook pulling in an AC Transit GTFS feed and converting it to a NetworkX graph.

import peartree as pt

path = 'path/to/actransit_gtfs.zip'

# Automatically identify the busiest day and
# read that in as a Partidge feed
feed = pt.get_representative_feed(path)

# Set a target time period to
# use to summarize impedance
start = 7*60*60  # 7:00 AM
end = 10*60*60  # 10:00 AM

# Converts feed subset into a directed
# network multigraph
G = pt.load_feed_as_graph(feed, start, end)

Examples

I've yet to produce a full how-to guide for this library, but will begin to populate this section with any blog posts or notebooks that I or others produce, that include workflows using Peartree.

Calcualting betweeness centrality with Brooklyn bus network

About

Peartree: A library for converting transit data into a directed graph for network analysis.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.6%
  • Makefile 0.4%