Train Director - Generatore di file orario

 English   -    Italiano   -    Magyar


Westen Pacific 805 A
sul Donner Pass, California

 

IMPORTANTE

Recentemente il sito delle ferrovie tedesche, cosi' come molti altri siti che usano il database HAFAS, sono stati modificati in modo tale che diventa impossibile estrarre tramite un programma semplice come "gentt" dalle pagine Internet le stazioni e gli orari dei treni.

Se qualcuno conosce un sito web che fornisce gratuitamente informazioni su orari in formato accessibile direttamente da computer (es. file XML), me lo faccia sapere tramite il gruppo di discussione.

Rimane comunque valida la descrizione dei file .pth nel successivo capitolo "Descrizione degli itinerari".

E' ora disponibile una nuova versione del programma gentt che funziona solo per gli orari italiani di Trenitalia. Per orari di altre amministrazioni l'unico modo rimane l'inserimento manuale tramite un editor di testi.

itgentt per Windows

itgentt per Ubuntu Linux

itgentt per Mac OS X

Si scarichi la versione per il proprio sistema operativo da uno dei link precedenti, e si seguano le istruzioni per l'uso in questa pagina, oppure si guardi il breve filmato su YouTube.

Per chi vuole ricompilare il programma, i sorgenti sono disponibili qui.

Come usare il generatore di file orario

La lista dei treni per ogni scenario di Train Director è contenuta in un file con estensione .sch, il quale contiene anche gli orari a cui ogni treno deve arrivare e partire da ogni stazione.

Poichè è molto lungo inserire a mano tutti questi dati, è possibile usare il programma itgentt.exe, incluso nel package di Train Director, per leggere tali dati dalla web, in particolare dal sito indipendente e656.net.

Il programma itgentt opera sulle pagine HTML ritornate dal sito. Pertanto è necessario prima di tutto salvare sul disco locale una o più di queste pagine.
Ammettiamo di avere una linea con le seguenti stazioni:

Il primo passo per poter generare i file orari, è di visitare l'elenco stazioni. A questo punto, si scelga la pagina che contiene una delle stazioni della linea. Assumendo quindi di aver acceduto alla pagina con l'orario della stazione desiderata si dovrà salvare questa pagina sul disco locale tramite la funzione "File+Save" del vostro browser. E' sufficiente salvare solo la pagina HTML, senza salvare eventuali immagini contenute nella pagina stessa.
La stessa procedura deve essere eseguita per la seconda (o la terza e così via) stazione. Si torni quindi alla pagina http://www.e656.net/orario/stazioni.html, si visiti la pagina per la seconda stazione e si salvi la pagina sul disco locale, e lo stesso per le stazioni C, G ecc.

Dopo aver eseguito la procedura suddetta per ogni stazione presente nel vostro tracciato, avremo una serie di pagine sul disco locale, per esempio "stazioneB.html" "stazioneE.html", "stazioneC.html", "stazioneG.html" e "stazioneH.html".
A questo punto è sufficiente lanciare il programma itgentt da una finestra DOS. Per esempio:

C> itgentt stazioneB.html stazioneC.html stazioneE.html stazioneG.html stazioneH.html > tracciato.sch
Il programma leggerà tutte le pagine di tutti i treni che fermano nelle varie stazioni, e creerà il file tracciato.sch nel formato richiesto da Train Director.

Se tutti i treni della linea B-H fermano sia a B che ad E, non sarà necessario richiedere la pagina della stazione E. La situazione è diversa per la stazione H. Anche se tutti i treni in partenza da B verso L fermano sia a B che a H, sarà comunque necessario richiedere la pagina della stazione H per tenere conto dei treni che interessano la linea F-H-L. Allo stesso modo, se si richiedesse solo la pagina della stazione H ignorando quella della stazione B, si rischierebbe di non considerare i treni che interessano la linea A-B-D.

E' più difficile considerare il caso di treni che transitano nel tracciato, senza fare alcuna fermata. In questo caso è inutile richiedere le pagine orario di A o L (stazioni fuori dal tracciato), perchè comunque Train Director non saprà quando far entrare i treni nel tracciato. In tal caso è necessario inserire i dati a mano.

E' ovvio che per usare il programma itgentt è necessario avere una connessione a Internet funzionante.

Il programma è anche predisposto per funzionare da dietro a un "firewall". In questo caso, sarà necessario fornire al programma il nome del sistema proxy che gestisce le richieste HTTP. Per far ciò è sufficiente settare la seguente variabile dalla finestra DOS prima di lanciare il programma itgentt:

C> set PROXY=http://webcache:8080/
C> itgentt A.htm > AG.sch
Se non siete dietro a un "firewall", come penso la maggior parte di voi, non settate la variabile PROXY.

E' molto importante che vengano fornite al programma itgentt le pagine di tutte le stazioni da cui hanno origine i treni. Se tutti i treni hanno origine da stazioni che non sono comprese nel tracciato, come per esempio le stazioni A o D, è comunque possibile fornire le pagine relative a tali stazioni al programma itgentt a patto che tutti i treni fermino almeno ad una delle stazioni presenti nel tracciato. Se un treno entra nel tracciato da A ed esce da D senza mai fare fermate, non sarà possibile usare la gestione degli itinerari per calcolare automaticamente i tempi di ingresso e uscita, e sarà pertanto necessario inserire tali dati a mano.

E' anche possibile includere file orario multipli. Usando il comando Include: in un file orario, è possibile raggruppare i file orario creati per diverse stazioni, e al limite riutilizzare gli stessi file orario che magari sono stati creati per altri tracciati. L'utilizzo del comando Include: è il seguente:

     #!trdir

     # file AG.sch delle linee A-B-C, B-E-F, D-F-G

     Include: BF.sch

     Train: T1
     Enter: 0:05, A
		0:09, -, C
     Train: T2
        Enter: 0:07, D
		0:13, -, G
In questo esempio, il file BF.sch è stato generato con la procedura descritta in precedenza. Sarà necessario aggiungere solo i treni in transito, evitando quindi di modificare il file BF.sch.
Un altro vantaggio di questo approccio è che il file BF.sch potrà essere generato nuovamente ad ogni cambio orario, senza che per questo si debbano re-inserire a mano tutti i treni in transito.

Un'altro comando che permette un migliore utilizzo dei file orario generati automaticamente dal programma itgentt è il comando Cancel: . Questo comando permette di sopprimere un treno, ed è utile quando più treni usano la stessa traccia oraria in giorni diversi della settimana. Poichè il programma gentt non è in grado di distinguere la periodicità dei treni, è possibile che un treno che viaggia nei giorni lavorativi abbia la stessa ora di ingresso e lo stesso punto di ingresso nel tracciato di un altro treno che viaggia solo nei giorni festivi. In questo caso, è possibile simulare entrambi gli scenari usando i comandi combinati Include: e Cancel: , come nel seguente esempio:

    #!trdir

    # file lavor.sch
    # scenario giorni lavorativi

    Include: BF.sch

    # Il treno E120 viaggia solo nei festivi!

    Cancel: E120

Allo stesso modo sarà possibile preparare un file "festivi.sch" in cui il treno E120 viaggia regolarmente e magari viene soppresso un diverso treno.

Descrizione degli itinerari

Avere il file degli orari per una linea non è purtroppo sufficiente a consentire la simulazione di quella linea. Train Director richiede anche che nel file .sch siano presenti i punti e gli orari di ingresso e uscita dal tracciato di ogni treno.

Sebbene questa operazione sia più veloce che non l'inserimento degli orari di tutti i treni a tutte le stazioni, è comunque una attività che porta via molto tempo.

Fortunatamente, dalla versione 1.9 di Train Director è possibile inserire tali dati una volta sola in un file separato (con estensione .pth), e Train Director provvederà a creare automaticamente i dati di ingresso/uscita dal tracciato.

Il file .pth è composto da elementi col seguente formato:

  Path:
	From: B
	To: Z
	Times: 5/5/6/7 D

  Path:
	From W
	To: H
	Times: 2/2/3/4 F

# eccetera

La spiegazione è la seguente: Assumiamo che la stazione Z sia fuori dal tracciato oltre la stazione D. Il primo elemento (cioè il primo "Path") istruisce Train Director a considerare tutti i treni diretti da B a Z come uscenti dal punto D. Il momento di uscita verrà calcolato aggiungendo 5 minuti all'orario di partenza dalla stazione B per i treni di tipo 1 e 2, 6 minuti per i treni di tipo 3, e 7 minuti per quelli di tipo 4.
Il secondo elemento, istruisce Train Director a considerare come ora di arrivo di tutti i treni diretti da W a H (assumendo W come fuori dal tracciato prima del punto D), l'ora di arrivo ad H meno 2 minuti per i treni di tipo 1 e 2, meno 3 minuti per i treno di tipo 3, e meno 4 minuti per i treni di tipo 4.

È assolutamente necessario specificare i tempi di percorrenza per entrambe le direzioni, cioè da B a Z (in uscita da D), e da Z a B (cioè in ingresso da D). Questo perchè la velocità di accelerazione di un treno è diversa dalla velocità di rallentamento, per cui i due tempi possono essere diversi. Un altro vantaggio di questo approccio è che diventa possibile estendere un tracciato senza dover modificare tutti gli orari di ingresso/uscita dei treni. Per esempio se inizialmente si è creato un tracciato con le stazioni B,E e H, con le stazioni J, K, I fuori dal tracciato, diventa possibile in seguito introdurre le stazioni J ed K nel tracciato semplicemente modificando i dati relativi agli itinerari, lasciando invariato il file orario.

È necessario considerare tutti gli itinerari dall'ultima fermata del treno nel tracciato al punto di uscita (e viceversa). Nel nostro esempio, se ci sono treni diretti da B a X in uscita da L la cui ultima fermata nel tracciato è la stazione E, sarà necessario aggiungere i Path E-X e viceversa, come nel seguente esempio:

    Path:
	From: E
	To: X
	Times: 8/9/9/10 L
    Path:
	From: X
	To: E
	Times: 6/7/7/7 L
    Path:
	From: H
	To: X
	Times: 4/5/5/6  L
    Path:
	From: X
	To: H
	Times: 3/4/4/4 L

Il primo tracciato che ho creato che sfrutta questa funzionalità, è la descrizione della stazione di Casale Monferrato, mia città natale. Il tracciato è disponibile qui. Si consiglia di dare un'occhiata al file casale.pth per verificare in pratica come funziona il file itinerari.


Questa pagina è mantenuta da g_caprino@gmail.com
(togliere il _ prima di inviare il messaggio).
Data di creazione: 4 Dicembre 2000