Descrizione breve
Il formato dei dati grezzi HAFAS (HRDF) è un formato proprietario per dati dell’orario (maggiori informazioni qui: HAFAS Rohdaten Format (HRDF)).
I trasporti on demand vengono effettuati solo in caso di necessità (dall’inglese on demand) (maggiori informazioni sono disponibili qui: FACHKONZEPT ON-DEMAND-VERKEHR (v. 2.1 – in tedesco).
Accesso ai dati
Descrizione tecnica
Il modello di dati su cui si basa è lo stesso del HAFAS Rohdaten Format (HRDF), tuttavia, per rappresentare trasporti on demand il contenuto dei rispettivi file è diverso.
Il seguente diagramma mostra una panoramica dei file interessati, dei contenuti ivi rappresentati e delle loro correlazioni.

I seguenti paragrafi descrivono approssimativamente ogni singolo file del modello HRDF, inclusi gli esempi dall’esportazione HRDF (le informazioni precise sono disponibili nel RV e nella documentazione HRDF).
FPLAN
*T-Righe
Ogni offerta on demand/corsa viene inserita con una riga *T. Per ogni combinazione di «area operativa»x«orario di servizio»x«inizio collegamento» è presente una voce (i collegamenti sono descritti più avanti). Queste corse non sono precise, cioè vengono indicate solo una fascia temporale e una cadenza.
Esse comprendono:
- Il numero della corsa
- La gestione (attualmente sempre «AST___» come segnaposto)
- Periodo di percorrenza in minuti
- Densità delle cadenze in secondi (distanza tra due corse)
Esempio: *T 000001 AST___ 0240 0060
Questo viaggio viene effettuato per una durata di 4 ore, ogni minutort
*A VE-Righe
Queste righe indicano i giorni di circolazione di una corsa.
Esse comprendono:
- Il numero di giorni di circolazione, ossia il riferimento a una voce nel BITFELD
Esempio: *A VE 000114
Questa corsa circola nei giorni codificati nella voce BITFELD con l’indice 000114.
*G-Righe
Queste righe definiscono il mezzo di trasporto/la tipologia
Esse comprendono:
- Il mezzo di trasporto o la categoria (attualmente sempre «TEL» come segnaposto – v. categoria di treno ZUGART)
Esempio: *G TEL
Questa corsa è effettuata da un «TEL» (Bus On Demand).
*A-Righe
Queste righe descrivono gli attributi della corsa, ossia informazioni/caratteristiche supplementari rilevanti e indicate in dettaglio nell’ATTRIBUT.
Esse comprendono:
- Il codice attributo (attualmente sempre «ZZ» come segnaposto)
Esempio: *A ZZ
Questa corsa presenta caratteristiche codificate nella voce ATTRIBUT con il codice ZZ.
*I-Righe
Queste righe descrivono le informazioni supplementari per la corsa che sono elencate in INFOTEXT.
Esse comprendono:
- Il codice del testo informativo (attualmente sempre «ZZ» come segnaposto)
- Il numero del testo informativo
Esempio: *I ZZ 900000000
Questa corsa contiene ulteriori informazioni che devono essere considerate, che sono descritte nella voce INFOTEXT con il numero 900000000.
Verbindungen
Infine vengono indicati due punti di inizio e di fine, contenenti l’orario di inizio dell’offerta. Questi sono contenuti nel file BAHNHOF (stazione). Nella documentazione HRDF sono chiamati «fermate virtuali». Si tratta di costrutti impropri che emulano luoghi per poter fungere da inizio e fine di un algoritmo. È importante che i record vengano creati solo per i codici di avvio (quindi SSI, SSS, SSD, vedi sotto).
Esse comprendono:
- Il codice di fermata
- Il tipo di fermata (vedi sotto)
Nello specifico, i tipi di fermata (S/S*) sono abbreviati come segue
SS = Station Start (Stazione di inizio)
SD = Stazione di destinazione
SSI = stazione di partenza Intraregionale
SDI = stazione Destinazione intraregionale
SSS = Station Start Supply (apportatore)
SDS = Station Destination Supply (apportatore)
SSD = Station Start Demand (Richiesta inizio stazione, recettore in partenza)
SDD = Station Destination Demand (recettore di coincidenza)
Esempio: 9500000 SSI 00700 … 9500001 SDI 00700
Questa corsa inizia al numero 9500000 alle 7.00 e arriva al numero 9500001 alle 7.00.
Tuttavia, come ho detto, questo è un viaggio «pseudo» per arrivare alla fine «reale» dellaBedienzeit zu kommen muss man die in der *T-Zeile beschrieben Dauer der Fahrt berücksichtigen.
*F 03 1 % Dateiformat
% Rufbus Vaudt-Waadt SSI
% 7-11 Uhr, Sa
% Neue Fahrt mit Nr. *1. Verwaltung AST*. Für 4 Std. Im Minutentakt.
*T 000001 AST___ 0240 0060
% Verkehrstagenummer (Bitstring mit 1 wo Sa für 365 T)
*A VE 000114
% Verkehrsmittel TEL (in zugart datei)
*G TEL
% Verweis auf Attributcode ZZ (in attribut datei)
*A ZZ
% Verweis auf Infotexte 9*0 (in infotext datei)
*I ZZ 900000000
*I ZZ 900000001
*I ZZ 900000002
*I ZZ 900000003
*I ZZ 900000004
% VH 95*0 dient als startpunkt für fahrten in region
9500000 SSI 00700
% VH 95*1 dient als endpunkt für fahrten in region
9500001 SDI 00700
[...Rufbus Vaudt-Waadt SSS, Rufbus Vaudt-Waadt SSD ...]
% Rufbus Vaudt-Waadt SSI
% 9:00-12:00 Uhr, So
*T 000007 AST___ 0180 0060
*A VE 000177
*G TEL
*A ZZ
*I ZZ 900000000
*I ZZ 900000001
*I ZZ 900000002
*I ZZ 900000003
*I ZZ 900000004
9500000 SSI 00900
9500001 SDI 00900
REGION
*R-Righe
Ogni area di comando on-demand o ogni regione viene inserita con una riga *R.
Esse comprendono:
- Numero della regione
- Il nome della regione
Esempio: *R 00000001 Autobus di chiamata Appenzello
La regione 00000001 si chiama «Rufsbus Appenzell»
*C-Righe
La categoria di una regione.
Esse comprendono:
- Il numero della categoria (sempre «0», in quanto rappresentativo del trasporto su richiesta)
- Il numero della sottocategoria (facoltativo «1», per le regioni «pure» senza elenchi delle stazioni)
Esempio: *C 0
La regione è classificata come «per trasporti a richiesta».
*P-Righe
Il poligono della regione, che può essere additivo, sottrattivo, o esclusivo. I poligoni additivi vengono aggiunti, quelli sottrattivi vengono sottratti dagli additivi. Ad esempio, si può creare un poligono con un «buco». I poligoni esclusivi descrivono le aree in cui l’inizio e/o la destinazione si trovano all’interno.
Esse comprendono:
- + per un poligono additivo
- – per un poligono sottrattivo
- x per un poligono esclusivo (senza partenza e senza destinazione)
- y per poligono esclusivo «senza inizio»
- z per un poligono esclusivo «solo nessun obiettivo»
Esempio: *P+
La regione può fungere da partenza/destinazione per tutte le corse all’interno di questo poligono, nel quale vengono definite le coordinate seguenti.
*S-Righe + *I-Righe + *B-Righe
Il seguente elenco di punti è assegnato alla regione. L’elenco è generalmente composto da tutti i punti «pseudo» (v. riga *T e collegamenti). *S indica il tipo di punti, *I tipo di routing, *B i possibili punti di inizio e di fine.
*S comprende:
- Riga *S appropriata (v. Riga *T e connessioni)
*I comprende:
- IA = Routing della linea aerea
- IS = Routing stradale
- IN = Routing limitato nel tempo
*B comprende:
- BA = da/a indirizzo
- BS = da/a Fermate AS/AC
- BAS = BA+BS
Esempio: *SSI, *IS, *BAS o *SDI, *IS, *BAS
I punti indicati possono servire come punto di partenza all’interno della regione per il routing stradale e sia dall’indirizzo sia dalla fermata o, nel secondo esempio, come punto finale all’interno della regione, altrimenti con le stesse condizioni quadro.
*AS-Righe
Elenco delle fermate servite dal trasporto on demand. Esempio di circolazione corridoio on demand.
Contengono la riga *TE seguita da un elenco dei numeri di fermata.
Esempio: *AS
Le seguenti fermate possono essere servite dall’autobus on demand.
*AC-Righe
Elenco delle fermate che possono fungere da trasferimento tra trasporti pubblici on demand e trasporti pubblici.
Contengono la riga *AC seguita da un elenco di numeri di fermata.
Esempio: *AC
Nelle seguenti fermate è possibile selezionare l’offerta on-demand e l’offerta dei trasporti pubblici. Cosiddetti fermate dei trasporti pubblici in arrivo/recettore di coincidenza.
*F 45 1 % Dateiformat
*R 00000001 Rufbus Appenzell % Region mit Nr. *1 und Namen ‘Rufbus Appenzell’
*C 0 % Kategorie Bedarfsverkehr
*P + % Additives Polygon mit folgenden Koordinaten
9.3890941 47.3906506
9.3907571 47.3888783
[…]
*SSI % Start HS für Verbind. Innerhalb Region
*IS % Strassenrouting
*BAS % Von/nach Adresse in Region oder Rufbus-HS
9500006 % Rufbus Appenzell SSI % Diese Station kann alles oben def. sein
*SDI % End HS für Verbind. Innerhalb Region
*IS % Strassenrouting
*BAS % Von/nach Adresse in Region oder Rufbus-HS
9500007 % Rufbus Appenzell SDI % Diese Station kann alles oben def. sein
[…]
*AS % HS die in Region angefahren werden dürfen
8506260 % Weissbad, Bahnhof
8574054 % Appenzell, Mettlenbrücke
[…]
*AC % HS die als Übergang zu VH genutzt werden können
% 8574067 % Teufen AR, Speicherstrasse
8506260 % Weissbad, Bahnhof
8574054 % Appenzell, Mettlenbrücke
[…]
*R 00000002 Rufbus Vaudt-Waadt % nächste Reion...
*C 0
*P +
6.7401062 46.8948138
BAHNHOF
Contiene un elenco delle «fermate virtuali» (v. anche descrizione su FPLAN). Queste non hanno coordinate reali (v. BFKOORD).
Nota: ci aspettiamo che in futuro vengano inseriti anche i punti di raccolta, ossia i luoghi utilizzati dagli offerenti on demand a livello operativo. Ad esempio «Accanto alla discoteca XYZ». Questi non soddisfano i requisiti di una «vera» fermata dei trasporti pubblici.
Comprende:
- Il numero della fermata (fermata virtuale o in un secondo momento anche il punto di raccolta)
- Il nome della fermata (fermata virtuale o in futuro anche il punto di raccolta)
Esempio: 9500000 Autobus a chiamata Vaud–Vaud SSI
La «pseudo» fermata 9500000 è denominata «Rufbus Vaud–Vaadt SSI».
*F 01 1 % Dateiformat
9500000 Rufbus Vaud-Waadt SSI % start in der region
9500001 Rufbus Vaud-Waadt SDI % destination in der region
9500002 Rufbus Vaud-Waadt SSS % zubringer von start SA->SSS->SDS->UH
9500003 Rufbus Vaud-Waadt SDS % zubringer von ziel SA->SSS->SDS->UH
9500004 Rufbus Vaud-Waadt SSD % abbringer von umstieghs. UH->SSD->SDD->ZA
9500005 Rufbus Vaud-Waadt SDD % zubringer von umstieghs.
9500006 Rufbus Appenzell SSI
9500007 Rufbus Appenzell SDI
9500008 Rufbus Appenzell SSS
9500009 Rufbus Appenzell SDS
9500010 Rufbus Appenzell SSD
9500011 Rufbus Appenzell SDD
BFKOORD
Contiene l’elenco delle «fermate virtuali» (v. anche descrizione su FPLAN). Poiché non sono «reali», è possibile assegnare loro qualsiasi coordinata, ma il file non è facoltativo, quindi è necessario inserire un valore in ogni caso.
Nota: come per BAHNHOF, anche in questo caso forniremmo ai punti di raccolta coordinate adeguate.
Comprende:
- Numero della fermata
- Coordinata X (latitudine)
- Coordinata Y (longitudine)
Esempio: 9500000 6.707640 46.690380
La «pseudo» fermata 9500000 è alle coordinate indicate – o non lo è (vedi sopra)
*F 02 1
9500000 6.707640 46.690380 % Rufbus Vaudt-Waadt SSI
9500001 6.707640 46.690380 % Rufbus Vaudt-Waadt SDI
9500002 6.707640 46.690380 % Rufbus Vaudt-Waadt SSS
9500003 6.707640 46.690380 % Rufbus Vaudt-Waadt SDS
9500004 6.707640 46.690380 % Rufbus Vaudt-Waadt SSD
9500005 6.707640 46.690380 % Rufbus Vaudt-Waadt SDD
9500006 9.408746 47.338530 % Rufbus Appenzell SSI
9500007 9.408746 47.338530 % Rufbus Appenzell SDI
9500008 9.408746 47.338530 % Rufbus Appenzell SSS
9500009 9.408746 47.338530 % Rufbus Appenzell SDS
9500010 9.408746 47.338530 % Rufbus Appenzell SSD
9500011 9.408746 47.338530 % Rufbus Appenzell SDD
BHFART
Contiene l’elenco delle «fermate virtuali» (v. anche descrizione su FPLAN). Qui sono descritte le caratteristiche degli «pseudo» luoghi e delle fermate reali.
Comprende:
- Il numero della fermata o delle «fermate virtuali»
- Righe B (restrizioni)
- Limitazione della selezione come fermata come campo bit convertito in valore intero con
- Bit 0 = sbarramento come inizio
- Bit 1 = sbarramento come destinazione
- Bit 2 = sbarramento come via
- Bit 3 = blocco per la visualizzazione
- Limitazione della selezione per il routing (bit come sopra)
- Limitazione della selezione come fermata come campo bit convertito in valore intero con
- Righe E (proprietà)
- Tratto come uno di:
- A: Zona delle fermate (ad es. «Stazione Centrale – Metro»)
- D: Palo «partenza», all’occorrenza con ingresso (ad es.
posto) - d: Deposito
- E: Ingresso alla fermata
- F: Punto intermedio percorso pedonale (inizio/fine scala mobile, salita/discesa
sedia ecc.) - g: Stazione di servizio
- H: Hailing Section Fermata
- M: Città Meta (ad es. «Hannover»)
- m: master di fermata (ad es. «Hannover Hauptbahnhof»)
- O: punto di esercizio (punto di misurazione / «operation point»)
- P: Pseudo-fermata (punto lungo il percorso in cui il treno non
ferma, ad es. un punto tariffale) - S: contemporaneamente master delle fermate, palo di discesa ed eventualmente
corridoio (ad es. una stazione non asfaltata) - s: contemporaneamente zona di fermata, palo di discesa ed eventualmente
stazione delle autolinee (ad es. una stazione delle autolinee non montata quale settore parziale di un
stazione ferroviaria) - T: Fermata per autobus a chiamata, non vincolata alla linea (teletaxi)
- Tratto come uno di:
- Righe P
- Non devono essere rimosse anche se non sono presenti corse per farlo
Esempio: 9500000 B 7 0 Autobus su chiamata Vaudt–Vaud SSI ; 9500000 P % Autobus su chiamata Vaudt–Vaud SSI; 9500000 E T % Autobus su chiamata Vaudt–Vaud SSI; … ; 8510757 P; …
Lo «pseudo» punto 9500000 ha le restrizioni (nessuna fermata inizio/via, nessuna limitazione per il routing); non può essere cancellato; Fermate per bus a chiamata; … La fermata 8510757 non può essere cancellata
*F 30 1 % Dateiformat
% Rufbus Vaudt-Waadt
% Haltestelle kann nicht start/ziel von Auswahl oder Routing sein
9500000 B 7 0 Rufbus Vaudt-Waadt SSI
% Haltestelle ist permanent wird erhalten auch ohne Fahrt
9500000 P % Rufbus Vaudt-Waadt SSI
% Haltestelle von Rufbus nicht liniengebunden
9500000 E T % Rufbus Vaudt-Waadt SSI
9500001 B 7 0 Rufbus Vaudt-Waadt SDI
9500001 P % Rufbus Vaudt-Waadt SDI
9500001 E T % Rufbus Vaudt-Waadt SDI
9500002 B 7 0 Rufbus Vaudt-Waadt SSS
9500002 P % Rufbus Vaudt-Waadt SSS
9500002 E T % Rufbus Vaudt-Waadt SSS
9500003 B 7 0 Rufbus Vaudt-Waadt SDS
9500003 P % Rufbus Vaudt-Waadt SDS
9500003 E T % Rufbus Vaudt-Waadt SDS
9500004 B 7 0 Rufbus Vaudt-Waadt SSD
9500004 P % Rufbus Vaudt-Waadt SSD
9500004 E T % Rufbus Vaudt-Waadt SSD
9500005 B 7 0 Rufbus Vaudt-Waadt SDD
9500005 P % Rufbus Vaudt-Waadt SDD
9500005 E T % Rufbus Vaudt-Waadt SDD
8510757 P % Granges (Veveyse), Les Girons % HS permanent (s.o.)
8501982 P % L'Isle, poste
8504779 P % Yvonand, Pré Hôtel de Ville
ZUGART
Contiene dettagli su mezzi di trasporto o categorie. Come questi sono descritti nelle diverse lingue e quali sono le loro caratteristiche.
Comprende:
- Codice di serie
- Categoria Classe di prodotto (0-13)
- Gruppo tariffario (A-D)
- Gestione delle uscite con
- 0 Categoria e nome breve della linea o numero della corsa
- 1 solo per categoria
- 2 solo nome breve della linea o numero della corsa
- 3 Nessuna spesa
- +4 gestore anziché categoria
- +8 il numero di corsa anziché quello esistente
- Visualizzare i nomi brevi delle linee
- Denominazione serie
- Aggiudicazione con
- 0 Senza supplemento;
- 1 Obbligo di aggiudicazione a seconda del contesto;
- 2 generalmente soggetto a supplemento
- Flag con
- «N» per: la categoria appartiene al traffico locale
- «B» per: la categoria appartiene alla navigazione
- «F» per: la categoria appartiene al traffico aereo
- «T» per: Categoria appartiene al traffico su richiesta
- Nomi delle categorie in funzione della lingua nel formato «#XYZ», con XYZ=0-999
Esempio: TEL 10 C 1 DRT 0 T #104
Definiamo la categoria TEL con la categoria 10, il gruppo tariffario C per il quale viene pubblicata solo la categoria, con la denominazione della categoria DRT, senza obbligo di maggiorazione, il flag per trasporti su richiesta (on demand) e il link alla denominazione serie 104 in base alla lingua.
Sprachabhängige Definitionen
Esse comprendono:
- <text> – l’introduzione della definizione del testo
- <LANG> – l’introduzione di una lingua
- classXY – Classi di prodotto tra 00-13
- categoryXYZ – Nomi estesi serie
Esempio: <Deutsch>; class10 DRT/AST/Rufbus; category104 DRT
I nomi delle classi di prodotti e i nomi lunghi delle categorie saranno introdotti in tedesco. Concretamente, la classe di prodotto 10 (riferita anche nella riga «TEL 10 …») è descritta con «DRT/AST/autobus a chiamata», mentre il nome lungo della categoria per la categoria 104 (riferita anche nella riga «TEL…» con #104) è descritta con «DRT».
*F 06 1
% Gattung: TEL, Kat: 10, Ausgabe: 1 (nur Gattung),
% Gattungsbezeichnung: DRT, Zuschlag: 0 (frei), Flags: T (Bedarfsverk.)
% Sprachabhängigergattungsname: 104 (s.u.)
TEL 10 1 DRT 0 T #104
<text> %
<Deutsch> % Definition in Sprache Deutsch
class10 DRT/AST/Rufbus % Produktklasse 10 = «DRT/…»
category104 DRT % Gattungsnummer 104 = DRT
<Englisch> % s.o. in Englisch
class10 DRT/AST/Rufbus
category104 DRT
<Franzoesisch>
class10 DRT/AST/Rufbus
category104 DRT
<Italienisch>
class10 DRT/AST/Rufbus
category104 DRT
INFOTEXT
Descrive ulteriori informazioni in merito alle corse approntate.
Essa comprende una sequenza di:
- Numero testo informativo
- Testo informativo
Esempio: 900000000 https://www.postauto.ch/it/orario-e-rete/publicar/vaud
Il testo informativo con il numero 900000000 descrive «https://www.postauto.ch/it/orario-e-rete/publicar/vaud»
*F 11 1
% DRT Gebiet Vaudt Waadt
900000000 https://www.postauto.ch/it/orario-e-rete/publicar/vaud
900000001 Buchung über die PubliCar-App oder über 0800 603060 (6:00-24:00)
900000002 Reservation und Stornierung telefonisch bis eine Stunde vor Abfahrt (während Öffnungszeiten der Zentrale) möglich. Abfahrten vor 6 Uhr müssen am Vortag telefonisch bis spätestens eine Stunde vor Schliessung der Zentrale reserviert werden.
900000003 Reservierung bis 9 Personen möglich
900000004 Reservierung für Rollstuhl möglich
% DRT Gebiet
900000005 Buchung über die PubliCar-App oder über 0848 553060
900000006 Fahrten sind Reservierungspflichtig
900000007 Stornierung bis spätestens 30 Minuten vor Abholung
900000008 Reservierung für Rollstuhl möglich
900000009 Reservierung bis 9 Personen möglich
900000010 Gruppenreisen > 10 Personen möglich mit Ermässigung
900000011 https://www.postauto.ch/de/fahrplan-und-netz/publicar/appenzell
ATTRIBUT
In termini semplici, vengono definiti template INFOTEXT che possono essere combinati con diversi testi «dinamici» di INFOTEXT. La combinazione avviene tramite le righe *A e *I nel FPLAN.
Esse comprendono:
- Codice attributo (molti dei quali sono predefiniti)
- Appartenenza alla fermata
- 1: L’attributo vale per la fermata di salita
- 2: per la fermata di discesa
- 0: per il tratto di viaggio, vale a dire il tratto compreso tra la salita (esclusivamente) e la discesa (esclusivamente)
- 4: per fermate transitate (fermate intermedie)
- Priorità di output (0-999)
- Selezione fine dell’output (0-99) – se la priorità è uguale
- Per l’emissione vale quanto segue
- Prefisso «#»
- Attributi dei dati dell’orario
- Codice attributo Tratta parziale
- Codice attributo Tratta completa
Esempio: ZZ 0 050 50; # ZZ ZZ ZZ
Sprachabhängige Definitionen
Esse comprendono:
- <text> – l’introduzione della definizione del testo
- <LANG> – l’introduzione di una lingua
- Codice attributo
- Testo attributo (riferimenti a INFOTEXT con prefisso «$»)
Esempio: <text> <Deutsch>; ZZ $IZZ; 1 Nur 1. Klasse
Fondamentalmente viene emesso solo il testo informativo. Oppure “Nur 1. Klasse”.
Esempio di riferimento per la combinazione di FPLAN, INFOTEXT, und ATTRIBUT
ATTRIBUT: XY 0 001 50; <text> <Deutsch> XY Heute wird $IAB
INFOTEXT: 00000001 ein schöner Tag
FPLAN: *A XY; *I AB … 00000001
Ciò significherebbe: il testo informativo dovrebbe essere complessivamente visualizzato con la dicitura «Oggi sarà una bella giornata».
*F 09 1 % Dateityp attribut
% Code: ZZ, für Fahrtabschnitt (0), Prio: 050, Sortierung: 50
ZZ 0 050 50
1 0 1 5
% Ausgabe: ZZ für Fahrplan, Teilstrecke und Vollstrecke
# ZZ ZZ ZZ
# 1 1 1
% Ausgabeformat für verschiedene Sprachen mit Referenz auf infotext-Datei (s. auch fplan)
<text>
<deu>
ZZ $IZZ
1 Nur 1. Klasse
<eng>
ZZ $IZZ
1 1st class only
<fra>
ZZ $IZZ
1 Seulement 1re classe
<ita>
ZZ $IZZ
1 Solo 1a classe
(BITFELD)
La gestione del BITFELD viene descritta qui in dettaglio nel HAFAS Rohdaten Format (HRDF). Per la rappresentazione di sequenze bit e Hexa è possibile utilizzare il tool BitViz di Tools & More.
ECKDATEN
Le date principali contengono l’inizio e la fine della validità del piano d’offerta.
