项目作者: planarnetwork

项目描述 :
Merge GTFS datasets
高级语言: TypeScript
项目地址: git://github.com/planarnetwork/gtfsmerge.git
创建时间: 2018-12-18T12:11:35Z
项目社区:https://github.com/planarnetwork/gtfsmerge

开源协议:

下载


gtfsmerge

Travis npm David

gtfsmerge merges multiple GTFS zip files into a single zip.

  • Transfers are created for stops that are close to each other
  • Duplicate stops, agencies and routes are assumed to be the same stop and only output once.
  • Calendars, calendar dates, trips and stop times are re-indexed.
  • Identical calendars are merged into a single entry.
  • Any calendars or calendar dates in the past are removed along with their corresponding trips
  • Any calendar dates without a calendar are converted to a calendar
  • Any unused stops are removed
  • Routes can be removed based on their type (Bus, Rail, etc)
  • This tool does not currently process any of the fares files. Please raise an issue if you would like this feature.

Installation

Please note that zip/unzip and node 11.x or above are required.

gtfsmerge is a CLI tool that can be installed via NPM:

  1. sudo apt-get install nodejs zip
  2. npm install -g gtfsmerge

Usage

It can be run by specifying the input and output files as CLI arguments:

  1. gtfsmerge input1.zip input2.zip output.zip

You can specify the distance (in kilometers) that should be used add transfers for nearby stops:

  1. gtfsmerge --transfer-distance=2 input1.zip input2.zip output.zip

Stops with the same ID in different files are assumed to be the same stop but it is possible to add a prefix if this is not the case:

  1. gtfsmerge --stop-prefix=input1_stop input1.zip modified-input1.zip
  2. gtfsmerge modified-input1.zip input2.zip output.zip

Routes can be removed based on their type:

  1. gtfsmerge --remove-route-types=0,1,4 input1.zip input2.zip output.zip

Contributing

Issues and PRs are very welcome. To get the project set up run

  1. git clone git@github.com:planarnetwork/gtfsmerge
  2. npm install --dev
  3. npm test

If you would like to send a pull request please write your contribution in TypeScript and if possible, add a test.

License

This software is licensed under GNU GPLv3.