irail-api
v0.6.3
Published
Query the iRail.be API. Fully JS promises ready.
Downloads
37
Readme
iRail-api
Query the iRail.be API. Fully JS promises ready.
irail.be is a plaform providing open data about train transportation in Belgium. It has an API and this library helps you to query it.
To improve performances, requests caching is enabled by default when it's needed, using the host OS cache(tmp) directory.
Usage
var irailApi = require('irail-api');
// Get the stations.
irailApi.getStations().then(console.log);
Available methods
- getStations
- getLiveboard
- getConnections
- getVehicle
- getDisturbances
- getLogs
Each methods takes a object of parameters. The list of parameters for each method can be found on the irail API documentation site.
The default parameters are:
format
set tojson
lang
set toen
Goodies
This package provides extra methods and information that are not provided on iRail by default.
To get train stations and their associated lines, you can use the helpers.
var irailApi = require('irail-api');
// Get the stations with their lines.
irailApi.getStations().then(irailApi._processStations).then((stations) => {
return irailApi.helpers.addStationLines(stations);
}).map(console.log);
Output:
[{ id: 'BE.NMBS.008884541',
locationX: '3.856543',
locationY: '50.449827',
'@id': 'http://irail.be/stations/NMBS/008884541',
standardname: 'Quaregnon',
name: 'Quaregnon',
wikidata:
{ connecting_line:
[ { exact_match:
{ type: 'uri',
value: 'http://irail.be/stations/NMBS/008884541' },
lineLabel:
{ 'xml:lang': 'en',
type: 'literal',
value: 'Line 97 (Infrabel)' },
lineUrl:
{ type: 'uri',
value: 'http://www.wikidata.org/entity/Q1891285' } } ] } }
...]
It is possible to chain them as well
var irailApi = require('irail-api');
irailApi.getStations().then(irailApi._processStations).then((stations) => {
return irailApi.helpers.addStationLines(stations);
}).then((stations) => {
return irailApi.helpers.addAdjacentStations(stations);
}).map(console.log);
Output:
[{ id: 'BE.NMBS.008884541',
locationX: '3.856543',
locationY: '50.449827',
'@id': 'http://irail.be/stations/NMBS/008884541',
standardname: 'Quaregnon',
name: 'Quaregnon',
wikidata:
{ connecting_line:
[ { exact_match:
{ type: 'uri',
value: 'http://irail.be/stations/NMBS/008884541' },
lineLabel:
{ 'xml:lang': 'en',
type: 'literal',
value: 'Line 97 (Infrabel)' },
lineUrl:
{ type: 'uri',
value: 'http://www.wikidata.org/entity/Q1891285' } } ],
adjacent_station:
[ { exact_match:
{ type: 'uri',
value: 'http://irail.be/stations/NMBS/008884541' },
adjacent_stationLabel:
{ 'xml:lang': 'en',
type: 'literal',
value: 'Jemappes railway station' },
adjacent_stationUrl:
{ type: 'uri',
value: 'http://www.wikidata.org/entity/Q2411271' } },
{ exact_match:
{ type: 'uri',
value: 'http://irail.be/stations/NMBS/008884541' },
adjacent_stationLabel:
{ 'xml:lang': 'en',
type: 'literal',
value: 'Saint-Ghislain railway station' },
adjacent_stationUrl:
{ type: 'uri',
value: 'http://www.wikidata.org/entity/Q3097536' } } ] } }
...]