gtfspy

Public transport network analysis using Python ๐ŸšŠ๐Ÿš‡๐Ÿšƒ๐ŸšŒ๐Ÿ›ณ๏ธ๐Ÿšก๐Ÿš ๐Ÿšž

https://github.com/cxaalto/gtfspy

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • โ—‹
    CITATION.cff file
  • โ—‹
    codemeta.json file
  • โ—‹
    .zenodo.json file
  • โœ“
    DOI references
    Found 4 DOI reference(s) in README
  • โ—‹
    Academic publication links
  • โ—‹
    Committers with academic emails
  • โ—‹
    Institutional organization owner
  • โ—‹
    JOSS paper metadata
  • โ—‹
    Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary

Keywords

gtfs python routing sqlite

Keywords from Contributors

cameratrap distribution transformers genomics interactive stack serializer packaging network-simulation shellcodes
Last synced: 6 months ago · JSON representation

Repository

Public transport network analysis using Python ๐ŸšŠ๐Ÿš‡๐Ÿšƒ๐ŸšŒ๐Ÿ›ณ๏ธ๐Ÿšก๐Ÿš ๐Ÿšž

Basic Info
  • Host: GitHub
  • Owner: CxAalto
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 17.4 MB
Statistics
  • Stars: 163
  • Watchers: 16
  • Forks: 31
  • Open Issues: 21
  • Releases: 2
Topics
gtfs python routing sqlite
Created about 9 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License

README.md

gtfspy

Gtfspy-master Travis CI build passing PyPI badge

gtfspy is a Python package for analyzing public transport timetable data provided in the General Transit Feed Specification, GTFS, -format.

Core features:

  • Import one or multiple GTFS feeds into one SQLite database for efficient querying of the data.
  • Augment the sqlite with real walking distances between PT stops using Open Street Map (OSM) data.
  • Compute simple statistics for the public transport networks such as number of stops, routes, network length.
  • Filter databases spatially and temporally to match your area and time region of interest.
  • Perform accessibility analyses using a routing/profiling engine
    • Adapted from the Connection Scan Algorithm (CSA).
    • Compute all Pareto-optimal journey alternatives between an origin-destination pair, and summarize connectivity with measures on travel time and number of transfers.
  • Produce data extracts in various formats (network edge lists, geojson).

Prerequisites

  • Python 3.8
  • Supported platforms: Linux, OSX & Windows
  • Optional: git is used for development.

Install

Linux and Mac OS

pip install gtfspy

Windows

Windows should work, but has not been tested or and may not be supported as much. Please report problems.

Windows users may need to install Shapely library first. Download Shapely wheel and then run: pip install wheel pip install {path to the Shapely wheel file on your PC}

If you come across the Microsoft Visual C++ 14.0 is required error, you may need to download the latest Microsoft Visual C++ Build Tools. You can download it from here.

After that, continue with: pip install gtfspy

Development quickstart

Use this if you want to be able to edit gtfspy's source code.

git clone git@github.com:CxAalto/gtfspy.git cd gtfspy/ pip install -r requirements.txt # install any requirements nosetests . # run tests

Remember to also add the gtfspy directory to your PYTHONPATH environment variable.

Examples

Contributing

We welcome contributions as GitHub pull requests. In your pull request, please also add yourself as a contributor in the list below.

Versioning

This library is not yet stabilised, and new features are being developed. Thus code organization and interfaces may change at a fast pace. More precise versioning scheme will be decided upon later.

Changelog

View the changelog.

Authors

Package maintainers

  • Rainer Kujala
  • Richard Darst
  • Christoffer Weckstrรถm

Other contributors

Licensing

Code

This source code of this project licensed under the MIT License - see the LICENSE.txt file for details.

Example data

The OpenStreetMap data (.osm.pbf file(s) under examples/data) is licenced under the Open Data Commons Open Database License (ODbL) by the OpenStreetMap Foundation (OSMF).

The GTFS data used for the examples is provided by the City of Kuopio (Finland), and have been downloaded from http://bussit.kuopio.fi/gtfs/gtfs.zip [data licensed under CC-BY 4.0].

Usage for scientific purposes

If you use this Python package for scientific purposes, please cite our paper

Rainer Kujala, Christoffer Weckstrรถm, Miloลก N. Mladenoviฤ‡, Jari Saramรคki, Travel times and transfers in public transport: Comprehensive accessibility analysis based on Pareto-optimal journeys, In Computers, Environment and Urban Systems, Volume 67, 2018, Pages 41-54, ISSN 0198-9715, https://doi.org/10.1016/j.compenvurbsys.2017.08.012.

Acknowledgments

  • The development of this Python package has benefited from the support by Academy of Finland through the DeCoNet project.
  • For running the Java routing, we use the Graphhopper routing library.

Bugs

If you have any problems using gtfspy please create an issue in GitHub.

Other questions on

If you have any questions regarding gtfspy, feel free to send the package maintainers (see above) an e-mail!

See also

Code for a research project using gtfspy

Web-visualization tool utilizing gtfspy (gtfspy-webviz)

Owner

  • Name: CxAalto
  • Login: CxAalto
  • Kind: organization
  • Location: Aalto University, Finland

Complex Systems Group, Computer Science, Aalto University

GitHub Events

Total
  • Watch event: 12
  • Pull request event: 2
  • Fork event: 4
Last Year
  • Watch event: 12
  • Pull request event: 2
  • Fork event: 4

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 449
  • Total Committers: 16
  • Avg Commits per committer: 28.063
  • Development Distribution Score (DDS): 0.379
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Rainer Kujala r****a@g****m 279
Christoffer Weckstrom c****m@a****i 86
Rainer Kujala R****a@a****i 28
Richard Darst r****d@z****t 22
Manuel m****2@g****m 12
misa-ubuntu o****a@g****m 7
shieni s****a@g****m 5
Nils Haglund n****d@a****i 2
Philipp Leger p****3@g****m 1
jouabes1 s****r@g****m 1
Arash Badie Modiri a****m@g****m 1
Jouaber Sami j****1@l****i 1
dependabot[bot] 4****] 1
Rainer Kujala r****a@a****i 1
Darรญo Hereรฑรบ m****a@g****m 1
Bertware b****s@s****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 21
  • Total pull requests: 24
  • Average time to close issues: 5 months
  • Average time to close pull requests: 24 days
  • Total issue authors: 11
  • Total pull request authors: 9
  • Average comments per issue: 1.52
  • Average comments per pull request: 0.92
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 months
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • rmkujala (10)
  • BeishuizenTimKPMG (2)
  • chingui (1)
  • aclong (1)
  • Alirezat0 (1)
  • padshahrohan (1)
  • stalker314314 (1)
  • rkdarst (1)
  • frnsys (1)
  • juka19 (1)
  • leoferres (1)
Pull Request Authors
  • evelyn9191 (9)
  • p-leger (4)
  • rkdarst (3)
  • mucube (2)
  • Leo-Ryu (1)
  • kant (1)
  • rmkujala (1)
  • dependabot[bot] (1)
  • Bertware (1)
Top Labels
Issue Labels
suggestion (4) enhancement (2) bug (1) python3.6 (1)
Pull Request Labels
dependencies (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 113 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 3
  • Total versions: 7
  • Total maintainers: 2
pypi.org: gtfspy

Python package for analyzing public transport timetables

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 3
  • Downloads: 113 Last month
Rankings
Stargazers count: 5.9%
Forks count: 7.4%
Dependent repos count: 9.0%
Dependent packages count: 10.0%
Average: 10.9%
Downloads: 22.1%
Maintainers (2)
Last synced: 6 months ago

Dependencies

java_routing/pom.xml maven
  • com.graphhopper:graphhopper 0.7.0 compile
  • com.opencsv:opencsv 3.7 compile
  • org.xerial:sqlite-jdbc 3.8.11.2 compile
  • com.beust:jcommander 1.48
  • org.mockito:mockito-core 1.10.19
  • org.slf4j:slf4j-simple 1.7.5
  • junit:junit 4.13.1 test
requirements.txt pypi
  • Cython *
  • geoindex *
  • geojson >=2.0.0
  • matplotlib-scalebar ==0.6.1
  • networkx *
  • nose *
  • osmread ==0.2
  • pandas *
  • pyproj *
  • pyshp *
  • setuptools >=18.0
  • shapely *
  • six *
  • smopy *