All Projects → CxAalto → Gtfspy

CxAalto / Gtfspy

Licence: mit
Public transport network analysis using Python 🚊🚇🚃🚌🛳️🚡🚠🚞

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Gtfspy

Elefant
Elefant, the refreshingly simple PHP CMS and web framework.
Stars: ✭ 188 (+80.77%)
Mutual labels:  sqlite, routing
r5r
ipeagit.github.io/r5r/
Stars: ✭ 90 (-13.46%)
Mutual labels:  routing, gtfs
nepomuk
A public transit router for GTFS feeds (currently only static) written in modern c++
Stars: ✭ 22 (-78.85%)
Mutual labels:  routing, gtfs
motis
Intermodal Mobility Information System
Stars: ✭ 45 (-56.73%)
Mutual labels:  routing, gtfs
GTFS
.NET implementation of a General Transit Feed Specification (GTFS) feed parser.
Stars: ✭ 55 (-47.12%)
Mutual labels:  routing, gtfs
Node Gtfs
Import GTFS transit data into SQLite and query routes, stops, times, fares and more.
Stars: ✭ 323 (+210.58%)
Mutual labels:  sqlite, gtfs
Tasklite
The CLI task manager for power users
Stars: ✭ 91 (-12.5%)
Mutual labels:  sqlite
Adminer Custom
Customizations for Adminer, the best database management tool written in PHP.
Stars: ✭ 99 (-4.81%)
Mutual labels:  sqlite
Fizz
A Common DSL for Migrating Databases
Stars: ✭ 92 (-11.54%)
Mutual labels:  sqlite
Sqlite Example
This example has moved
Stars: ✭ 91 (-12.5%)
Mutual labels:  sqlite
Minisqlquery
Minimalist SQL Query tool for any .NET DB Provider - SQL, SQLite, SQL CE, Oracle, Access...
Stars: ✭ 103 (-0.96%)
Mutual labels:  sqlite
Lychee
The most complete and powerful data-binding library and persistence infra for Kotlin 1.3, Android & Splitties Views DSL, JavaFX & TornadoFX, JSON, JDBC & SQLite, SharedPreferences.
Stars: ✭ 102 (-1.92%)
Mutual labels:  sqlite
Static Gtfs Manager
GUI interface for creating, editing, exporting of static GTFS data for a public transit authority
Stars: ✭ 98 (-5.77%)
Mutual labels:  gtfs
Shopping App With Cart Flutter Demo
Shopping cart : uses sqlite for storage
Stars: ✭ 93 (-10.58%)
Mutual labels:  sqlite
Contacts
A flutter project with Implementation of a Contacts app in 4 ways (API, Custom, Preferences and Sqflite).
Stars: ✭ 100 (-3.85%)
Mutual labels:  sqlite
Data Science Blogs
A Handful of D(u)S(t)
Stars: ✭ 92 (-11.54%)
Mutual labels:  sqlite
Sqlite3 Encryption
The easiest way to build SQLite3 with encryption support on Windows. Compilation of DLL, SLL or shell is now a matter of minutes
Stars: ✭ 102 (-1.92%)
Mutual labels:  sqlite
Selectstarsql
An interactive SQL book
Stars: ✭ 92 (-11.54%)
Mutual labels:  sqlite
Phprouter
PhpRouter is a powerful, minimal, and very fast HTTP URL router for PHP projects
Stars: ✭ 97 (-6.73%)
Mutual labels:  routing
Reactiveandroid
🚀 Simple and powerful ORM for Android
Stars: ✭ 102 (-1.92%)
Mutual labels:  sqlite

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 [email protected]: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)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].