orgp
Version:
A class to use SPB ORGP methods
66 lines (37 loc) • 1.62 kB
Markdown
# orgp
API to obtain data from [transport.orgp.spb.ru](http://transport.orgp.spb.ru).
## Installation
`npm i orgp`
Download and unzip feed.zip from [http://transport.orgp.spb.ru/Portal/transport/internalapi/gtfs/feed.zip](http://transport.orgp.spb.ru/Portal/transport/internalapi/gtfs/feed.zip)
Information about General Transit Feed Specification at [https://developers.google.com/transit/gtfs/](https://developers.google.com/transit/gtfs/)
## Usage
`let Orgp = require('orgp');`
`let orgp = new Orgp('/path/to/your/feed', () => {`
`let routes = orgp.getRoutes();`
`console.log(routes);`
`}`
## Tests
`npm i -g mocha`
`mocha test.js`
If you get the timeout exceeded error try
`mocha --timeout 5000 test.js`
##Methods
* `orgp.getRoutes()`
Returns all routes from GTFS feed
* `orgp.getRouteById(id)`
Returns route with passed `id`. If route not found returns `null`.
* `orgp.getRoutesByQuery(query)`
Returns array of routes with `short_name` that matches `query`.
Returns `[]` if nothing matches `query`.
* `orgp.getStops()`
Returns all stops from GTFS feed
* `orgp.getStopById()`
Returns stop with passed `id`. If stop not found returns `null`.
* `orgp.getNearestStops(radius, lattitude, longitude),`
Returns array of all stops with distance to passed location (`lattitude`, `longitude`) less than `radius`.
Returns `[]` if there no stops in this radius.
* `orgp.getForecastByStopId(id, (err, result) => {`
` if(err) return;`
` console.log(result);`
`})`
Returns JSON answer from transport.orgp.spb.ru with transport forecast for stop with `id`.