goEFA
package goefa implements a Go client library to access data of public transport services, which provide an EFA interface. You can search for a stop, query for upcoming departures and request a route / trip itinerary.
Installation
Make sure you have a working Go environment (Go 1.3 or higher is required). See the install instructions.
To install goEFA, simply run:
go get github.com/muesli/goefa
To compile it from source:
cd $GOPATH/src/github.com/muesli/goefa
go get -u -v
go build && go test -v
Usage
Simple example on how to verify a stop and get the departures:
// create a new EFAProvider
provider := goefa.NewProvider("https://efa.mvv-muenchen.de/mvv/", true)
// Find a stop by name
stops, err := provider.FindStop("Königsplatz")
// Get the 5 next departures for a stop
deps, err := stops[0].Departures(time.Now(), 5)
// Plan a trip between two stops
routes, err := provider.Route(originStop.ID, destinationStop.ID, time.Now())
...
Available Providers
City | Provider | Base URL |
---|---|---|
Augsburg | AVV | https://efa.avv-augsburg.de/avv/ |
Munich | MVV | https://efa.mvv-muenchen.de/mvv/ |
The german wikipedia article on EFA contains more information about EFA and available providers.