Topics:

Trip updates

The main function of Siri2gtfsrt is to convert data from SIRI (Service Interface for Real Time Information) format to GTFS-realtime format. In addition to this the service also blends in selected data from existing GTFS-realtime feeds. Raildigitraffic2gtfsrt that is for internal use only retrieves data from the open api of The Finnish Transport Agency and converts this data to GTFS-realtime.

edit architecture image

Service Architecture

Service periodically polls the following services hslalert, navigatorserver and JOLI and converts the combined data to GTFS-RT.

The reason we're blending HSL data from multiple sources in this service is that there are several systems providing (dynamic) GTFS-realtime updates to same (static) GTFS-feed and OpenTripPlanner currently supports only one dynamic updater per feed.

Service dependencies

Siri2gtfsrt uses the following Digitransit data sources

Data source Description
hslalert Real-time updates about HSL fleet in GTFS-RT format
digitraffic2gtfsrt Retrieves data from the open api of The Finnish Transport Agency and converts this data to GTFS-realtime
navigatorserver Snapshot of the current real-time vehicle location data

Raildigitraffic2gtfsrt the following Digitransit data source (for internal use only)

Data source Description
route-server static gtfs feeds
URL Project description
https://github.com/HSLdevcom/hslalert HSLAlert development
https://developers.google.com/transit/ Google transit community
https://groups.google.com/forum/#!forum/gtfs-realtime Google transit forum
https://github.com/pailakka/raildigitraffic2gtfsrt raildigitraffic2gtfsrt development

Docker image

The resulting Docker image is called hsldevcom/siri2gtfsrt and it is available at DockerHub. The image can be built using this build script. You might also want to take a look at the Travis build and configuration.

To run Docker container, run:

docker run -p 8080:8080 hsldevcom/siri2gtfsrt

To access Docker container:

http://localhost:8080/HSL?debug

For More information about how to use Docker see docker info.