/urbanaccess

A tool for GTFS transit and OSM pedestrian network accessibility analysis

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

UrbanAccess

Build Status

A tool for computing GTFS transit and OSM pedestrian networks for accessibility analysis.

Integrated AC Transit and BART transit and pedestrian network travel times for Oakland, CA Integrated AC Transit and BART transit and pedestrian network travel times for Oakland, CA

Overview

UrbanAccess is tool for creating multi-modal graph networks for use in multi-scale (e.g. address level to the metropolitan level) transit accessibility analyses with the network analysis tool Pandana. UrbanAccess uses open data from General Transit Feed Specification (GTFS) data to represent disparate operational schedule transit networks and pedestrian OpenStreetMap (OSM) data to represent the pedestrian network. UrbanAccess provides a generalized, computationally efficient, and unified accessibility calculation framework by linking tools for: 1) network data acquisition, validation, and processing; 2) computing an integrated pedestrian and transit weighted network graph; and 3) network analysis using Pandana.

UrbanAccess offers the following tools:

  • GTFS and OSM network data acquisition via APIs
  • Network data validation and regional network aggregation
  • Compute network impedance:
    • by transit schedule day of the week and time of day
    • by transit mode
    • by including average passenger headways to approximate passenger transit stop wait time
  • Integrate pedestrian and transit networks to approximate pedestrian scale accessibility
  • Resulting networks are designed to be used to compute accessibility metrics using the open source network analysis tool Pandana
    • Compute cumulative accessibility metrics
    • Nearest feature analysis using POIs

Let us know what you are working on or if you think you have a great use case by tweeting us at @urbansim or post on the UrbanSim forum.

Citation and academic literature

To cite this tool and for a complete description of the UrbanAccess methodology see the paper below:

Samuel D. Blanchard and Paul Waddell. 2017. "UrbanAccess: Generalized Methodology for Measuring Regional Accessibility with an Integrated Pedestrian and Transit Network." Transportation Research Record: Journal of the Transportation Research Board. No. 2653. pp. 35–44.

For other related literature see here.

Current status

Forthcoming improvements:

  • Unit tests

Reporting bugs

Please report any bugs you encounter via GitHub issues.

Contributing to UrbanAccess

If you have improvements or new features you would like to see in UrbanAccess:

  1. Open a feature request via GitHub issues.
  2. Contribute your code from a fork or branch by using a Pull Request and request a review so it can be considered as an addition to the codebase.

Install the latest release

conda

UrbanAccess is available on conda and can be installed with:

conda install -c udst urbanaccess

pip

UrbanAccess is available on PyPI and can be installed with:

pip install -U urbanaccess

Development Installation

Developers contributing code can install using the develop command rather than install. Make sure you are using the latest version of the codebase by using git's git pull inside the cloned repository.

To install UrbanAccess follow these steps:

  1. Git clone the UrbanAccess repo
  2. in the cloned directory run: python setup.py develop

To update to the latest development version:

Use git pull inside the cloned repository

Documentation and demo

Documentation for UrbanAccess can be found here.

A demo jupyter notebook for UrbanAccess can be found in the demo directory.

Minimum GTFS data requirements

The minimum GTFS data types required to use UrbanAccess are: stop_times, stops, routes, calendar, and trips however if there is no calendar, calendar_dates can be used as a replacement.

Related UDST libraries