AtB undergår en massiv endring, foreløpig synliggjort av en ny reiseassistent-pilot. Dette er bare toppen av et aldri så lite transformasjonsisfjell. Under overflaten ligger det en organisasjonsendring, nye nasjonale samarbeid og ny dataflyt. Det betyr mye, men ikke minst at nå vil hvem som helst kunne hente ut reiseinformasjon i Trøndelag via åpne API-er!
Som en del av endringene går AtB nå over til å sende all ruteinformasjon, sanntidsdata og informasjon om holdeplasser til det nasjonale registeret Entur. Fra Entur sine API-er er det mulig å hente ut reiseforslag med flere typer reisemetoder, oversikt over holdeplasser, sanntidsinformasjon eller hente ut ruteinformasjon. Entur baserer seg blant annet på GraphQL og REST-endepunkter og all data er lisensiert under NLOD (Norsk lisens for offentlige data). Dette betyr at du kan lage dine egne løsninger i dag som baserer seg på AtBs reiser. Det betyr også at data fra AtB kommer inn til Googles tjenester (etter noe underliggende bug-fiksing) eller at du kan bruke Entur sin app. Foreløpig er det kun for reiseplanlegging og ruteinformasjon, men på sikt kommer det også billetter og reiserettigheter inn. Vi sikter oss inn på en lukket pilot denne uken, etterfulgt av åpen pilot tidlig neste år.
Det er et hav av muligheter nå som AtB får åpen data. Vi er spente på å se hvordan data kan bli brukt til å bedre hverdagen til alle oss i Trøndelag.
Eksempler på åpen data
For komplett oversikt over hvordan du kan bruke de åpne API-ene til Entur kan du se dokumentasjonen, men her kommer noen eksempler på du kan gjøre.
Reiseforslag mellom to koordinater
# Query
{
trip(
from: {
coordinates: {
latitude: 63.431175624554115
longitude: 10.392306718276577
}
name: "Prinsens gate 39"
}
to: {
coordinates: { latitude: 63.391906000000006, longitude: 10.4867709 }
name: "Estenstaddammen, Trondheim"
}
numTripPatterns: 1
) {
tripPatterns {
expectedEndTime
duration
walkDistance
legs {
mode
line {
publicCode
name
}
}
}
}
}
# Result
{
"data": {
"trip": {
"tripPatterns": [
{
"expectedEndTime": "2020-11-16T23:31:38+0100",
"duration": 3643,
"walkDistance": 1916.8230769373117,
"legs": [
{
"mode": "foot",
"line": null
},
{
"mode": "bus",
"line": {
"publicCode": "10",
"name": "Sæterbakken- Strindheim- Sentrum- Ratesvingen"
}
},
{
"mode": "foot",
"line": null
}
]
}
]
}
}
}
Holdeplasser og plattformer rundt et sted
Se kjørende eksempel i GraphQL IDE-en til Entur.
# Quays near Prinsens gate 39
{
quaysByRadius(
latitude: 63.431175624554115
longitude: 10.392306718276577
radius: 150
) {
edges {
node {
quay {
name
}
}
}
}
}
# Data
{
"data": {
"quaysByRadius": {
"edges": [
{
"node": {
"quay": {
"name": "Prinsens gate"
}
}
},
{
"node": {
"quay": {
"name": "Dronningens gate"
}
}
},
{
"node": {
"quay": {
"name": "Dronningens gate"
}
}
},
{
"node": {
"quay": {
"name": "Dronningens gate"
}
}
},
{
"node": {
"quay": {
"name": "Prinsens gate"
}
}
}
]
}
}
}
Søk etter steder
GET https://api.entur.io/geocoder/v1/autocomplete?text=Prinsens%20Gate
# Data
{
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [10.392007, 63.431034]
},
"properties": {
"id": "NSR:StopPlace:41613",
"gid": "whosonfirst:venue:NSR:StopPlace:41613",
"layer": "venue",
"source": "whosonfirst",
"source_id": "NSR:StopPlace:41613",
"name": "Prinsens gate",
"street": "NOT_AN_ADDRESS-NSR:StopPlace:41613",
"accuracy": "point",
"country_a": "NOR",
"county": "Trøndelag",
"county_gid": "whosonfirst:county:KVE:TopographicPlace:50",
"locality": "Trondheim",
"locality_gid": "whosonfirst:locality:KVE:TopographicPlace:5001",
"label": "Prinsens gate, Trondheim",
"category": ["onstreetBus"],
"tariff_zones": ["MOR:TariffZone:922", "ATB:TariffZone:1"]
}
}
///...
]
}