gtfsutils 0.0.5

Creator: bigcodingguy24

Last updated:

Add to Cart

Description:

gtfsutils 0.0.5

gtfsutils

GTFS command-line tool and Python GTFS utility library
Installation
To install the package from PyPi:
pip install gtfsutils

To install the development version from GitHub:
git clone git@github.com:triply-at/gtfsutils.git
cd gtfsutils
pip install -e . # Install in editable mode

Usage
Python package
The usage of the Python package is illustrated in quickstart.ipynb.
Command-line tool
The package can be also used as a command-line tool. There are three sub-tools available.
Filter
The filter tool applies a spatial filter to a GTFS file. You can either filter based on stop locations or on trip shapes. The filter can be specified either as a bounding box (xmin, ymin, xmax, ymax) or as a file path (e.g. to a GeoJSON or GPKG file).
Here is how to spatially filter a GTFS file based on stop locations, using a bounding box:
gtfsutils filter -t stops data/vienna.gtfs.zip data/vienna-filtered.gtfs.zip "[16.197, 47.999, 16.549, 48.301]"

Here is how to spatially filter a GTFS file based on trip shapes, using a GeoJSON file:
gtfsutils filter -t shapes data/vienna.gtfs.zip data/vienna-filtered.gtfs.zip data/area.geojson

For more information, type:
gtfsutils filter --help

usage: gtfsutils filter [-h] [-t TARGET] [-o OPERATION] [--overwrite] [-v] src dst bounds

positional arguments:
src Input GTFS filepath
dst Output GTFS filepath
bounds Filter boundary

optional arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Filter target (stops, shapes)
-o OPERATION, --operation OPERATION
Filter operation (within, intersects)
--overwrite Overwrite if exists
-v, --verbose Verbose output

Bounds
The bounds tool computes the bounding box (based on stop locations) of a GTFS file:
gtfsutils bounds data/vienna.gtfs.zip

[16.1977025532707, 47.9995020902886, 16.5494019702052, 48.3011051975429]

For more information, type:
gtfsutils bounds --help

usage: gtfsutils bounds [-h] src

positional arguments:
src Input GTFS filepath

optional arguments:
-h, --help show this help message and exit

Info
The info tool print general information about a GTFS file:
gtfsutils info data/vienna.gtfs.zip

GTFS files:
agency.txt 2 rows
calendar.txt 186 rows
calendar_dates.txt 9,575 rows
routes.txt 441 rows
shapes.txt 401,371 rows
stop_times.txt 3,733,781 rows
stops.txt 4,510 rows
trips.txt 201,042 rows

Calender date range:
11.12.2022 - 09.12.2023

Bounding box:
[16.1977025532707, 47.9995020902886, 16.5494019702052, 48.3011051975429]

For more information, type:
gtfsutils info --help

usage: gtfsutils info [-h] src

positional arguments:
src Input GTFS filepath

optional arguments:
-h, --help show this help message and exit

Testing
Prepare dev environment with:
# Create virtual environement
python -m venv ./venv

# Install dependencies
pip install -r requirements-dev.txt
pip install -r requirements.txt

# Activate virtual environment
source venv/bin/activate

To run unit tests, type:
pytest -v

License
This project is licensed under the MIT license. See the LICENSE for details.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.