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


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.

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


A demo is available as a jupyter notebook and can be run by going to the cloned repo demo directory and in a terminal run jupyter notebook inside the directory to load the simple_example.ipynb notebook.

Minimum GTFS data requirements

The minimum GTFS data types required to use UrbanAccess are: stop_times, stops, routes, and trips and either calendar or calendar_dates. If you are using a feed that does not have or utilize a calendar you may use the calendar_dates file instead of calendar with the calendar_dates_lookup parameter here.


UrbanAccess is licensed under the AGPL license.

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.