• Non ci sono risultati.

CAPITOLO 1 IL SOFTWARE SUMO

1.6 Assegnazione della domanda di trasporto alla rete: definizione degli itinerari (routes)

1.6.4 JTRRouter

JTRRouter (Junction Turning Ratios Router) è un pacchetto di SUMO che si basa su un concetto analogo a DFRouter: riceve in input un detector file, in cui sono contenuti i rilevatori, ed un measure file, in cui sono riportati i flussi.

A differenza di DFRouter, JTRRouter utilizza come punti di rilievo le intersezioni stradali (la cui

localizzazione è riportata nel detector file), e su di esse si hanno, per ogni manovra dell’intersezione, i flussi rilevati, la composizione del parco veicolare, e gli istanti di inizio e fine del rilievo (contenuti nel measure file).

Il pacchetto quindi calcola le routes in base ai volumi di traffico e alle percentuali di traffico sulle varie manovre di svolta alle intersezioni.

Operativamente, dal prompt dei comandi del DOS, dopo essere entrati nella cartella di lavoro, si scrive:

jtrrouter <FILES DI INPUT> <FILES DI OUTPUT> <COMANDI DI PROCESSING>

I files di input indispensabili per la simulazione sono tre:  Il file di rete (network)

 Il file dei flussi di traffico (flows)

 Il file contenente le percentuali di flusso sulle manovre alle intersezioni (turn ratio) Tali files vengono forniti con i comandi:

Comando Descrizione

-n <FILE>

--net-file <FILE> Indica il file di rete SUMO -f <FILE>

--flow-files <FILE> Indica il file in cui sono contenuti i flussi di traffico -t <FILE>

--turn-ratio-files <FILE> Indica il file contenente le percentuali di flusso sulle manovre alle intersezioni Tab 1. 20: File di input necessari per una simulazione con JTRRouter

Fig 1. 20: Esempio di flow file; la descrizione delle informazioni fornite verrà data nel seguito.

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 51

In aggiunta a questi, è possibile fornire ulteriori input, come ad esempio:

Comando Descrizione

-d --taz-files

Con questo comando si possono fornire files addizionali, come il file delle TAZ. -r

--route-files

Con questo comando si può fornire un file di routes precedentemente elaborato, di cui tener conto nell’elaborazione.

--junction-taz Questo comando fa sì che ogni intersezione venga considerata come una TAZ, in cui considerare i flussi in ingresso (toJunction) e in uscita (fromJunction).

Tab 1. 21: File di input opzionali per una simulazione con JTRRouter

Il file delle percentuali di flusso sulle manovre (turn ratio file) ha estensione “.turns.xml”, e si presenta nella forma:

<edgeRelations>

<interval begin="0" end="3600">

<edgeRelation from="myEdge0" to="myEdge1" probability="0.2"/> <edgeRelation from="myEdge0" to="myEdge1" probability="0.7"/> <edgeRelation from="myEdge0" to="myEdge1" probability="0.1"/>

... any other edges ...

</interval>

... some further intervals ...

</edgeRelations>

Nell’esempio, i veicoli che arrivano alla fine dell'arco "myEdge0" nell'intervallo di tempo compreso tra 0 e 3600 s, sceglieranno l'arco "myEdge1" con una probabilità del 20%, "myEdge2" con una probabilità del 70% e "myEdge3" con una probabilità del 10%.

Il principale file di output che JTRRouter genera è il file delle routes:

-o <FILE> --output-file <FILE>

Assieme a questo, è possibile generare altri files (o specificare altre informazioni), come ad esempio:

Comando Descrizione

--precision Specifica la precisione dei valori calcolati (il numero di cifre dopo la virgola); di default è 2.

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 52

-H

--human-readable-time

Con questo comando, anziché in [secondi], i tempi sono indicati in ore:minuti:secondi o giorni:ore:minuti:secondi.

--vtype-output Genera un file in cui sono indicate le tipologie di veicolo simulate Tab 1. 22: Files di output opzionali per una simulazione con JTRRouter

I principali comandi di processing sono:

Comando Descrizione

--with-taz Comando che impone di utilizzare le TAZ come zone di ingresso/uscita dei veicoli

-T

--turn-defaults

Comando che assegna percentuali predefinite di flussi sulle manovre --sink-edges Comando che permette di definire alcuni archi come “sink”

-A

--accept-all-destinations

Comando che converte ogni arco della rete in un “sink”

-S

--sources-are-sinks

Comando che assegna ad ogni arco “source” anche la funzione “sink”

Tab 1. 23: Principali comandi di processing per una simulazione con JTRRouter

Il comando --turn-default permette di risparmiare tempo nella preparazione della descrizione delle percentuali sulle svolte, utilizzando valori predefiniti: il comando può essere utilizzato per attribuire percentuali predefinite che verranno utilizzate per tutti gli incroci per tutti gli intervalli temporali. Viene fornito un elenco di percentuali, separate da ','.

Per ottenere la stessa ripartizione dell'esempio precedente, è sufficiente assegnare “--turn-default 20,70,10”

I valori verranno applicati agli archi successivi all'arco in esame, a partire da quello a destra (20%) fino a quello più a sinistra (10%).

Man mano che il numero di “archi successivi” (direzioni di svolta) possibili cambia per i diversi archi in esame, i valori vengono ricampionati (tanto più quanto il numero di "archi successivi" differisce dal numero di quelli predefiniti, dati dal comando "turn default").

Quindi, dato

--turn-default 20,70,10

un veicolo che utilizza un arco cui ne seguono due (anziché tre, come nell’esempio), userebbe l'arco a destra con una probabilità del 55%, quello a sinistra con il 45%.

Bisogna fare attenzione ai dati di input forniti: se si forniscono più percentuali di svolta sulla stessa manovra (ad esempio in più file), l'ultima definizione sostituirà le precedenti.

La definizione dei flussi (flow file) è la stessa del Duarouter, con una sola differenza: poiché non è noto dove il veicolo lascerà la rete (la route che utilizza viene calcolata casualmente), l'itinerario deve essere specificato usando l'attributo "from", e l'attributo "to" deve essere omesso:

<flow id="0" from="A" begin="0" end="3600" probability="0.5"/>

Un veicolo lascia la rete non appena arriva ad un arco di uscita (sink); poiché non tutte le reti hanno archi di uscita definiti, è possibile supportare un elenco di archi che devono essere dichiarati come sink con il comando di processing

STUDIO ED APPROFONDIMENTO DEL MODELLO DI TRAFFICO SUMO.

APPLICAZIONE ALLE CITTÀ DI PIOMBINO E VADO LIGURE 53

È inoltre possibile aggiungere le definizioni del sink a un file di turn (solo XML):

<turns>

... some further turning definitions as above ... <sink edges="<EDGE_ID>[ <EDGE_ID>]*"/> ... further sink definitions ...

</turns>

Se non si definiscono archi di uscita, il comando di processing

--accept-all-destinations

può essere usato per dichiarare tutti gli archi come possibili sink.