Jumping Jack Flash weblog

Statistiche traffico via Tiburtina (ROMA)

Posted in varie by jumpjack on 9 gennaio 2009

(articolo creato a gennaio 2009, aggiornato/corretto il 12 agosto 2023)

Grazie ai dati messi a disposizione da Octotelematics relativamente al traffico di tutta Roma (link a pagina sperimentale), sono stato in grado di produrre questa interessante immagine, che illustra l’andamento del traffico in ingresso/uscita da Roma lungo la via tiburtina, fino ad alcuni chilometri oltre il raccordo (NOTA del 2023: immagine con scritte sbagliate, v. di seguito nell’articolo quella corretta):

traffico roma-tivoli in 24 ore - 8-9 gennaio 2009

Per realizzare quest’immagine ho utilizzato uno script PHP sul server http://www.110mb.com; lo script scarica questa immagine , legge il colore dei pixel in vari punti lungo la via Tiburtina, e li converte in informazioni testuali.

Esempio di immagine:

I colori vengono letti in questi punti della tiburtina:

const segmentsA = [[443,365],[467,357],[486,351],[500,343],[507,333],
[516,325],[522,320],[534,311],[560,300],[594,294],
[621,285],[636,282],[653,280],[679,274],[697,268],
[714,263],[735,257],[756,253]]; // Corsia Nord (Tivoli-Roma)

const segmentsB = [[443,373],[467,362],[486,357],[501,348],[513,338],
[524,328],[530,320],[543,310],[562,304],[602,296],
[624,291],[638,288],[654,284],[677,281],[698,275],
[716,267],[735,262],[754,258]]; // Corsia sud (Roma-Tivoli)

Si tratta di due gruppi di 18 punti, un gruppo per ogni corsia; il primo punto di ognuno degli array è quello verso il centro dell’immagine (zona Verano), l’ultimo è quello a destra; qui sotto sono rappresentati come pallini bianchi i punti di segmentsA e neri quelli di segmentsB:

Sovrapponendo l’immagine a Google Earth per quanto riguarda la Tiburtina, si può capire meglio l’area coperta:

Le informazioni sul colore vengono inserite all’interno di una paginetta WAP (creata dinamicamente tramite PHP) facilmente fruibile tramite palmari/cellulari anche di fascia bassa, che ha questo aspetto:

Questa è la corrispondenza con la mappa (con alcuni colori cambiati a mano rispetto alla mappa originale, per far capire meglio):

Specificando stats=true nel suddetto URL, si ottiene che lo script, anziche’ limitarsi a mostrare i dati, li memorizza anche in due file leftstats.txt e rightstats.txt sul server http://spazio.110mb.com , in forma di una riga di una cinquantina di caratteri per ogni campionamento, con questo formato:

100;2009-01-08 00:54:24;RIGHT;G;A;G;B;G;A;R;G;G;A;A;A;A;A;A;R;G;A;
100;2009-01-08 01:04:25;RIGHT;G;A;B;B;G;A;R;G;G;A;A;A;A;A;A;R;G;A;
100;2009-01-08 01:14:27;RIGHT;G;A;B;B;G;G;R;G;A;G;A;A;A;A;A;?;G;G;
100;2009-01-08 01:24:28;RIGHT;G;A;B;B;G;G;A;B;G;G;?;A;A;?;?;A;A;G;
100;2009-01-08 01:34:30;RIGHT;G;?;B;B;G;G;A;B;G;G;?;?;?;?;?;A;A;B;
100;2009-01-08 01:44:31;RIGHT;G;A;B;G;G;G;A;G;G;G;?;G;G;?;?;A;R;B;
100;2009-01-08 01:54:33;RIGHT;?;?;?;?;?;G;A;G;G;G;?;G;G;?;?;A;G;B;
100;2009-01-08 02:04:34;RIGHT;?;?;?;?;?;G;A;G;B;G;?;N;N;?;?;R;G;B;
  • 100: costante (?)
  • data/ora: yyyyy-mm-gg hh:mm_ss
  • RIGHT/LEFT: indica se i dati sono per la colonna destra o sinistra della tabella nel file WAP, in modo da poter eventualmente memorizzare tutti i dati in un unico file; la colonna sinistra rappresenta la corsia Nord (verso Roma) ed è descritta nei sorgenti dall’array $segmentA, da $LeftStatsLine e dal file leftstats.txt; quella destra la corsia Sud (verso Tivoli) ($segmentB, $RightStatsLine, righstats.txt).
  • 18 valori secondo lo schema:
    • grigio = ? = no data
    • nero = N = 0 km/h
    • rosso = R = 10-30 km/h
    • arancio = A = 30-50 km/h
    • giallo = G = 50-70 km/h
    • blu= B = 70-90 km/h
    • verde = V = >90 km/h

I dati contenuti dei due file possono essere ritrasformati in dati-colore con excel, ottenendo un’immagine di questo tipo (versione correttamente commentata dell’immagine in apertura di articolo):

La striscia di sinistra rappresenta la corsia nord, quella di destra la corsia sud, ma il “verso di lettura” destra/sinitra delle due striscie è alternato e poco intuitivo, per via di un errore nel programma:

  • la striscia di sinistra rappresenta il senso di marcia Tivoli-Roma leggendola da sinistra a destra
  • la striscia di destra rappresenta il senso di marcia Roma-Tivoli leggendola da destra a sinistra.

I campionamenti sono stati effettuati una volta ogni 10 minuti. Per realizzare cio’, non essendo possibile eseguire sul server uno script php a loop infinito, è stato necessario far si’ che lo script PHP produca una pagina auto-aggiornante, mediante le tag WML “ontimer” e “timer value”: nella prima specifica l’indirizzo della pagina da caricare automaticamente dopo i secondi indicati nella seconda tag.

E’ stato quindi necessario mantenere un PC acceso per tutta la durata del campionamento (oltre 23 ore).

L’insieme apparentemente caotico e casuale di punti contiene in realtà informazioni interessanti, alcune delle quali evidenziate nell’immagine.

Il periodo preso in esame è da considerarsi “a basso traffico” in quanto relativo al “ponte” tra martedi’ 6 gennaio e sabato 10 gennaio.


Aggiornamento agosto 2023

Tutti i file e sorgenti elencati in questo articolo non sono più disponibili online su spazio.110mb.com perchè 110mb.com non esiste più. Ho però memorizzato in un nuovo sito i file che avevo memorizzato sul PC, anche se non funzionano più, perchè anche le pagine octotelematics a cui attingevano non sono più online.

4 Risposte

Subscribe to comments with RSS.

  1. sara said, on 19 dicembre 2010 at 12:31

    lo fai anche della via appia??:)

    • jumpjack said, on 19 dicembre 2010 at 12:52

      Ciao, era solo un esperimento che ho fatto anni fa, ma i dati che ho usato non erano ufficiali, quindi non so quanto puo’ essere affidabile quest’analisi. Ancora oggi Octotelematics mi pare non pubblichi ufficialmente i dati del traffico interno al raccordo.

    • jumpjack said, on 20 dicembre 2010 at 14:57

      Riesci a vedere questa immagine?

  2. […] Statistiche traffico via Tiburtina (ROMA) […]


Puoi inserire un commento qui sotto; diventerà visibile dopo la moderazione dell'amministratore