GTFS

Descrizione breve

General Transit Feed Specification (GTFS) è un formato di scambio digitale sviluppato da Google per gli orari dei trasporti pubblici e le informazioni geografiche associate, come la posizione delle fermate. I dati sono forniti dalle aziende di trasporto e pubblicati come database collocato sulla piattaforma open data del trasporto pubblico svizzero in formato GTFS. I dati vengono utilizzati per sviluppare applicazioni legate al trasporto pubblico, come la richiesta di orari.

A differenza di GTFS Realtime (GTFS RT), GTFS Static, come suggerisce il nome, fornisce solo dati statici e non dati in tempo reale.

Con questo file statico, l’intero sistema di trasporto pubblico di un Paese viene visualizzato per la prima volta in un unico feed.

Accesso ai dati/API

https://data.opentransportdata.swiss/it/dataset/timetable-2025-gtfs2020 (2025)

Descrizione del funzionamento

GTFS Static viene fornito come una serie di file di testo in formato ZIP. Ogni file fornisce informazioni su un aspetto specifico delle informazioni di transito, come le fermate (stops.txt), i percorsi (routes.txt), i viaggi (trips.txt), le aziende di trasporto (agency.txt) e altri dati rilevanti per l’orario. Alcuni dettagli sono necessari per fornire dati GTFS validi, altri sono facoltativi e forniscono informazioni aggiuntive utili (come le modifiche all’orario in determinati giorni festivi = calendar_dates.txt).

Il diagramma seguente mostra l’interazione delle varie informazioni, anche se attualmente non tutte sono registrate per il trasporto pubblico svizzero e disponibili in formato GTFS:

Klassen GTFS Static
Classi GTFS Statico

Vai al record di dati: https://data.opentransportdata.swiss/it/group/timetables-gtfs

Concetti importanti

  • GTFS Static: pubblicazione di informazioni statiche sul transito in formato GTFS.
  • GTFS Realtime: pubblicazione di informazioni sul transito in tempo reale come arricchimento dei dati statici GTFS, sotto forma di buffer di protocollo

Descrizione tecnica

Struttura dei dati

Ogni file è composto da righe di testo e numeri separati da virgole con campi che, combinati, forniscono le informazioni ricercate. Una descrizione dettagliata dei singoli campi dei vari file è riportata nel sito web https://developers.google.com/transit/gtfs/reference/.

Per l’esportazione GTFS dei trasporti pubblici svizzeri sono attualmente disponibili i seguenti file:

  • agency.txt
  • calendar.txt
  • calendar_dates.txt
  • feed_info.txt
  • routes.txt
  • stop_times.txt
  • stops.txt
  • transfers.txt
  • trips.txt

Non sono resi disponibili i seguenti elementi: fare_attributes.txt, fare_rules.txt und frequencies.txt

agency.txt

agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone
"11","Schweizerische Bundesbahnen SBB","http://www.sbb.ch/","Europe/Berlin","DE","0900 300 300 "
"801","PostAuto Schweiz","http://www.sbb.ch/","Europe/Berlin","DE","0900 300 300 "
"840","Busbetrieb Aarau","http://www.sbb.ch/","Europe/Berlin","DE","0900 300 300 "
"31","BDWM Transport (bd)","http://www.sbb.ch/","Europe/Berlin","DE","0900 300 300 "
"899","BDWM Transport (wm Auto)","http://www.sbb.ch/","Europe/Berlin","DE","0900 300 300 "
"886","Regionale Verkehrsbetriebe Baden-Wettingen","http://www.sbb.ch/","Europe/Berlin","DE","0900 300 300 "
"839","Zugerland Verkehrsbetriebe","http://www.sbb.ch/","Europe/Berlin","DE","0900 300 300

calendar.txt

service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
"TA+b000b","1","1","1","1","1","0","0","20161211","20171209"
"TA+b0001","1","1","1","1","1","1","1","20161211","20171209"
"TA+b0016","0","0","0","0","1","1","0","20161211","20171209"
"TA+b0dmg","0","0","0","0","0","0","1","20161211","20171209"
"TA+b12cr","1","1","1","1","0","0","0","20161211","20171209"
"TA+b0008","1","1","1","1","1","0","0","20161211","20171209"
"TA+b0027","1","1","1","1","1","1","0","20161211","20171209"
"TA+b0dnc","0","0","0","0","0","1","1","20161211","20171209"
"TA+b001r","1","1","1","1","1","0","1","20161211","20171209"
"TA+b001j","0","0","0","0","0","1","0","20161211","20171209"
"TA+b001t","0","0","0","0","0","0","1","20161211","20171209"
"TA+b04oi","1","1","1","1","1","0","0","20161211","20171209"
"TA+b0ch2","0","0","0","1","0","0","0","20161211","20171209

calendar_dates.txt

service_id,date,exception_type
"TA+b0003","20161226","2"
"TA+b0003","20170102","2"
"TA+b0003","20170414","2"
"TA+b0003","20170417","2"
"TA+b0003","20170501","2"
"TA+b0003","20170525","2"
"TA+b0003","20170605","2"
"TA+b0003","20170801","2"
"TA+b0007","20161226","2"
"TA+b0007","20170102","2"
"TA+b0007","20170414","2

feed_info.txt

feed_publisher_name,feed_publisher_url,feed_lang,feed_start_date,feed_end_date,feed_version
"SBB","http://www.sbb.ch/","DE","20161211","20171209","20170518

routes.txt

route_id,agency_id,route_short_name,route_long_name,route_desc,route_type
"91-10-A-j22-1","37","10","","T","900"
"91-10-B-j22-1","78","S10","","S","109"
"91-10-C-j22-1","11","S10","","S","109"
"91-10-E-j22-1","65","S10","","S","109"
"91-10-F-j22-1","11","RE10","","RE","106"
"91-10-G-j22-1","11","SN10","","SN","109"
"91-10-j22-1","3849","10","","T","900"
"91-10-Y-j22-1","82","IR","","IR","103"

Attenzione:

  • Alcuni percorsi in GTFS hanno un’estensione “-Y”. Il motivo è che hanno un numero di linea creato artificialmente. Questo è l’unico modo in cui “route_short_name” può essere valido. Queste linee artificiali non dovrebbero essere mostrate agli utenti in questo modo. Per i treni, “trip_short_name” conterrà il numero del treno.

route_type e route_desc (colonna «Abbreviazione») corrispondono ai mezzi di trasporto indicati nella tabella sottostante. Usiamo un elenco comune di route_type in deroga alla lista standard (che conosce solo 10 valori per route_type):

AbbreviazioneDEFRITENroute_type
ASCAufzugAscenseurAscensoreLift1303
BBusBusBusBus700
BNNachtbusBus ligne de nuitBus notturnoNightbus705
BPPanoramaBusPanoramaBusBus panoramicoPanorama bus710
BUSBusBusBusBus700
CARFernbus nationalBus longues distances nationalBus nazionale a lunga percorrenzaNational long-distance bus202
CAXFernbus internationalBus longues distances internationalBus internazionale a lunga percorrenzaInternational long-distance bus201
EBEilbusBus acc‚l‚r‚Bus acceleratoSemi fast bus702
EXBExpressbusBus expressBus espressoExpress bus702
ICBInterCity-BusInterCity-BusInterCity-BusIntercity-Bus202
KBKleinbusMinibusMinibusMinibus700
NBNacht-BusBus nocturneBus notturnoNight-Bus705
NFBNiederflur-BusBus … plancher surbaiss‚Bus a pianale ribassatoLow-floor bus700
NFONiederflur-TrolleybusTrolleybus … plancher surbaiss‚Filobus a pianale ribassatoLow-floor trolley bus700
RUBRufbusBus sur appelbus a chiamataOn-call bus715
TXTaxiTaxiTaxiTaxi1500
SLSesselbahnT‚l‚siŠgeSeggioviaChairlift1300
CCZahnradbahnChemin de fer à crémaillèreCremaglieraRack-railroad1400
GBGondelbahnT‚l‚cabineCabinoviaGondola lift1300
LBLuftseilbahnT‚l‚ph‚riqueFuniviaCableway1300
PBPendelbahnT‚l‚ph‚rique … va-et-vientfunivia a va e vieniaerial tramway1300
MMetroM‚troMetropolitanaUnderground401
FUNStandseilbahnFuniculaireFunicolareFunicular1400
BATSchiffBateauBattelloShip1000
BAVDampfschiffBateau … vapeurBattello a vaporeSteam ship1000
FAEF„hreBacTraghettoFerry-boat1000
KATKatamaranCatamaranCatamaranoKatamaran1000
NFTNiederflur-TramTram … plancher surbaiss‚Tram a pianale ribassatoLow-floor tramway900
TTramTramTramTramway900
TNNachttramTram ligne de nuitTram notturnoNighttram900
AIRFlugzeugavionaeroplanoaircraft1100
UUUUnbekannte ArtType inconnuTipologia sconosciutaUnknown mode1700
AGAgenturzugTrain d’agenceTreno d’ agenziaAgencytrain117
ARCArcoArcoArcoArco102
ARZAutoreisezugTrain autos-couchTreno navettaCar-carrying train104
ATAutotunnelzugTrain-autoTreno auto in galleriaCar train104
ATRAltariaAltariaAltariaAltaria102
ATZAutotunnelzugTrain-autoTreno auto in galleriaCar train104
AVEAlta Velocidad ESAlta Velocidad ESAlta Velocidad ESAlta Velocidad ES101
BEXBernina ExpressBernina ExpressBernina ExpressBernina Express107
CATCity Airport TrainCity Airport TrainCity Airport TrainCity Airport Train111
CNLCityNightLineCityNightLineCityNightLineCityNightLine105
DSchnellzugTrain directTreno direttoFast train103
EEilzugTrain acc‚l‚r‚Treno acceleratoSemi fast train103
ECEuroCityEuroCityEuroCityEuroCity102
EMEuromedEuromedEuromedEuromed102
ENEuroNightEuroNightEuroNightEuroNight105
ESEurostar ItaliaEurostar ItaliaEurostar ItaliaEurostar Italia101
ESTEurostarEurostarEurostarEurostar101
EXTExtrazugTrain sp‚cialTreno specialeSpecial train117
GEXGlacier ExpressGlacier ExpressGlacier ExpressGlacier Express107
ICInterCityInterCityInterCityInterCity102
ICEInterCityExpressInterCityExpressInterCityExpressInterCityExpress102
ICNIC-NeigezugIC-pendulaireIC-pendolareIC-tilting train102
INInterCityNachtInterCityNuitInterCityNotteInterCityNight102
IRInterRegioInterRegioInterRegioInterRegio103
IREInterregio-ExpressInterregio-ExpressInterregio-ExpressInterregio-Express103
ITItaloItaloItaloItalo102
JATGef„ngniszugTrain prisonJail TrainJail Train111
MATLeermaterialZ (Reisezugswagen)Train de mat‚riel vide (voitures voyageurs)Materiale vuoto (treno viaggiatori)Empty material train (passenger carriage)111
MPLeermaterialZ Personenbef”rdTrain de mat‚riel vide avec transport de voyageursMateriale vuoto con trasporto di personeEmpty material train with passenger transport111
NJnightjetnightjetnightjetnightjet105
NZNacht-ZugTrain de nuitTreno notturnoNight train105
PZug ohne Gew„hrTrain non garantiTreno non garantitoNo guaranteed train100
PEPanoramaExpressPanoramaExpressPanoramaExpressPanoramaExpress107
RRegioRegioRegioRegio106
RBRegionalbahnTrain r‚gionalFerrovia regionaleRegional train106
RERegioExpressRegioExpressRegioExpressRegioExpress106
RJRailjetRailjetRailjetRailjet102
RJXrailjet xpressrailjet xpressrailjet xpressrailjet xpress102
SS-BahnRERRete celereUrban train109
SNNacht-S-BahnRER-nuitRete celere notteNight-urban train109
STBStadtbahnTrain urbainFerrovia urbanaCity railway109
TALTalgoTalgoTalgoTalgo101
TERTrain Express RegionalTrain Express RegionalTrain Express RegionalTrain Express Regional106
TE2TER200TER200TER200TER200106
TGVTrain … grande vit.Train … grande vit.Train … grande vit.Train … grande vit.101
THAThalysThalysThalysThalys101
TLKTwoje Linie KolejoweTwoje Linie KolejoweTwoje Linie KolejoweTwoje Linie Kolejowe102
UEXUrlaubsExpressUrlaubsExpressUrlaubsExpressUrlaubsExpress104
VAEVoralpen-ExpressVoralpen-ExpressVoralpen-ExpressVoralpen-Express103
WBWestbahnWestbahnWestbahnWestbahn100
XInterConnexInterConnexInterConnexInterConnex100
X2X2000 NeigezugX2000 pendulaireX2000 pendolareX2000 tilting train100
ZUGZugskategorie unbekanntCat‚gorie du train inconnueCategoria di treno sconosciutaTrain category unknown100

stop_times.txt

trip_id,arrival_time,departure_time,stop_id,stop_sequence,pickup_type,drop_off_type
"1.TA.1-9-j17-1.1.H","05:25:00","05:25:00","8502034:0:2","1","0","0"
"1.TA.1-9-j17-1.1.H","05:28:00","05:29:00","8502033:0:2","2","0","0"
"1.TA.1-9-j17-1.1.H","05:33:00","05:33:00","8502032:0:1","3","0","0"
"1.TA.1-9-j17-1.1.H","05:36:00","05:36:00","8502031:0:1","4","0","0"
"1.TA.1-9-j17-1.1.H","05:42:00","05:42:00","8502030:0:2","5","0","0"
"1.TA.1-9-j17-1.1.H","05:50:00","05:50:00","8502119:0:7","6","0","0"
"2.TA.1-9-j17-1.2.H","05:53:00","05:53:00","8502034:0:1","1","0","0"
"2.TA.1-9-j17-1.2.H","05:57:00","05:58:00","8502033:0:2","2","0","0"
"2.TA.1-9-j17-1.2.H","06:02:00","06:02:00","8502032:0:1","3","0","0"
"2.TA.1-9-j17-1.2.H","06:04:00","06:04:00","8502031:0:1","4","0","0"
"2.TA.1-9-j17-1.2.H","06:09:00","06:11:00","8502030:0:2","5","0","0"
"2.TA.1-9-j17-1.2.H","06:20:00","06:20:00","8502119:0:7","6","0","0"
"3.TA.1-9-j17-1.3.H","24:38:00","24:38:00","8502119:0:7","1","0","0"
"3.TA.1-9-j17-1.3.H","24:46:00","24:46:00","8502030:0:1","2","0","0"
"3.TA.1-9-j17-1.3.H","24:49:00","24:49:00","8502031:0:1","3","0","0"
"3.TA.1-9-j17-1.3.H","24:52:00","24:52:00","8502032:0:1","4","0","0"
"3.TA.1-9-j17-1.3.H","24:57:00","24:57:00","8502033:0:1","5","0","0"
"3.TA.1-9-j17-1.3.H","25:01:00","25:01:00","8502034:0:1","6","0","0

stops.txt

stop_id,stop_name,stop_lat,stop_lon,location_type,parent_station
"1101064","Malpensa Aeroporto, terminal 1","45.6272144319203","8.7111160249179","",""
"8000339","Weissenhorn Eschach","48.3010036099201","10.135089480891","",""
"8000709:0:2","Neckarsulm Mitte","49.1934688770383","9.22294014126908","",""
"8000778","Asselheim (D)","49.5762169849528","8.16159859923981","",""
"8000781","Grünstadt-Nord","49.5733510011593","8.17078836459763","",""
"8000988","Witzighausen","48.3174402469306","10.097800413442","",""
"8002015","Nördlingen","48.85084676195","10.4978651252803","","8002015P"
"8002015:0:4","Nördlingen","48.85090587299","10.4978651252803","","8002015P"
"8002015P","Nördlingen","48.85084676195","10.4978651252803","1",""
"8002023","Ebermergen","48.7562093140126","10.7109634770088","",""
"8002023:0:1","Ebermergen","48.7562685367003","10.7109634770088","",""
"8002038","Möttingen","48.8068073922247","10.5978386332639","","8002038P"
"8002038:0:1","Möttingen","48.8069257181851","10.5978386332639","","8002038P"
"8002038:0:2","Möttingen","48.8068665552398","10.5978386332639","","8002038P"
"8002038P","Möttingen","48.8068073922247","10.5978386332639","1",""
"8002039","Hoppingen","48.8038195691943","10.6532018042319","","

Le colonne montanti devono essere modellate come singole fermate in GTFS. Un cambio di salita è quindi un cambio di fermata dal punto di vista del GTFS.

x2123

L’esempio “8500010” (Basel SBB):

basel

Tutte le fermate di Basilea hanno un “genitore” comune “8500010P”. Le singole tracce sono separate da “:”. Una “traccia” può anche essere una traccia+settori (ad esempio “8500010:0:7CD”). Ci sono anche aggiunte molto strane, come “Bern Bfpl”, cioè “8507000:0:Bfpl”, quando la RBS lo usa per gli autobus sostitutivi della ferrovia.

trips.txt

route_id,service_id,trip_id,trip_headsign,trip_short_name,direction_id,block_id,original_trip_id,hints "91-8-H-j25-1","TA+a0","994.TA.91-8-H-j25-1.59.R","Zürich, Hardturm","6278","1","","ch:1:sjyid:100648:plan:f7e839d9-e352-4394-98d3-3bbb9e89c18e","NF"
"91-8-H-j25-1","TA+a0","995.TA.91-8-H-j25-1.59.R","Zürich, Hardturm","2978","1","","ch:1:sjyid:100648:plan:1a4cadd1-b637-425e-a805-0dd1e5e34831","NF"
"91-8-H-j25-1","TA+a0","996.TA.91-8-H-j25-1.59.R","Zürich, Hardturm","2787","1","","ch:1:sjyid:100648:plan:649d9606-64db-4daa-9356-770b19699be8","NF"
"91-8-H-j25-1","TA+a0","997.TA.91-8-H-j25-1.59.R","Zürich, Hardturm","4879","1","","ch:1:sjyid:100648:plan:7a49feb0-47b5-4fd7-9034-ce68f65225d3","NF"
"91-8-H-j25-1","TA+2d600","998.TA.91-8-H-j25-1.59.R","Zürich, Hardturm","10407","1","","ch:1:sjyid:100648:plan:95e7bbc4-c839-4932-8ee3-e82e0c355fc5","NF"
"91-8-H-j25-1","TA+2d600","999.TA.91-8-H-j25-1.59.R","Zürich, Hardturm","9788","1","","ch:1:sjyid:100648:plan:c35e7a02-b42d-49db-8763-4bdcd39a6282","NF"
"91-8I-Y-j25-1","TA+3c100","1.TA.91-8I-Y-j25-1.1.H","Arth-Goldau","3092","0","","ch:1:sjyid:100001:3092-001","1 FS FW PA RR SC VN Z TC-004002"
"91-8I-Y-j25-1","TA+3c100","2.TA.91-8I-Y-j25-1.2.R","Lugano","3093","1","","ch:1:sjyid:100001:3093-001","1 FS FW PA RR SC VN Z TC-004002"
"91-8-j25-1","TA+c6","1.TA.91-8-j25-1.12.H","Bern, Saali","2076","0","","","NF VB"

Attenzione:

  • Per i treni, “trip_short_name” contiene il numero del treno.
  • Un “trip/viaggio” secondo GTFS rappresenta il concetto di “DatedVehicleJourney” in Transmodel (un “DatedJourney” in OJP). In Transmodel e OJP, un TRIP è un viaggio del cliente restituito dal Trip Planner. Si tratta di vari viaggi parziali, trasferimenti e altri itinerari che devono essere percorsi con modalità diverse. In HRDF, il “trip/viaggio” GTFS corrisponde al percorso e in NeTEx al ServiceJourney.
  • (dal 12.12.2024) Utilizziamo l’original_trip_id come definito per GTFS Transit (https://developers.google.com/transit/gtfs/reference). Il campo contiene l’ID viaggio svizzero (SJYID), che stabilisce una relazione N:1 tra trip_id e SJYID. Il SJYID è unico solo su base giornaliera. È anche mostrato nel GTFS-RT.
  • Il campo “suggerimenti” contiene le informazioni sul traffico secondo lo standard del ramo informazione alla clientela. I codici tariffari sono inclusi anche come TC-<codice>.

 

transfers.txt

Il file transfers.txt mostra le stazioni della metropolitana e gli orari di trasferimento. Una stazione della metropolitana, ad esempio, è costituita dalla stazione ferroviaria e dalle fermate degli autobus o dei tram circostanti. In questo file è possibile specificare il tipo di trasferimento e gli orari delle fermate corrispondenti.

from_stop_id,to_stop_id,transfer_type,min_transfer_time
"8500125:0:2","8581833","2","120"
"8500125:0:1","8504114","2","120"
"8500125:0:1","8581833","2","120"
"8500123:0:13","8576779","2","60"
"8500122:0:2","8572021","2","60"
"8500122:0:2","8582973","2","300"
"8500122:0:1","8572021","2","60"
"8500122:0:1","8582973","2","300"
"8500121:0:2","8581130","2","60"
"8500121:0:2","8582149","2","120"
"8500120:0:1","8582081","2","180"
"8500120:0:1","8579767","2","60"
"8500120:0:1","8582562","2","120"

Stabilità degli identificatori tra le versioni del file statico

La statica GTFS viene rigenerata ogni settimana. È quindi possibile che il “service_id” e il “trip_id” non siano identici.

Quando ci saranno nuovi file statici GTFS?

Il nuovo HRDF (base per il GTFS-S) viene pubblicato il mercoledì e il venerdì, mentre il GTFS statico basato su di esso viene pubblicato il giorno successivo tra le 9 e le 10 del mattino.

Il corrispondente feed GTFS-RT viene attivato lo stesso giorno alle 15:00. (Dal 2024-09-26, l’intestazione di GTFS-RT fa riferimento alla versione statica di GTFS appropriata tramite FeedVersion, vedere la documentazione di GTFS-RT).

pubblicazione HRDFpubblicazione GTFS-Sattivazione GTFS-RT
venerdìlunedì tra le 9 e le 10lunedì ore 15
mercoledìgiovedì tra le 9 e le 10giovedì ore 15

In caso di problemi: l’esportazione GTFS Static viene pubblicata il prima possibile, seguita da GTFS Realtime circa 5-6 ore dopo, ma non oltre le 18:00 dello stesso giorno. Se non è possibile, i nuovi dati saranno attivati in GTFS Realtime il giorno successivo.

Esempio: i nuovi dati GTFS Static possono essere pubblicati solo nel pomeriggio. I dati in tempo reale del GTFS vengono attivati il giorno successivo intorno alle ore 08:00.

Consistenza interna di un file statico GTFS

Ci impegniamo a produrre sempre file statici GTFS corretti. Google suggerisce di verificare la coerenza interna con il FeedValidator. Purtroppo, la versione attuale non è in grado di gestire le dimensioni del nostro file. Un altro strumento possibile è gtfstidy, che tra l’altro può eseguire una convalida con il parametro “-v”.

 

Domande & risposte

Cosa significano le prime e le ultime due sezioni del trip_id? E.g. {405}.TA.26-752-j17-1.{3}.{R}Il trip_id è composto dalle seguenti parti: “<numero consecutivo in trips.txt>.<service_id>.<route_id>.<numero di rotta DIVA>.<direzione di marcia DIVA>”.

route_id = <ramo operativo DIVA>-<numero di linea DIVA>-<abbreviazione del progetto DIVA>-<numero di versione della linea DIVA>.

Da cosa è composto il Trip ID?L’ID del viaggio è composto da diversi numeri/campi DIVA e non ha nulla a che fare con i dati HRDF.

L’assegnazione non è proprio 1:1, poiché l’ID del viaggio (= numero del viaggio) non deve essere unico all’interno di un set di dati HRDF, ma con l’aiuto delle fermate e dei tempi di sosta, come ha fatto l’utente dei dati, il viaggio corrispondente può essere trovato come segue:

Il file trips.txt contiene il nome del viaggio:

route_id,service_id,trip_id,trip_headsign,trip_short_name,direction_id

“26-94-j18-1″,”TA+b20xg”,”310.TA.26-94-j18-1.3.R”,”Zürich Oerlikon, Bahnhof”,”13628“,”1”

 

Questo corrisponde al numero di viaggio (numero di treno esterno) nella riga *Z del file FPLAN:

unbenannt

Poiché il numero di viaggio non deve essere univoco all’interno di un feed HRDF, per l’assegnazione si devono utilizzare anche i tempi di sosta e gli ID fermata del viaggio dal file stop_times.txt:

 

trip_id,arrival_time,departure_time,stop_id,stop_sequence,pickup_type,drop_off_type

“310.TA.26-94-j18-1.3.R”,”13:37:00″,”13:37:00″,”8587651″,”1″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:38:00″,”13:38:00″,”8587652″,”2″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:39:00″,”13:39:00″,”8591263″,”3″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:41:00″,”13:41:00″,”8591347″,”4″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:42:00″,”13:42:00″,”8591047″,”5″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:43:00″,”13:43:00″,”8591113″,”6″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:44:00″,”13:44:00″,”8591330″,”7″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:45:00″,”13:45:00″,”8591319″,”8″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:46:00″,”13:46:00″,”8591175″,”9″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:46:00″,”13:46:00″,”8591273″,”10″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:48:00″,”13:48:00″,”8591382″,”11″,”0″,”0″

“310.TA.26-94-j18-1.3.R”,”13:49:00″,“13:49:00″,”8580449”,”12″,”0″,”0″

Il feed HRDF di due giorni dopo (ad es. 05/02/2018) corrisponde sempre al feed GTFS (ad es. 07/02/2018):

unbenannt

Ulteriori indicazioni