NotWoods / gtfs-to-pouch

Converts a GTFS file to PouchDB dumpfiles
MIT License
2 stars 2 forks source link

gtfs-to-pouch

Scripts to convert GTFS files to a PouchDB database,

Transit data is commonly stored in the GTFS format. This script can unzip it and store it in PouchDB databases. These can later be queried with query-pouch-gtfs.

API

function parseGTFS(
  inputFile: string | NodeJS.ReadableStream | Buffer,
  destinations: string | { [P in keyof DatabaseList]: DatabaseList[P] | string }
): Promise<void>;

Parses a GTFS zip file and saves the data into multiple PouchDB databases.

function parseGTFSPartial(
  partialFile: string,
  destination: string | PouchDB.Database<any>
): Promise<void>;
function parseGTFSPartial(
  partialFile: NodeJS.ReadableStream,
  partialName: string,
  destination: string | PouchDB.Database<any>
): Promise<void>;

Parses a single GTFS partial, rather than the entire ZIP file.

Command Line

Examples:

gtfs-to-pouch -i gtfs.zip -o ./gtfs-dbs
gtfs-to-pouch --output ./gtfs-dbs < gtfs.zip
gtfs-to-pouch --input ./gtfs-files -o ./gtfs-dbs
gtfs-to-pouch --partial -i ./routes.txt -o ./db/routes

Options:

--partial     Switches to partial mode. Allows for parsing a single GTFS text
              file, such as routes.txt, rather than the entire ZIP file.

-i, --input   Input path pointing to GTFS file or directory.
              Can also pipe from stdin.
-n, --name    Name of the GTFS partial. Only needed if both in partial mode
              and stdin is being used instead of input.
-o, --output  Output directory, relative to the current working directory.
              Should contain databases, or point to the database in partial mode.
-h, --help    Show help text