General Transit Feed Specification (GTFS) est un format d’échange numérique développé par Google pour les horaires des transports publics et les informations géographiques correspondantes, comme par exemple l’emplacement des arrêts. Les données sont mises à disposition par les entreprises de transport et publiées sous la forme d’une base de données collectée sur la plateforme Open-Data TP-Suisse au format GTFS. Les données sont utilisées pour développer des applications en rapport avec les transports publics, comme par exemple la consultation des horaires.
Contrairement à GTFS Realtime (GTFS RT), GTFS Static ne fournit, comme son nom l’indique, que des données statiques et non des données en temps réel.
Avec ce fichier statique, l’ensemble des transports publics d’un pays est présenté pour la première fois dans un seul flux.
Description spécifique
GTFS Static est fourni sous la forme d’une série de fichiers texte au format ZIP. Chaque fichier fournit des informations sur un aspect particulier des informations de transit, comme les arrêts (stops.txt), les itinéraires (routes.txt), les trajets (trips.txt), les transporteurs (agency.txt) et d’autres données relatives à l’horaire. Certaines données sont nécessaires pour fournir des données GTFS valides, d’autres sont facultatives et fournissent des informations supplémentaires utiles (comme par exemple les changements d’horaires lors de jours fériés spécifiques = calendar_dates.txt).
Le graphique suivant montre l’interaction des différentes informations, sachant que toutes ne sont actuellement pas saisies pour les TP-Suisse et disponibles au format GTFS:
Aller à l’ensemble des données : https://opentransportdata.swiss/fr/group/timetables-gtfs
Notions importantes
- GTFS Static : publication d’informations de transit statiques au format GTFS.
- GTFS Realtime : publication d’informations de transit en temps réel comme enrichissement des données statiques GTFS, sous forme de Protocoll Buffers
Aspects techniques
Structure des données
Chaque fichier se compose de séries de textes et de chiffres séparés par des virgules, avec des champs qui, une fois assemblés, fournissent les informations recherchées. Une description détaillée des différents champs dans les différents fichiers est expliquée en détail sur le site web suivant: https://developers.google.com/transit/gtfs/reference/
Les fichiers suivants sont actuellement mis à disposition pour l’exportation GTFS des TP-Suisse:
- agency.txt
- calendar.txt
- calendar_dates.txt
- feed_info.txt
- routes.txt
- stop_times.txt
- stops.txt
- transfers.txt
- trips.txt
Ne sont pas mis à disposition: fare_attributes.txt, fare_rules.txt und frequencies.txt
agency.txt
1 2 3 4 5 6 7 8 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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
1 2 3 4 5 6 7 8 9 10 11 12 |
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
1 2 |
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
1 2 3 4 5 6 7 8 9 |
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" |
Attention:
- Certains itinéraires dans GTFS ont une extension “-Y”. La raison en est qu’ils ont un numéro de ligne créé artificiellement. Ce n’est qu’ainsi que “route_short_name” peut être valide. Ces lignes artificielles ne devraient pas être affichées telles quelles aux utilisateurs. Pour les trains, “trip_short_name” contiendra le numéro du train.
Les textes relatifs aux moyens de transport qui seront appliqués (la variable route_desc contient des informations de la colonne “Abbreviation”):
Abbreviation | DE | FR | IT | EN | Ref_TransportMode | route_type |
ASC | Aufzug | Ascenseur | Ascensore | Lift / Elevator | A | 1700 |
B | Bus | Autobus | Autobus | Bus | B | 700 |
BN | Nachtbus | Bus de nuit | Autobus notturno | Night Bus | B | 705 |
BP | PanoramaBus | Bus panoramique | PanoramaBus | Panorama Bus | B | 710 |
BUS | Bus | Autobus | Autobus | Bus | B | 700 |
CAR | Fernbus national | Bus longue distance national | Autobus nazionale a lunga percorrenza | National long-distance bus | B | 202 |
CAX | Fernbus international | Bus grandes lignes international | Autobus a lunga percorrenza internazionale | International long-distance bus | B | 201 |
EB | Eilbus | Bus express | Autobus espresso | Semi fast bus | B | 702 |
EXB | Expressbus | Expressbus | Expressbus | Express bus | B | 702 |
ICB | InterCity-Bus | Bus InterCity | Autobus InterCity | InterCity Bus | B | 202 |
KB | Kleinbus | Minibus | Furgoncino | Minibus | B | 700 |
NB | Nacht-Bus | Bus de nuit | Bus notturno | Night Bus | B | 705 |
NFB | Niederflur-Bus | Bus à plancher surbaissé | Bus a pianale ribassato | Low-floor bus | B | 700 |
NFO | Niederflur-Trolleybus | Trolleybus à plancher surbaissé | Filobus a pianale ribassato | Low-floor trolley bus | B | 700 |
RUB | Rufbus | Bus sur appel | Bus a chiamata | On-demand Bus | B | 715 |
TX | Taxi | Taxi | Tassì | Taxi | B | 1500 |
SL | Sesselbahn | Télésiège | Seggiovia | Chairlift | E | 1300 |
CC | Zahnradbahn | Chemin de fer à crémaillère | Ferrovia a cremagliera | Rack-railroad / Cog Railway | H | 1400 |
GB | Gondelbahn | Télécabine | Ovovia | Gondola lift | L | 1300 |
LB | Luftseilbahn | Téléphérique | Funivia | Cableway / Aerial Ropeway | L | 1300 |
PB | Pendelbahn | Téléphérique à mouvement de va-et-vient | Funivia a movimento va e vieni | Aerial Tramway | L | 1300 |
M | Metro | Métro | Metropolitana | Underground / Metro | M | 401 |
FUN | Standseilbahn | Funiculaire | Funicolare | Funicular | N | 1400 |
BAT | Schiff | Bateau | Battello | Ship / Boat | S | 1000 |
BAV | Dampfschiff | Bateau à vapeur | Battello a vapore | Steam ship / boat | S | 1000 |
FAE | Fähre | Traversier / Ferry | Nave traghetto | Ferry | S | 1000 |
KAT | Katamaran | Catamaran | Catamarano | Katamaran | S | 1000 |
NFT | Niederflur-Tram | Tram à plancher surbaissé | Tram a pianale ribassato | Low-floor Tramway | T | 900 |
T | Tram | Tram | Tram | Tram | T | 900 |
TN | Nachttram | Tram de nuit | Tram notturno | Night Tram | T | 900 |
AIR | Flugzeug | Avion | Velivolo | Airplane | U | 1100 |
UUU | Unbekannte Art | Espèce inconnue | Specie sconosciuta | Unknown mode | U | 1700 |
AG | Agenturzug | Train de l’agence | Treno d’agenzia | Agency Train | Z | 117 |
ARC | Arco | ARCO | ARCO | Arco | Z | 102 |
ARZ | Autoreisezug | Train d’autos accompagnées | Treno auto accompagnate | Car-carrying Train | Z | 104 |
AT | Autotunnelzug | Train-autos Tunnel | Treno per il trasporto di auto in galleria | Auto Tunnel Train | Z | 104 |
ATR | Altaria | Altaria | Altaria | Altaria | Z | 102 |
ATZ | Autotunnelzug | Train-autos Tunnel | Treno per il trasporto di auto in galleria | Auto Tunnel Train | Z | 104 |
AVE | Alta Velocidad ES | Alta Velocidad ES | Alta Velocidad ES | Alta Velocidad ES | Z | 101 |
BEX | Bernina Express | Bernina Express | Bernina Express | Bernina Express | Z | 107 |
CAT | City Airport Train | City Airport Train | Treno città-aeroporto | City Airport Train | Z | 111 |
CNL | CityNightLine | CityNightLine | CityNightLine | CityNightLine | Z | 105 |
D | Schnellzug | Train Express | Treno espresso | Fast Train | Z | 103 |
E | Eilzug | Train accéléré | Treno espresso | Semi fast / non-stop Train | Z | 103 |
EC | EuroCity | EuroCity | EuroCity | EuroCity | Z | 102 |
EM | Euromed | Euromed | Euromed | Euromed | Z | 102 |
EN | EuroNight | EuroNight | EuroNight | EuroNight | Z | 105 |
ES | Eurostar Italia | Eurostar Italia | Eurostar Italia | Eurostar Italia | Z | 101 |
EST | Eurostar | Eurostar | Eurostar | Eurostar | Z | 101 |
EXT | Extrazug | Train spécial | Treno speciale | Special Event Train | Z | 117 |
GEX | Glacier Express | Glacier Express | Glacier Express | Glacier Express | Z | 107 |
IC | InterCity | InterCity | InterCity | InterCity | Z | 102 |
ICE | InterCityExpress | InterCity-Express | InterCityExpress | InterCityExpress | Z | 102 |
ICN | IC-Neigezug | Train pendulaire IC | Treno basculante IC | IC Tilting Train | Z | 102 |
IN | InterCityNacht | Nuit InterCity | InterCityNight | InterCityNight | Z | 102 |
IR | InterRegio | InterRegio | InterRegio | InterRegio | Z | 103 |
IRE | Interregio-Express | InterregioExpress | Interregio-Express | Interregio-Express | Z | 103 |
IT | Italo | Italo | Italo | Italo | Z | 102 |
JAT | Gefängniszug | Train-prison | Treno della prigione | Jail / Prison Train | Z | 111 |
MAT | LeermaterialZug (Reisezugswagen) | Train de matériel vide (voiture de voyageurs) | Treno vuoto (carrozze passeggeri) | Empty material train (passenger carriage) | Z | 111 |
MP | LeermaterialZug Personenbeförd | Train de matériel vide Transport de personnes | Treno materiale vuoto Trasporto passeggeri | Empty material train with passenger transport | Z | 111 |
NJ | NightJet | NightJet | Nightjet | NightJet | Z | 105 |
NZ | Nacht-Zug | Train de nuit | Treno notturno | Night Train | Z | 105 |
P | Zug ohne Gewähr | Train non garanti | Treno senza garanzia | Train without Guarantee | Z | 100 |
PE | PanoramaExpress | PanoramaExpress | PanoramaExpress | PanoramaExpress | Z | 107 |
R | Regio | Train régional | Regio | Regio | Z | 106 |
RB | Regionalbahn | Réseau régional | Ferrovia regionale | Regional train | Z | 106 |
RE | RegioExpress | RegioExpress | RegioExpress | RegioExpress | Z | 106 |
RJ | Railjet | Railjet | Railjet | Railjet | Z | 102 |
RJX | railjet xpress | Railjet Xpress | Railjet Xpress | Railjet Xpress | Z | 102 |
S | S-Bahn | RER | Rete celere regionale | Urban Train | Z | 109 |
SN | Nacht-S-Bahn | RER de nuit | S-Bahn (rete celere regionale) notturna | Night-urban Train | Z | 109 |
STB | Stadtbahn | Chemin de fer urbain | Ferrovia urbana | City Railway | Z | 109 |
TAL | Talgo | Talgo | Talgo | Talgo | Z | 101 |
TER | Train Express Regional | Train Express régional | Treno espresso regionale | Train Express Regional | Z | 106 |
TE2 | TER200 | TER 200 | TER200 | TER200 | Z | 106 |
TGV | Train à grande vitesse | Train à grande vitesse | Train à grande vitesse | Train à grande vitesse | Z | 101 |
THA | Thalys | Thalys | Thalys | Thalys | Z | 101 |
TLK | Twoje Linie Kolejowe | Deuxième Ligne Kolejowe | Linea Twoje Kolejowe | Twoje Line Kolejowe | Z | 102 |
UEX | UrlaubsExpress | UrlaubsExpress | HolidayExpress | UrlaubsExpress (Holiday) | Z | 104 |
VAE | Voralpen-Express | Voralpen-Express | Voralpen-Express | Voralpen-Express | Z | 103 |
WB | Westbahn | Westbahn | Westbahn | Westbahn | Z | 100 |
X | InterConnex | InterConnex | InterConnex | InterConnex | Z | 100 |
X2 | X2000 Neigezug | X2000 Train pendulaire | Treno inclinabile X2000 | X2000 Tilting Train | Z | 100 |
ZUG | Zugskategorie unbekannt | Catégorie de train inconnue | Categoria del treno sconosciuta | Train Category Unknown | Z | 100 |
stop_times.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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",""," |
Les passerelles doivent être modélisées dans GTFS comme des arrêts individuels. Un changement de pente est alors un changement d’arrêt du point de vue du GTFS.
L’exemple “8500010” (Bâle CFF):
Tous les arrêts de Bâle ont un “parent” commun “8500010P”. Les différentes voies sont séparées par des ” :”. Une “voie” peut aussi être une voie+secteurs (ex : “8500010:0:7CD”). Il y a aussi des compléments très bizarres, comme “Bern Bfpl” donc “8507000:0:Bfpl”, lorsque le RBS l’utilise pour les bus de remplacement des trains.
trips.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
route_id,service_id,trip_id,trip_headsign,trip_short_name,direction_id "1-9-j17-1","TA+b0001","2.TA.1-9-j17-1.2.H","Lenzburg","21916","0" "1-90-j17-1","TA+b0001","4.TA.1-90-j17-1.2.R","Wallbach, Gemeindehaus","90074","1" "1-90-j17-1","TA+b0001","10.TA.1-90-j17-1.2.R","Wallbach, Gemeindehaus","90022","1" "1-90-j17-1","TA+b0001","43.TA.1-90-j17-1.13.R","Schupfart, Dorf","90071","1" "1-90-j17-1","TA+b0001","44.TA.1-90-j17-1.13.R","Schupfart, Dorf","90013","1" "1-90-j17-1","TA+b0001","50.TA.1-90-j17-1.13.R","Schupfart, Dorf","90067","1 "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",""," "1-350-j16-1","TA","49.TA.1-350-j16-1.2.R","1-350-j16-1.2.R","Zürich, Triemli","1" |
Attention:
- Pour les trains, “trip_short_name” contient le numéro du train.
- Un “trip” selon GTFS représente dans Transmodel la notion d’un “DatedVehicleJourney” (dans OJP un “DatedJourney”). Dans Transmodel et OJP, un TRIP est un voyage du client tel qu’il est renvoyé par le Trip Planner. Elle se compose de différents trajets partiels, de correspondances et d’autres chemins à parcourir avec différents modes. Dans HRDF, le “trip” GTFS correspond au trajet et dans NeTEx au ServiceJourney.
transfers.txt
Le fichier transfers.txt représente les gares de métro et les temps de correspondance qui s’y trouvent. Une méta-gare se compose par exemple de la gare et des arrêts de bus ou de tram qui l’entourent. Le type de correspondance et les horaires vers les arrêts correspondants peuvent être spécifiés dans ce fichier.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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é des identifiants entre les versions du fichier statique
Chaque semaine, le GTFS Static est recréé. Il se peut donc que le “service_id” et le “trip_id” ne soient pas identiques.
Quand y aura-t-il de nouveaux fichiers statiques GTFS?
Le nouveau HRDF sera publié lundi.
Le téléchargement GTFS s’effectue par script le mercredi à 09h10. Le flux GTFSR charge les fichiers par script à 14:00. Ensuite, il faut environ 5 à 10 minutes pour que les fichiers du système et donc le flux GTFS-RT soient convertis.
Détails techniques pour une meilleure compréhension
Le lundi, les données HRDF sont importées dans DIVA. Ensuite (également le lundi), une reprise des données d’horaire pour EFA est en cours.
Le mardi, nous faisons l’exportation GTFS.
Le mercredi, le nouveau jeu de données GTFS-ZIP est téléchargé vers 9h10 sur le serveur FTP des CFF, les nouvelles données d’horaire du calendrier ainsi que les nouvelles données GTFS sont importées le mercredi vers 14h00 sur les serveurs correspondants.
Cohérence interne d’un fichier statique GTFS
Nous nous efforçons de toujours produire des fichiers statiques GTFS corrects. Google suggère de tester la cohérence interne avec FeedValidator. Malheureusement, la version actuelle ne peut pas gérer la taille de notre fichier. Un autre outil possible est gtfstidy, qui peut notamment effectuer une validation avec le paramètre “-v”.
Questions & réponses
Que signifient les deux premiers et les deux derniers paragraphes du trip_id? Par exemple {405}.TA.26-752-j17-1.{3}.{R} | Le trip_id est composé des éléments suivants : “<numéro séquentiel dans le trips.txt>.<service_id>.<route_id>.<numéro de trajet DIVA>.<direction DIVA>”
route_id = <branche DIVA>-<numéro de ligne DIVA>-<nom abrégé du projet DIVA>-<numéro de version de ligne DIVA>”. |
Comment se compose le Trip ID? | L’ID de voyage se compose de différents numéros/champs DIVA et n’a rien à voir avec les données HRDF.
La correspondance n’est pas tout à fait 1:1, car l’ID du trajet (= numéro de trajet) ne doit pas être unique dans un enregistrement HRDF, mais en utilisant les arrêts et les temps d’arrêt, comme l’a fait l’utilisateur des données, le trajet correspondant peut être trouvé comme suit: Le trips.txt contient le trip_short_name: r oute_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”
Celui-ci correspond au numéro de trajet (numéro de train externe) dans la ligne *Z du fichier FPLAN: Comme le numéro de trajet ne doit pas être unique au sein d’un flux HRDF, il convient d’utiliser également les temps d’arrêt et les stop_ids du trajet du fichier stop_times.txt pour l’affectation:
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″ C’est toujours le flux HRDF le plus récent de deux jours (par exemple le 05.02.2018) qui correspond au flux GTFS (par exemple le 07.02.2018): |
Informations supplémentaires
- Pour plus d’informations sur GTFS Static, consultez la page des développeurs GTFS de Google: https://developers.google.com/transit/gtfs/
- Réunion en ligne du 13 novembre 2023: comment les flux de données GTFS contribuent à l’amélioration durable des transports publics