Vad är GTFS?

GTFS står för General Transit Feed Specification och är en standard som är framtagen av Google, och för hjälp med formatet så hänvisar vi till deras dokumentation som du finner här. Detta API innehåller till huvudsak filer enligt detta format.

För att det ska vara lättare att integrera trafikdatan i dessa filer med andra API och datakällor finns det extra filer med mappningsdata med andra id. Dessa är inget som inkluderas i GTFS-specifikationen.

I dagsläget har specifikationen inte stöd för multipla bytestider på ett stopställe. Detta gör att vi i GTFS-filerna endast har med en bytestid per stopställe, till skillnad från i till exempel ResRobot där det kan vara olika bytestider mellan olika operatörer eller linjer.  

Har man använt det gamla GTFS Extraktet så är det viktigt att känna till skillnaderna i det nya, Mer om detta på sidan  Diff - GTFS Sverige och GTFS Sverige 2

Metoder

  • feed_info.txt URL: https://api.resrobot.se/samtrafiken/gtfs/feed_info.txt Denna metod returnerar filen feed_info.txt, som visar när sweden.zip senast uppdaterades. Använd denna metod för att inte ladda ner sweden.zip mer än nödvändigt. Ingen nyckel krävs.  In English: This method returns the file feed_info.txt that indicates when the Sweden.zip was updated. Use this method to only dowlnload the sweden.zip if it has been updated.
  • extra/agency_stops.txt  URL: https://api.trafiklab.se/v2/samtrafiken/gtfs/extra/agency_stops.txt Denna fil innehåller mappning mellan rikshållplatser och alla trafikoperatörers lokala id. Tänk på att detta inte är en lista över enbart aktiva hållplatser, utan kan även innehålla indragna hållplatser, eller hållplatser som enbart har trafik en viss del av året.
  • extra/agency_stops_<AGENCY_ID>.txt URL: https://api.trafiklab.se/v2/samtrafiken/gtfs/extra/agency_stops_<AGENCY_ID>.txt Dessa filer har samma innehåll som agency_stops.txt dock med begränsat till en trafikproducent. Ange trafikproducentens nummer i filnamnet. Tänk på att detta inte är en lista över enbart aktiva hållplatser, utan kan även innehålla indragna hållplatser, eller hållplatser som enbart har trafik en viss del av året.
  • extra/routes_technical.txt URL: https://api.trafiklab.se/v2/samtrafiken/gtfs/extra/routes_technical.txt Denna fil innehåller mappning mellan route_id och tekniskt linjenummer (technical_route_number). Det tekniska linjenummer identifierar tillsammans med agency_id unikt en linje. Den kan vara till hjälp för att extrahera enbart viss trafik, t.ex. enbart Malmö stadstrafik.
  • extra/trips_technical.txt URL: https://api.trafiklab.se/v2/samtrafiken/gtfs/extra/trips_technical.txt Denna fil innehåller mappning mellan trip_id och tekniskt turnummer (technical_trip_number). Det tekniska turnumret identifierar tillsammans med agency_id och technical_route_number unikt en tur. Ett tågs tågnummer återfinns alltid som tekniskt turnummer, även då tåget också har ett linjenummer såsom t.ex. Pendeltåg 40.

Historisk GTFS data

Innehåll

GTFS

Sweden.zip innehåller ett antal filer som ingår i GTFS-formatet. Flera delar i GTFS är inte obligatoriska och all information som omnämns i specifikationen finns inte med i Samtrafikens export (till exempel realtid och prisinformation). Länkarna nedan går till Googles dokumentation. 

Fil Beskrivning från Google
agency.txt One or more transit agencies that provide the data in this feed.
stops.txt Individual locations where vehicles pick up or drop off passengers.
routes.txt Transit routes. A route is a group of trips that are displayed to riders as a single service.
trips.txt Trips for each route. A trip is a sequence of two or more stops that occurs at specific time.
stop_times.txt Times that a vehicle arrives at and departs from individual stops for each trip.
calendar.txt Dates for service IDs using a weekly schedule. Specify when service starts and ends, as well as days of the week where service is available.
calendar_dates.txt Exceptions for the service IDs defined in the calendar.txt file. If calendar_dates.txt includes ALL dates of service, this file may be specified instead of calendar.txt.
transfers.txt Rules for making connections at transfer points between routes.
feed_info.txt (Även i separat API-metod) Additional information about the feed itself, including publisher, version, and expiration information.

Extra-information

Filerna som ligger under extra ingår inte i specifikationen GTFS, men filformat och fältnamn är valt för att passa in i standarden. Det kan fortfarande finnas en del utmaningar för att integrera API:er med olika id, då en hållplatsangivelse inte nödvändigt behöver betyda precis samma sak i olika leverantörers API:er. Generellt sett är Rikshållplatser lite större än lokala hållplatser. Då finns det flera lokala id för samma rikshållplats och trafikproducent.

Trafikverket

Trafikverket är ingen egen trafikproducent, och har därmed inget agency_id. I Trafikverkets fil finns alla hållplatser som trafikeras av tåg (som SJ, Norrtåg, Tågkompaniet m.m)  men inte lokala hållplatser för Länstrafik som SL's Lidingöbanan eller Tvärbanan. Dessutom används bokstavsförkortningar, så kallade signaturer för. På grund av detta ligger Trafikverkets signaturer i en egen fil. En rikshållplats kan även innehålla flera av Trafikverkets signaturer.

SL

Det lokala id som finns tillgängligt för SL (agency_id 275) är det som i SL:s API:er kallas StopArea. För att använda datan med SLs API översätt till/från SiteID med SLs API SL Hållplatser och Linjer 2.

Uppdateringar

För att slippa ladda ner hela Sweden.zip(40Mb) för att se om den är uppdaterad så finns feed_info.txt med datum för senaste uppdatering. Uppdatering av Sweden.zip sker normalt två gånger i veckan (tisdagar och fredagar).

API-Nyckel

Det krävs en giltig API-nyckel som skickas med som parametern "key" i sweden.zip-metodanropet. En API-nyckel får du genom att skapa ett projekt som använder detta API. Mer om hur du skapar och använder API nycklar hittar du här. För att få en API-nyckel så måste du godkänna de licensvillkor som finns för detta API.