Skip to main content

No project description provided

Project description

spatial_access: Compute travel times and spatial access metrics at scale

Compute travel times and spatial access measures at scale (millions of origin-destination pairs in minutes). Travel times for three modes: walking, biking, driving. Spatial access measures: provider-to-people ratio, avg. time to nearest provider, count/attribute sum of nearby providers, weighted access scores and floating catchment areas.

Latest Release latest release
Build Status travis build status
Documentation read the docs
Tested Operating Systems Ubuntu, macOS

Components of spatial_access :

spatial_access has two submodules:

  • p2p: Generate many to many matrices with travel times for sets of coordinates. Use walk ,bike or drive network types (import transit from other sources), or get the distance in meters.
  • Models: Contains a suite of models for calculating spatial accessibility to amenities.

To use this service as a ReST API, see:

If you are a Windows user, instructions for installing Ubuntu on a virtual machine are at the bottom of the Readme.


  1. A modern compiler like gcc or clang.

  2. Dependencies

    • MacOS:

      brew install spatialindex

    • Ubuntu:

      sudo apt-get install libspatialindex-dev

      sudo apt-get install python-tk

  3. Package

    pip3 install spatial_access


See the iPython notebooks in docs/ for example usage, or for technical documentation.

Overwriting default configuration values

p2p provides default configuration values for edge weights and node impedence (see spatial_access/ You can overwrite these as follows:

from spatial_access.p2p import TransitMatrix
from spatial_access.Configs import Configs
custom_config = Configs()
# set fields of custom_cofig
tm = TransitMatrix(..., configs=custom_config)
# continue with computation 


Instructions for building locally (only for developers):

  • Additional requirements: cython and jinja2
  • To regenerate .pyx files, run: bash (TravisCI will do this automatically on deployment)
  • To install locally, run: sudo python3 install from spatial_access root directory
  • Unit tests require the pytest package. From package root directory, run python3 -m pytest tests/ to run all unit tests.

PyPi Maintenance

The package lives at:

When a branch is pulled into Master and builds/passes all unit tests, Travis CI will automatically deploy the build to PyPi.

To update PyPi access credentials, see .travis.yml and follow the instructions at to generate a new encrypted password.

Installing Ubuntu 18 LTS with dependencies from scratch (recommended for Windows users)

  1. Follow the instructions at this link: to set up a virtual machine
  2. sudo apt-get update
  3. sudo add-apt-repository universe
  4. sudo apt-get -y install python3-pip
  5. Continue with Installation Instructions (above)

Questions/Feedback? or


Developed by Logan Noel at the University of Chicago's Center for Spatial Data Science (CSDS) with support from the Public Health National Center for Innovations (PHNCI), the University of Chicago, and CSDS.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for spatial-access, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size spatial_access-1.0.0-py3.6-linux-x86_64.egg (311.6 kB) File type Egg Python version 3.6 Upload date Hashes View
Filename, size spatial_access-1.0.0.tar.gz (124.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page