Multidimensional Analysis of Milano Mobility
-
Upload
tommaso-furlan -
Category
Technology
-
view
12 -
download
0
Transcript of Multidimensional Analysis of Milano Mobility
Corso di Laurea in Business Informatics
Private Cars Trajectories
A.A. 2016-2017
Tommaso Furlan
Emiliano Fuccio
Maurizio Deidda
Private cars trajectories 2
Sommario
Project objectives …………………………………………………………………………………………………….…… 3
1. Data understanding ………………………………………………………………………………………………… 4
2. Data Preparation …………………………………………………………………………………………………….... 5
2.1. Individuazione dei residenti e dei presunti visitatori ………………………….…… 5
2.1.1. Individuazione dei residenti ad alta mobilità …………………………………………… 5 2.1.2. Individuazione dei presunti visitatori …………………………………………………….… 6 2.1.3. Considerazioni sull’individuazione dei visitatori …………………………………….… 7
2.2. Creazione dei moving point …………………………………………………………………………… 7
3. Analysis of traffic flows ……………………………………………………………………………………….… 8
3.1. Density Map ……………………………………………………………………………..……….……………… 8
4. Statistics Analytics …………………………………………………………………………………………………. 10
4.1. Data Cleaning ………………………………………………………………………………………………..… 10 4.2. Residents Analysis ………………………………………………………………………………………..… 10 4.3. Visitors Analysis ……………………………………………………………………………………………… 25
5. Time slot analysis …………………………………………………………………………………………………… 33
5.1. Residents Analysis ……………………………………………………………………………………….… 36
5.2. Visitors Analysis ……………………………………………………………………………………………… 41
6. Start/End analysis …………………………………………………………………………………………..……… 40
6.1. Macrozones flow analysis ……………………………………………………………………….…… 43
6.2. Po Flows analysis ………………………………………………………………..……………………….… 46
7. Weather Analysis …………………………………………………………………………………………………… 46
7.1. Analysis specific days ……………………………………………………………………………….…… 52
7.2. Traffic flow analysis in the different city’s areas ………………….……………….… 55
7.3. Traffic flow analysis towards the airport ………………………………………..………… 60
Conclusions ……………………………………………………………………………………………………………….……… 69
Software & tools ……………………………………………………………………………………………………….…… 69
SQL Query ……………………………………………………………………………………………………………………….… 70
Private cars trajectories 3
Project objectives Obiettivo della relazione è illustrare un approfondito studio effettuato sui dati del traffico della città
di Milano e delle zone immediatamente limitrofe.
Il core dell’analisi è incentrato sul rispondere alle seguenti business requests:
Identificare i principali punti di interesse
Misurare l’intensità del traffico in base a singoli fattori:
o Zone
o Fasce orarie
o Condizioni metereologiche
Analizzare le principali statistiche del traffico
o Lunghezza
o Durata
o Velocità
Verificare eventuali differenze fra residenti e visitatori
Attraverso analisi multidimensionali ci sono fattori che hanno influenzato il traffico?
Giorni analizzati per i residenti: Domenica – Martedì – Venerdì – Sabato
Giorni analizzati per i turisti: Venerdì – Sabato
Private cars trajectories 4
1. Data understanding
Il dataset fa riferimento alle rilevazioni GPS relative agli spostamenti di auto private nella città di
Milano, nella settimana compresa fra il 1° aprile e il 7 aprile del 2007.
Il dataset si compone dei seguenti 6 attributi.
Attributo Specifica attributo
User_id Id univoco relativo ad una vettura
Timestamp Data e ora relativa alla rilevazione del
dispositivo GPS montato sulla vettura.
Day_of_week Specificazione del giorno della settimana
relativo alla rilevazione effettuata dal GPS
Time_slot Suddivisione in fasce orarie in base all’ora
registrata dal dispositivo GPS
Lat Latitudine della rilevazione
Lon Longitudine della rilevazione
Nello specifico la suddivisone in fasce orarie è stata fatta seguendo il seguente schema temporale:
00:00 – 05:59 = Night
06:00 – 08:59 = Early Morning
09:00 – 11:59 = Morning
12:00 – 13:59 = Lunch
14:00 – 17:59 = Afternoon
18:00 – 19:59 = Early Evening
20:00 – 21:59 = Dinner
22:00 – 23:59 = Late Evening
Le coordinate racchiudono un’aerea compresa fra latitudine 45.37 e 45.56, longitudine compresa
fra 9.05 e 9.28. Mentre dal punto di vista temporale sono state fatte rilevazioni GPS dalla mezza
notte di domenica 1 aprile alle 23:59 di sabato 7 aprile.
Private cars trajectories 5
2. Data preparation
Tutta la fase di pre-processing dei dati è stata sostanzialmente condotta con l’ausilio di Hive e
PgAdmin III.
In primo luogo è stata fatto un primo elementare preparation del dataset, parallelamente alla fase
di data understanding, Nel dettaglio essa ha coinvolto l'attributo timestamp contenente le
informazioni riguardanti la data e l'ora della rilevazione. Si è infatti dapprima provveduto a splittare
l'attributo in due distinti attributi contenenti rispettivamente la data e l'ora, ciò ha semplificato la
determinazione del giorno della settimana e in particolare la suddivisione in fasce orarie sopra
specificata.
2.1 Individuazione dei residenti e dei presunti visitatori
2.1.1 Individuazione dei residenti ad alta mobilità
L'individuazione dei residenti, sempre all'interno della fase di data preparation, è stata
sostanzialmente condotta su due livelli di indagine successivi, tutti con riferimento alla distribuzione
del numero di rilevazioni per singolo veicolo.
Al primo livello di indagine si è preferito continuare a lavorare direttamente sul database creando
una tabella all'interno della quale inserire il numero di rilevazioni per singolo veicolo (nell'appendice
si riporta la sequenza di query utilizzate per quest'operazione). I valori così ottenuti sono stati
rappresentati su un grafico a linee di Excel, dove sull'asse delle ordinate è riportato il numero di
rilevamenti mentre sull'asse delle ascisse è riportato l'user_id, al fine di osservarne la distribuzione.
Abbiamo identificato come soggetti scarsi utilizzatori dell’automobile o i soggetti presenti
occasionalmente, gli user_id aventi meno di 200 rilevazioni nella settimana; si ritengono gli stessi
come poco significativi al fine delle successive analisi sull'alta mobilità dell'area metropolitana.
0
200
400
600
800
1000
1200
1400
1600
11
17
66
16
88
72
61
20
45
06
78
19
52
54
76
98
71
89
69
6
98
44
83
00
00
4
48
14
13
18
97
71
54
93
74
35
12
13
76
33
30
75
31
17
62
71
13
16
68
30
47
10
46
11
71
59
36
4
11
54
84
11
04
23
15
56
71
39
56
41
02
77
5
16
42
14
74
67
7
31
81
84
74
11
61
73
54
6
18
54
43
11
68
26
20
21
60
17
08
12
17
46
85
Private cars trajectories 6
Importante premessa, sulla base della quale si sono scelti i giorni da analizzare, riguarda il fatto che
la settimana in questione è la settimana immediatamente a ridosso della festività della Pasqua
cattolica. La finestra temporale dei rilevamenti infatti racchiude oltre alla Domenica delle palme (1
Aprile) anche la vigilia di Pasqua (Sabato 7 Aprile). Informazione questa non di poco conto se
contestualizzata alla tradizionale cultura cattolica italiana.
Alla luce di questo e degli altri eventi presenti nella città durante la settimana, si è optato per l'analisi
dei seguenti giorni:
Domenica 1 Aprile.
Martedì 3 Aprile.
Venerdì 6 Aprile.
Sabato 7 Aprile.
Così facendo si è infatti selezionato 1 giorno festivo (1 Aprile), 1 giorno Lavorativo (3 Aprile), Il primo
giorno del tradizionale ponte di pasquetta (6 Aprile) e infine la vigilia di Pasqua (7 Aprile). Tale scelta
è inoltre supportata dai seguenti eventi in città.
Domenica 1 Aprile Inter-Parma.
Domenica 1 Aprile Duomo aperto di sera.
Martedì 3 Aprile Milan-Bayern Monaco.
Sabato 7 Aprile Milan-Empoli.
Si sottolinea inoltre che al fine di evitare forvianti tagli sui tragitti delle auto a cavallo della
mezzanotte si è preferito tenere conto dei rilevamenti ottenuti fino a 30 minuti prima della
mezzanotte del giorno x e dei rilevamenti ottenuti fino a 30 minuti dopo la mezzanotte del giorno
x+1 (sono riportate in appendice le query SQL).
Per quanto riguarda il secondo livello di indagine, sempre in tema di alta mobilità, si è
semplicemente replicato quanto fatto a livello settimanale sui giorni selezionati, impostando a 30 la
soglia minima di rilevazioni.
2.1.2 Individuazione dei presunti visitatori
L'idea di fondo alla base dell'individuazione dei presunti visitatori consiste sostanzialmente
nell'individuare tutti i veicoli presenti nell'area metropolitana nella finestra temporale che va dalle
13:00 di Venerdì fino alla mezzanotte di Sabato (poiché il dataset non copre i successivi giorni di
Domenica 8 e Lunedì 9) e non presenti nella finestra temporale che va dalla mezzanotte del Lunedì
2 Aprile fino alle 12:59 di Venerdì. Si è quindi operato come segue: partendo dal dataset iniziale si è
splittato lo stesso in due parti distinte, contenenti rispettivamente tutte le rilevazioni dalla
mezzanotte del Lunedì fino alle 13:00 del Venerdì (Split 1) e tutte le rilevazioni del Venerdì (dalle
Private cars trajectories 7
13:00 in poi) e quelle del Sabato (Split 2). A questo punto si sono eliminati da Split 2 tutti i record
aventi user_id contenuti in Split 1.
2.1.3 Considerazioni sull'individuazione dei visitatori
L'approccio appena descritto certamente non potrà considerarsi completo poiché in assenza dei dati
relativi alle giornate di Pasqua e Pasquetta non è stato possibile identificare con più precisione gli
effettivi user_id in uscita dalla città alla fine delle vacanze pasquali.
Si precisa inoltre che in Split 1 non si è tenuto in considerazione la giornata di Domenica 1 poiché si
ritiene che potesse contenere dei visitatori domenicali.
2.2 Creazione dei moving point
Lo step successivo, sempre rimanendo nell'ambito del data preparation, consente di accantonare la
visione fin qui adottata in termini di singoli punti a favore di una visione più dinamica poiché basata
sulle traiettorie. Questo passaggio, da una visione per punti ad una visione per traiettorie, è reso
possibile da un particolare tipo di oggetto denominato moving point (MP) che logicamente
potremmo immaginare come la ricostruzione in sequenza di tutti i rilevamenti effettuati per singolo
veicolo. La creazione dei MP avviene eseguendo una query dalla DMQL console di M-atlas
(nell'appendice si riporta la query utilizzata), all'interno della quale è possibile impostare una serie
di parametri che permettono di ottenere delle traiettorie che meglio rispecchino la reale situazione
che si sta analizzando. Uno di questi parametri è il MAX_TIME_GAP tramite il quale è possibile
impostare il periodo di tempo massimo intercorso tra due punti consecutivi affinché essi facciano
parte della stessa traiettoria. Sforato questo tempo massimo, espresso in secondi, la traiettoria
viene tagliata e se ne genera un'altra che avrà come punto di partenza il primo punto nella sequenza
temporale che non rispetta questo limite. La scelta del valore per questo parametro presenta
certamente delle criticità, un MAX_TIME_GAP troppo basso rischierebbe di scambiare, ad esempio,
una sosta per una fermata, mentre un MAX_TIME_GAP troppo elevato finirebbe per fondere diversi
spostamenti in uno solo. Coscienti quindi della delicatezza nella scelta di questo parametro si è
optato per impostare questo limite temporale a 3600s (1h), ritenuto un tempo ragionevole per
cogliere la maggior parte degli spostamenti.
Il Data Preparation è continuato con la fase di cleaning effettuata durante l’analisi delle principali
statistiche delle traiettorie (vedi capitolo 4)
Private cars trajectories 8
3. Analysis of traffic flows
La prima analisi comprenderà la creazione di una mappa delle densità per evidenziare quali siano le
zone di maggiore affluenza delle traiettorie. Per fare questo si è sfruttata la funzionalità di M-Atlas
Maps , creando griglie da 10000 m2 (10 km2), valore scelto in base alla superficie quadrata della città
(solo il comune di Milano 1575,65 km2).
I colori della densità andranno dal blu, che rappresenta le zone poco dense, al rosso, che
rappresenta le zone molto dense.
3.1 Density Map
Residents
Visitors
Private cars trajectories 9
Come è possibile notare dalle density map e dalla mappa dei principali punti di interesse le zone
caratterizzate da una maggiore densità di traffico sono quelle nell'immediato ridosso del centro di
Milano e le principali arterie stradali che circoscrivono l'intera area metropolitana. Di particolare
interesse risulta l'area a est della città in prossimità dell'aeroporto di Linate.
Private cars trajectories 10
4. Statistics Analysis
Per ogni traiettoria presente nel dataset è stato possibile estrapolare la durata, la lunghezza e la
velocità media per ogni tragitto, di ogni singolo mezzo, in ogni singolo giorno.
I risultati ottenuti hanno subito una operazione di data cleaning al fine di eliminare i Noise Point che
potrebbero influenzare i valori.
4.1 data cleaning
I risultati statistici ottenuti in seguito alla creazione dei MV in alcuni casi presentavano delle
anomalie. Talvolta ad esempio alcune traiettorie presentavano durate prossime alle 24h con
velocità media prossima allo zero e kilometri percorsi irrisori. Questa rilevazione si riferisce
presumibilmente ad un veicolo fermo in parcheggio e quindi non significativo ai fini dell'analisi sulla
mobilità.
Si sono quindi eliminate queste anomalie attraverso delle query SQL apposite (riportate in
appendice). Di seguito si riportano le tabelle riassuntive dei principali valori ottenuti.
4.2 Residents Analysis
Duration
Min Max AVG
Dom 0.367 368.483 40.56
Mart 0.3 367.983 44.731
Ven 0.25 325.25 43.681
Sab 0.55 290.467 43.098
Private cars trajectories 11
Dal pie chart emerge come il 78% degli utenti effettui spostamenti minori di 60 min.
Si noti come dalla tabella sembrerebbe emergere che i tragitti della domenica siano mediamente
più brevi. In realtà il grafico soprastante ci mostra come i valori medi siano influenzati fortemente
dal numero di soggetti in movimento, che risulta molto maggiore nelle giornate di martedì e venerdì.
1177
457
262
10956 44
1 3 2 1 1 0 1
Distribuzione delle durate Domenica
56%22%
12%
5% 3% 2%
Composizione delle durate Domenica
0-30
30-60
60-90
90-120
120-150
150-180
180-210
210-240
240-270
270-300
300-330
Private cars trajectories 12
Dal pie chart emerge come il 76% degli utenti effettua spostamenti minori di 60 min, a differenza
però di quanto accadeva nella domenica, gli spostamenti con durata inferiore ai 30 min sono calati
del 6% rispetto alla Domenica mentre gli spostamenti compresi tra i 30 e i 60 min sono cresciuti del
4%.
2169
1136
467300
184 1036 2 2 3 0 1 1
Distribuzione delle durate Martedì
50%
26%
11%
7%4% 2%
Composizione delle durate Martedì
0-30
30-60
60-90
90-120
120-150
150-180
180-210
210-240
240-270
270-300
300-330
Private cars trajectories 13
Dal pie chart emerge come il 75% degli utenti effettua spostamenti minori di 60 min, a differenza
però di quanto accadeva nella domenica, gli spostamenti con durata inferiore ai 30 min sono calati
del 2% mentre gli spostamenti compresi tra i 30 e i 60 min sono cresciuti del 1% con un totale quindi
di un decremento del 3% sui tragitti inferiori ad 1 ora.
0-30 30-60 60-90 90-120 120-150 150-180 180-210 210-240 240-270 270-300 300-330
2207
852
447276
156 1277 2 2 1 2
Distribuzione delle durate Venerdi
54%
21%
11%
7%
4% 3%
Composizione delle durate Venerdi
0-30
30-60
60-90
90-120
120-150
150-180
180-210
210-240
240-270
270-300
300-330
Private cars trajectories 14
Dal pie chart emerge come il 74% degli utenti effettua spostamenti minori di 60 min, a differenza
però di quanto accadeva nella domenica, gli spostamenti con durata inferiore ai 30 min sono calati
del 1% mentre gli spostamenti compresi tra i 30 e i 60 min sono diminuiti del 3% con un totale quindi
di un decremento del 4% sui tragitti inferiori ad 1 ora.
Come sintesi generale sembrerebbe emergere che nel weekend la percentuale di tragitti con durata
inferiore ai 30 minuti si attesti intorno al 55% (sembrerebbe esserci una crescita graduale del 1%
passando dal Venerdì al Sabato fino alla Domenica) mentre nei primi giorni della settimana questa
percentuale si attesta intorno al 50%. Andamento opposto ha invece la percentuale dei tragitti
compresi tra i 30 e i 60 min. Se nel weekend si ha 22% (Domenica), 21% (Venerdì) e 19% (Sabato),
0-30 30-60 60-90 90-120 120-150 150-180 180-210 210-240 240-270 270-300
1293
436
275
15793 65
4 5 0 1
Distribuzione delle durate Sabato
55%
19%
12%
7%
4% 3%
Composizione delle durate Sabato
0-30
30-60
60-90
90-120
120-150
150-180
180-210
210-240
240-270
270-300
Private cars trajectories 15
durante la settimana (Martedì) si ha una crescita di almeno il 4%. Gli spostamenti superiori ad 1 ora
mantengono invece un andamento lineare durante tutta la settimana.
Speed
Min Max AVG
Dom 5.002 136.051 31.643
Mart 5.01 133.097 27.782
Ven 5.02 125.157 28.907
Sab 5.032 137.392 30.983
Si nota subito come molti più soggetti si spostano in auto il martedi e venerdi ma con velocità
mediamente più basse.
244
556
417
287
193
136103
7238 18 18 13 5 2
Distribuzione delle velocità Domenica
Private cars trajectories 16
Dal pie chart emerge come il 58% degli utenti viaggi ad una velocità media inferiore ai 30 Km/h,
percentuale che diventa ancor più significativa se si considera il numero degli utenti che viaggiano
ad una velocità media inferiore ai 50 Km/h (limite imposto dal codice stradale per le strade urbane)
che sfiora circa l'81%.
12%
26%
20%
14%
9%
6%5% 3% 2%
Composizione delle velocità Domenica
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
601
1268
881
590
359250
173110 74 38 15 9 3 3
Distribuzione delle velocità Martedì
Private cars trajectories 17
Dal pie chart emerge come il 63% degli utenti viaggi ad una velocità media inferiore ai 30 Km/h,
percentuale che diventa ancor più significativa se si considera il numero degli utenti che viaggiano
ad una velocità media inferiore ai 50 Km/h (limite imposto dal codice stradale per le strade urbane)
che sfiora circa l'84%.
Emerge inoltre come rispetto alla domenica sia cresciuta del 5% la percentuale utenti che viaggia
ad una velocità media inferiore ai 30 Km/h e del 3% la percentuale di utenti che viaggia a velocità
medie molto basse (fino ai 10 Km/h).
14%
29%
20%
13%
8%
6%4% 3%
Composizione delle velocità Martedi
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
Private cars trajectories 18
Dal pie chart emerge come il 59% degli utenti viaggi ad una velocità media inferiore ai 30 Km/h,
percentuale che diventa ancor più significativa se si considera il numero degli utenti che viaggiano
ad una velocità media inferiore ai 50 Km/h (limite imposto dal codice stradale per le strade urbane)
che sfiora circa l'82%.
Emerge inoltre come rispetto alla domenica sia cresciuta del 1% la percentuale utenti che viaggia
ad una velocità media inferiore ai 30 Km/h e del 4% la percentuale di utenti che viaggia a velocità
medie molto basse (fino ai 10 Km/h).
601
1102
528 507
368
228174
12475
31 19 13 9
Distribuzione delle velocità Venerdì
16%
29%
14%
13%
10%
6%5% 3%2%
Composizione delle velocità Venerdì
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
Private cars trajectories 19
Dal pie chart emerge come il 61% degli utenti viaggi ad una velocità media inferiore ai 30 Km/h,
percentuale che diventa ancor più significativa se si considera il numero degli utenti che viaggiano
ad una velocità media inferiore ai 50 Km/h (limite imposto dal codice stradale per le strade urbane)
che sfiora circa l'81%. Emerge inoltre come rispetto alla domenica sia cresciuta del 3% la percentuale
utenti che viaggia ad una velocità media inferiore ai 30 Km/h e del 2% la percentuale di utenti che
viaggia a velocità medie molto basse (fino ai 10 Km/h).
358
592
482
290
169124 112
60 5634 26 13 10 3
Distribuzione delle velocità Sabato
15%
25%
21%
13%
7%
5%5% 3%2%
Composizione delle velocità Sabato
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
Private cars trajectories 20
Non emergono significative differenze tra le velocità medie registrate nel weekend rispetto a quelle
registrate durante la settimana, si può infatti ipotizzare come ciò sia fortemente influenzato dal
fatto che si tratti di rilevamenti per lo più urbani e quindi fortemente caratterizzati dal traffico
cittadino.
Length
Min Max AVG
Dom 0.047 152.287 16.193
Mart 0.059 139.366 15.719
Ven 0.029 126.646 15.28
Sab 0.108 125.017 15.823
Si nota subito come molti più soggetti si spostano in auto il martedi e venerdi ma con tragitti
mediamente più corti.
871
717
336
125
37 10 6 2 3 3 2 1 0 1
Distribuzione delle lunghezze Domenica
Private cars trajectories 21
Dal pie chart emerge come il 75% degli utenti effettua spostamenti inferiore ai 20 Km, quindi molto
brevi. Dato ancor più significativo se si considerano gli spostamenti fino ai 30 Km, in tal caso si può
infatti affermare che ben il 91% degli utenti effettua spostamenti inferiori ai 30 Km.
41%
34%
16%
6% 2%
Composizione delle lunghezze Domenica
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
1576 1605
712
303
9836 20 13 3 3 2 2 0 1
Distribuzione delle lunghezze Martedì
Private cars trajectories 22
Dal pie chart emerge come il 73% degli utenti effettua spostamenti inferiore ai 20 Km, quindi molto
brevi. Dato ancor più significativo se si considerano gli spostamenti fino ai 30 Km, in tal caso si può
infatti affermare che ben l' 89% degli utenti effettua spostamenti inferiori ai 30 Km. Si nota inoltre
come gli spostamenti brevissimi (inferiori ai 10 km) scendono del 5% rispetto alla Domenica mentre
gli spostamenti molto brevi (inferiori ai 20 Km) crescono dei 3%.
36%
37%
16%
7% 2%
Composizione delle lunghezze Martedì
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
1491 1502
637
287
80 32 24 13 6 3 2 1 1
Distribuzione delle lunghezze Venerdì
Private cars trajectories 23
Si può notare come il martedì e il venerdì presentano uguale composizione e si suppone che ciò
avvenga del tutto casualmente.
36%
37%
16%
7%2%
Composizione delle lunghezze Venerdì
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
913
732
353
202
6328 16 13 2 3 2 1 1
Distribuzione delle lunghezze Sabato
Private cars trajectories 24
Dal pie chart emerge come il 70% degli utenti effettua spostamenti inferiore ai 20 Km, quindi molto
brevi. Dato ancor più significativo se si considerano gli spostamenti fino ai 30 Km, in tal caso si può
infatti affermare che ben l' 85% degli utenti effettua spostamenti inferiori ai 30 Km. Si nota inoltre
come gli spostamenti brevissimi (inferiori ai 10 km) scendono del 2% rispetto alla Domenica mentre
gli spostamenti molto brevi (inferiori ai 20 Km) scendono del 3%.
In sintesi si può dire che i tragitti corti (0-20 Km) e i tragitti lunghi (>20 Km) presentano andamenti
opposti. Nello specifico avremo che per i primi da Domenica a Sabato le percentuali presentano un
andamento decrescente (75%, 73%, 73%, 70%) mentre per i secondi, come si può intuire,
l'andamento sarà crescente.
4.3 Visitors Analysis
Nell’analisi delle statistiche dei visitatori, seppur su una mole di dati abbastanza differente
(#tragitti_residenti VS #tragitti_turisti), si è cercato di confrontare i dati per estrapolare eventuali
differenze nei comportamenti delle due categorie di soggetti considerati.
Non è stato invece possibile fare un vero confronto tra Venerdì e Sabato, poiché come visto in
precedenza il primo giorno avrà solo rilevazioni relative a metà giornata. Chiaramente questa è una
limitazione ai fini dell’analisi che stiamo facendo, ma s’è volutamente fatto così considerando più
veritiero il fatto che nel giorno precedente al week end di Pasqua, prima delle 13:00 in un giorno
lavorativo non ci sarebbero state grosse rilevazioni di visitatori (verificato poi in fase di data
preparation).
39%
31%
15%
9%2%
Composizione delle lunghezze Sabato
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
Private cars trajectories 25
Per tanto ci limiteremo a fare una breve illustrazione di duration – speed – length di ogni singolo
giorno, rimandando all’analisi delle fasce orarie maggiori approfondimenti.
Duration
0-30 30-60 60-90 90-120 120-150 150-180
454
7942
13 3 3
Distribuzione delle durate dei visitatori Venerdì
76%
13%
7%
2% 1%1%
Composizione delle durate dei visitatori Venerdì
0-30
30-60
60-90
90-120
120-150
150-180
Private cars trajectories 26
Dal pie chart di Venerdì, emerge come l’ 89% degli utenti effettua spostamenti minori di 60 minuti,
suddivisi in 76% inferiori alla mezz’ora e considerando questi come i turisti che preferiscono
utilizzare mezzi alternativi come la metropolitana e quindi la durata del loro tragitto è limitata al
raggiungere le stazioni e trovare un parcheggio. Il 13% invece sarà per quei viaggi all’interno
dell’intervallo temporale che va da mezz’ora all’ora di percorrenza, questi saranno identificati come
i turisti che preferiscono muoversi in automobile ma sono rallentati dal traffico cittadino.
0-30 30-60 60-90 90-120 120-150 150-180
1395
227
11347 26 10
Distribuzione delle dei visitatori Sabato
77%
12%
6%
3% 1% 1%
Composizione delle durate dei visitatori Sabato
0-30
30-60
60-90
90-120
120-150
150-180
Private cars trajectories 27
Il Sabato non differisce molto, variando le percentuali di un surplus dell’1% nella fascia 0 – 30 minuti,
e diminuendo sempre di un punto percentuale invece nella fascia 30 – 60 minuti.
Si può facilmente notare come le percentuali dei viaggi brevi sia schizzata in alto in confronto ai dati
dei residenti, dove avevamo rispettivamente:
Residenti Giorno Visitatori
0 – 30: 54%
30 – 60: 21% Venerdì
0 – 30: 76%
30 – 60: 13%
0 – 30: 55%
30 – 60: 19% Sabato
0 – 30: 77%
30 – 60: 12%
Ciò evidenzia ulteriormente come i turisti preferiscano non utilizzare l’automobile per muoversi in
città.
Speed
41
102
88
64
41 45
2924
3343
35
24 21
4
Distribuzione delle velocità dei visitatori Venerdì
Private cars trajectories 28
7%
17%
15%
11%7%8%
5%
4%
5%
7%6% 4% 3%
Composizione delle velocità dei visitatori Venerdì
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
126
290
253
180
133115
92 90102 93
124 116
66
2810
Distribuzione delle velocità dei visitatori Sabato
Private cars trajectories 29
Dal pie chart del Venerdì emerge come il 39% dei visitatori abbia una velocità media sotto i 30Km/h,
mentre si sale fino al 57% se si considera un intervallo più largo fino al limite di velocità dei centri
urbani imposto a 50Km/h.
Anche in questo caso Sabato non differisce molto, avendo rilevazioni a velocità medie comprese fra
0 – 30 Km/h del 40%, salendo al 53% se si considera fino a 50 Km/h.
Residenti Giorno Visitatori
0 – 30: 59%
0 – 50: 82%
+50: 18%
Venerdì
0 – 30: 39%
0 – 50: 57%
+50: 43%
0 – 30: 61%
0 – 50: 81%
+50: 19%
Sabato
0 – 30: 40%
0 – 50: 53%
+50: 47%
Si nota subito come ci sia una grossa diminuzione delle percentuali di chi resta nei limiti di velocità
fra residenti e visitatori. Questo si suppone sia dovuto a molteplici cause, tra cui quella che i visitatori
utilizzino prevalentemente le strade esterne alla città (come si può vedere nelle Density Map) per
raggiungere quei parcheggi appena fuori dal centro urbano ma collegati da metropolitana e treni
della linea TrenoNord al centro cittadino.
7%
16%
14%
10%7%
6%5%
5%
6%
5%7%
6% 4%
1%
Composizione delle velocità dei visitatori Sabato
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
90-100
100-110
Private cars trajectories 30
Non si sono registrati picchi di percentuali per una determinata fascia di velocità
Length
0-10 10-20 20-30 30-40 40-50 50-60 60-70 70-80
193203
112
66
133 3 1
Distribuzione delle lunghezze dei visitatori Venerdì
32%
34%
19%
11%2%
Composizione delle lunghezze dei visitatori Venerdì
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
Private cars trajectories 31
Dal pie chart del Venerdì emerge come il 66% dei visitatori effettui viaggi inferiori ai 20 Km,
raggiungendo l’85% se si considerano i viaggi fino a 30 Km.
Sabato non differisce, avendo viaggi <20Km il 67% e <30Km con percentuale del 85%.
0-10 10-20 20-30 30-40 40-50 50-60 60-70 70-80 80-90
603 621
321
219
385 5 3 3
Distribuzione delle lunghezze dei visitatori Sabato
33%
34%
18%
12%2%
Composizione delle lunghezze dei visitatori Sabato
0-10
10-20
20-30
30-40
40-50
50-60
60-70
70-80
80-90
Private cars trajectories 32
Residenti Giorno Visitatori
0 – 20: 73%
0 – 30: 89% Venerdì
0 – 20: 66%
0 – 30: 85%
0 – 20: 70%
0 – 30: 85% Sabato
0 – 20: 67%
0 – 30: 85%
Al contrario delle statistiche viste fino ad ora, la lunghezza dei tragitti resta invariata fra residenti e
visitatori, poiché entrambi sono influenzati da limiti di velocità e traffico. In ogni caso si registra,
come da grafico, una piccolissima diminuzione fra residenti e visitatori, talmente bassa da non
essere considerata significativa.
Private cars trajectories 33
5. Time slot analysis
A questo punto si è deciso di entrare maggiormente nello specifico dividendo ognuno dei quattro
giorni analizzati in 8 fasce orarie come segue:
00:00 – 05:59 = Night
06:00 – 08:59 = Early Morning
09:00 – 11:59 = Morning
12:00 – 13:59 = Lunch
14:00 – 17:59 = Afternoon
18:00 – 19:59 = Early Evening
20:00 – 21:59 = Dinner
22:00 – 23:59 = Late Evening
5.1 Residents Analysis
10%
13%
15%
12%
29%
10%
8% 3%
Composizione del traffico residenti Domenica
Night
Early Morning
Morning
Lunch
Afternoon
Early Evening
Dinner
Late Evening
Private cars trajectories 34
Fascia Numero traiettorie
Night 213
Early Morning
276
Morning 319
Lunch 261
Afternoon 603
Early Evening
199
Dinner 169
Late Evening 65
Fascia Numero traiettorie
Night 715
Early Morning
750
Morning 570
Lunch 438
Afternoon 1186
Early Evening
318
Dinner 265
Late Evening 99
17%
17%
13%10%
27%
8%6% 2%
Composizione del traffico residenti Martedì
Night
Early Morning
Morning
Lunch
Afternoon
Early Evening
Dinner
Late Evening
Private cars trajectories 35
Fascia Numero traiettorie
Night 634
Early Morning
708
Morning 569
Lunch 449
Afternoon 956
Early Evening 323
Dinner 236
Late Evening 137
16%
18%
14%11%
24%
8%6% 3%
Composizione del traffico residenti Venerdì
Night
Early Morning
Morning
Lunch
Afternoon
Early Evening
Dinner
Late Evening
Private cars trajectories 36
Fascia Numero traiettorie
Night 252
Early Morning
350
Morning 351
Lunch 273
Afternoon 564
Early Evening
168
Dinner 197
Late Evening 115
Le fasce orarie così formate presentano una criticità dovuta alla differente ampiezza delle stesse. Al fine
quindi di eliminare l'influenza di questa criticità si è "normalizzato" il numero di traiettorie per fascia oraria
dividendo ciascun valore per il numero di ore che compongono la fascia oraria di riferimento. I valori così
ottenuti sono stati riepilogati nel seguente grafico a linee che evidenzia l'intensità del traffico per singola
fascia oraria.
11%
15%
16%
12%
25%
7%
9% 5%
Composizione del traffico residenti Sabato
Night
Early Morning
Morning
Lunch
Afternoon
Early Evening
Dinner
Late Evening
Private cars trajectories 37
La tabella sottostante il grafico mostra come nella fascia Night (00:00-06:00) nelle giornate di Domenica e
Sabato si riscontrano dei picchi negativi se confrontati con gli stessi dati del Martedì e del Venerdì. Si ipotizza
pertanto che l'evidente differenza sia attribuibile al flusso dei lavoratori notturni o della primissima
mattinata, mentre Domenica e Sabato si smentisce l'ipotesi legata ai rientri notturni dalle serate mondane
Milanesi.
Una considerazione di carattere generale si può vedere come nelle giornate di Domenica e Sabato si ha
sempre un numero di viaggi medi per fasce più basse, dovuto al fatto che il numero di traiettorie nei giorni
del weekend è più basso.
Si può notare inoltre come la somma dei valori tra le fasce orarie di early morning e morning si avvicini molto
alla somma dei valori tra afternoon e early evening, per quanto riguarda i giorni lavorativi. Questo fenomeno
può essere definito come "ciclo lavorativo".
NightEarly
MorningMorning Lunch Afternoon
EarlyEvening
DinnerLate
Evening
Domenica 35,5 92 106,333333 130,5 150,75 99,5 84,5 32,5
Martedì 119,166667 250 190 219 296,5 159 132,5 49,5
Venerdì 105,666667 236 189,666667 224,5 239 161,5 118 68,5
Sabato 42 116,666667 117 136,5 141 84 98,5 57,5
0
50
100
150
200
250
300
350
Co
rse
me
die
ora
rie
pe
r fa
sce
Intesità di traffico per fasce orarie
Private cars trajectories 38
5.2 Visitors Analysis
Fascia Numero traiettorie
Night 0
Early Morning
0
Morning 0
Lunch 65
Afternoon 266
Early Evening
129
Dinner 89
Late Evening
45
0%0% 0%
11%
45%22%
15%
7%
Composizione del traffico visitatori Venerdì
Night
Early Morning
Morning
Lunch
Afternoon
Early Evening
Dinner
Late Evening
Private cars trajectories 39
Fascia Numero traiettorie
Night 164
Early Morning
307
Morning 292
Lunch 227
Afternoon 459
Early Evening
143
Dinner 146
Late Evening
80
9%
17%
16%
13%
25%
8%8%
4%
Composizione del traffico visitatori Sabato
Night
Early Morning
Morning
Lunch
Afternoon
Early Evening
Dinner
Late Evening
Private cars trajectories 40
6. Start/End analysis
6.1 Macrozones flow analysis
Si è suddivisa l'intera area di rilevazioni :
Centro: Area geografica incastonata all'interno della cerchia dei bastioni (perimetro giallo).
Macro aree limitrofe (compreso tra il perimetro in giallo e le principali arterie stradali).
Periferie e aeroporti (area geografica esterna e a cavallo del perimetro in rosso).
Private cars trajectories 41
Al fine di analizzare l'affluenza a queste macro aree si sono utilizzate le O/D Matrix creando un
poligono per ognuno di esse e unendo poi il tutto in un'unica tabella utilizzando la query SQL
riportata in appendice. Nello specifico ci si è concentrati sul numero di traiettorie da e verso ogni
area.
Private cars trajectories 42
Private cars trajectories 43
Le due O/D matrix rappresentano il Martedì e la Domenica, come si può notare per le partenze dal
centro (area scelta per la presenza dei principali punti d'interesse) i risultati ottenuti sono pressoché
equivalenti, cioè denota, ancora una volta, come non vi siano grosse differenze fra giorni festivi e
giorni feriali (eccezion fatta per il numero di traiettorie).
6.2 PO flows analysis
Da un'esplorazione specifica sui punti di maggior interesse della città di Milano si sono ritenuti quelli
di maggior affluenza i seguenti:
Po Rif. Po Rif. Piazza Duomo 1 Zona Navigli 14
Galleria Vittorio Emanuele 1 Carcere San Vittore 15
Palazzo Reale 1 Basilica Sant'Ambrogio 16
Teatro Scala 1 Università Cattolica 17
Piazza Mercanti 1 Biblioteca Ambrosiana 18
Castello sforzesco 2 Politecnico 19
Parco Sempione 3 Porta Ticinese 20
Pinacoteca Brera 4 Corso Bueno s Aires 21
Orto Botanico 5 Basilica San lorenzo 22
Stadio Giuseppe Meazza 6 Porta Romana 23
Cimitero monumentale 8 Grattacielo Pirelli 24
Università Bocconi 9 Bosco Verticale 25
Stazione Ferroviaria Centrale 10 Museo Nazionale della Scienza 26
Aereoporto Linate 11 Chiesa San Sepolcro 27
Direzione Aereoporto Malpensa 12 Galleria Arte Moderna 28
Ospedale 13
Private cars trajectories 44
Al fine di analizzare l'affluenza a questi punti di interesse si sono utilizzate le O/D Matrix creando un
poligono per ognuno di essi e unendo poi il tutto in un'unica tabella utilizzando la query SQL
riportata in appendice. Nello specifico ci si è concentrati sul numero di traiettorie con partenza un
qualsiasi punto dell'area metropolitana e con punto di arrivo uno di questi PO.
Non tutti i PO sono presenti sulla O/D Matrix, probabilmente a causa della difficoltà nel parcheggiare
in centro, nonostante dalle density map e dai moving point emerga un alto flusso di traffico.
PO Numero di arrivi
Direzione Malpensa 158
Aeroporto Linate 49
Piazza Duomo 9
Ospedale 4
Zona Navigli 3
Corso Buenos Aires 3
Bosco Verticale 2
Stazione Centrale 1
Porta Ticinese 1
Museo Arte Moderna 1
San Vittore 1
Si tenga in considerazione tuttavia che valori riferiti ai punti di interesse denominati Direzione
Malpensa e Aeroporto Linate sono fortemente influenzati dall'effetto bordo.
Private cars trajectories 45
A conferma di questa teoria si può annoverare anche l'assenza di cluster end nel centro storico della
città.
Questo trend viene rispettato anche nei restanti giorni analizzati (Martedì, Venerdì e Sabato) sia che
si tratti di residenti che di presunti visitatori.
Private cars trajectories 46
7. Weather Analysis
Come analisi finale si è deciso di considerare il meteo che tipicamente influenza in larga maniera il
traffico di una città metropolitana come Milano, effettuando così un’analisi multidimensionale
considerando esso in relazione al numero di traiettorie per ogni fascia oraria (in questo caso
considerando ora per ora).
Le condizioni metereologiche riscontrate durante la settimana possono appartenere ad una delle
seguenti categorie riportate in tabella:
Eventi Metereologici Sereno Molto Nuvoloso Pioggia Leggera
Nubi Sparse Foschia Pioggia Forte
Parzialmente Nuvoloso Nebbia Temporale
Qui di seguito il resoconto settimanale sul meteo cittadino diviso per fascia oraria, il quale ci permetterà di individuare i giorni che spiccano e quindi da analizzare più approfonditamente.
Dom Lun Mar Mer Gio Ven Sab
23:30 - 00:59
Pioggia leggera
Molto Nuvoloso
Parzialmente nuvoloso
Nubi sparse
Molto nuvoloso
Sereno Sereno
01:00 - 01:59
Pioggia leggera
Molto Nuvoloso
Sereno Nubi
sparse Molto
nuvoloso Sereno Sereno
02:00 - 02:59
Pioggia leggera
Molto Nuvoloso
Sereno Pioggia Leggera
Molto nuvoloso
Sereno Sereno
03:00 - 03:59
Pioggia leggera
Molto Nuvoloso
Sereno Pioggia Leggera
Molto nuvoloso
Sereno Sereno
04:00 - 04:59
Pioggia leggera
Nubi Sparse Nebbia Pioggia Leggera
Molto nuvoloso
Sereno Sereno
05:00 - 05:59
Pioggia leggera
Molto Nuvoloso
Nebbia Pioggia Leggera
Molto nuvoloso
Sereno Nebbia
06:00 - 06:59
Pioggia leggera
Nubi Sparse Nebbia Pioggia Leggera
Parzialmente nuvoloso
Sereno Nebbia
07:00 - 07:59
Pioggia leggera
Nubi Sparse Nebbia Pioggia Leggera
Parzialmente nuvoloso
Sereno Nebbia
08:00 - 08:59
Pioggia leggera
Sereno Nubi Sparse Pioggia Leggera
Nubi sparse Foschia Sereno
09:00 - 09:59
Coperto Sereno Nubi Sparse Molto
Nuvoloso Nubi sparse Sereno Sereno
10:00 - 10:59
Molto Nuvoloso
Sereno Nubi Sparse Molto
nuvoloso Nubi sparse Sereno Sereno
Private cars trajectories 47
11:00 - 11:59
Nubi sparse
Parzialmente nuvoloso
Nubi Sparse Molto
nuvoloso Nubi sparse Sereno Sereno
12:00 - 12:59
Nubi sparse
Nubi Sparse Nubi Sparse Molto
nuvoloso Parzialmente
nuvoloso Sereno Sereno
13:00- 13:59
Nubi sparse
Nubi Sparse Nubi Sparse Molto
nuvoloso Parzialmente
nuvoloso Sereno Sereno
14:00 - 14:59
Nubi sparse
Nubi Sparse Nubi Sparse Molto
nuvoloso Nubi sparse Foschia Sereno
15:00 - 15:59
Nubi sparse
Nubi Sparse Nubi Sparse Nubi
sparse Parzialmente
nuvoloso Sereno Sereno
16:00 - 16:59
Nubi sparse
Nubi Sparse Nubi Sparse Nubi
sparse Parzialmente
nuvoloso Sereno Sereno
17:00 - 17:59
Nubi sparse
Nubi Sparse Nubi Sparse Nubi
sparse Parzialmente
nuvoloso Sereno Sereno
18:00 - 18:59
Coperto Parzialmente
nuvoloso Nubi Sparse
Nubi sparse
Parzialmente nuvoloso
Sereno Sereno
19:00 - 19:59
Pioggia Leggera
Nubi Sparse Nubi Sparse Nubi
sparse Parzialmente
nuvoloso Sereno
Parzialmente nuvoloso
20:00 - 20:59
Pioggia Leggera
Nubi Sparse Temporali Nubi
sparse Parzialmente
nuvoloso Foschia
Parzialmente nuvoloso
21:00 - 21:59
Pioggia Leggera
Sereno Nubi Sparse Nubi
sparse Sereno Sereno Sereno
22:00 - 22:59
Molto Nuvoloso
Sereno Nubi Sparse Sereno Sereno Sereno Sereno
23:00 - 00:30
Molto Nuvoloso
Sereno Nubi Sparse Nubi
sparse Sereno Sereno Sereno
Dalla precedente tabella si è deciso di prendere in considerazione per ulteriori analisi Martedì e
Venerdì. Questa scelta è frutto delle seguenti considerazioni:
Mercoledì: nonostante sia un giorno in cui piove dalle 2 alle 9 della mattina e quindi
interessante, s’è considerato invece il Martedì seppur privo di precipitazioni ma in cui sono
presenti fenomeni di nebbia fin dalla mattina e cielo nuvoloso fino a sera (alle 20 c’è il
temporale), condizioni che potrebbero spingere l’automobilista a muoversi in macchina
anziché con altri mezzi.
Domenica: anche in questo caso nonostante la presenza di diverse precipitazioni, non si è
potuto considerarla a causa della differenza di traiettorie fra giorni festivi (week end e giorni
pre-pasquali) e feriali che potrebbe non rendere pesato un eventuale confronto (es: la
Domenica con Martedì). Inoltre essendo il traffico del Sabato caratterizzato dal fatto che il
giorno dopo è Pasqua, c’è il rischio di non rendere l’analisi veritiera essendoci traiettorie
influenzate dalla festività. Per cui la Domenica è stata scartata.
Scegliamo quindi Martedì come giorno feriale in cui il meteo è avverso e si può supporre che gli
abitanti preferiscano usare l’automobile, e il Venerdì dove invece avremo prevalenza di cielo sereno
tutto il giorno. Sono stati scelti appositamente entrambi i giorni come feriali per avere omogeneità
nell’analisi.
Private cars trajectories 48
Come si può notare dalla tabella, i due estremi delle fasce orarie sono 23:30 – 00:59 e 23:00 – 00:30
anziché 00:00 – 00:59 e 23:00 – 23:59, poiché come già detto in precedenza si sono considerati per
ogni giorno anche le traiettorie con inizio/fine nella mezz’ora precedente/antecedente il giorno
considerato, così da poter avere anche le traiettorie a cavallo di diversi giorni.
7.1 Analysis specific days
Nel grafico è riportato il numero delle traiettorie per ogni fascia oraria dei giorni analizzati, che
verranno confrontati con il valore medio settimanale di occorrenze per la medesima fascia.
(La tabella con i relativi valori è stata riportata nel paragrafo 7.2)
Il trend generico segue l’andamento previsto con picchi di traffico negli orari mattutini e pomeridiani
coincidenti con l’andata e il ritorno da lavoro, e abbassamento delle stesse negli orari notturni e di
ufficio.
Nello specifico si può rilevare una lieve influenza da parte del meteo sul numero di traiettorie,
notando come il Martedì sia spesso superiore al Venerdì, soprattutto nelle fasce 05:00 – 05:59 e
0
50
100
150
200
250
300
350
400
450
Martedì Venerdì Media Settimanale
Private cars trajectories 49
16:00 – 16:59 dove avvengono dei picchi probabilmente a causa della nebbia e nuvole sparse il
Martedì e del cielo sempre sereno il Venerdì.
In merito al valore medio settimanale, si nota subito come il Martedì abbia un andamento molto
simile ad esso mentre il Venerdì si aggira sempre su valori più bassi. Questo è dovuto anche al fatto
che in una settimana che presenta un clima sempre incerto, nell’unico giorno in cui è presente
interamente cielo sereno, il tasso di utilizzo dell’automobile scende drasticamente.
7.1.1 Martedì
Nell’arco della giornata si registrano temperature massime di 19° dalle 15 alle 17, mentre le minime saranno nelle prime ore del mattino con 7°.
In merito alle condizioni atmosferiche, le temperature sono salite nel momento in cui è scesa la nebbia e sono ri-scese alle 20 quando è scoppiato il temporale.
L’umidità è stata registrata con un massimo di 96.5% e un minimo di 54%.
I picchi massimi sono in concomitanza anch’essi della nebbia, e “casualmente” scendono con il calare della stessa.
0,02,04,06,08,0
10,012,014,016,018,020,0
23
:30
- 0
0:5
90
1:0
0 -
01
:59
02
:00
- 0
2:5
90
3:0
0 -
03
:59
04
:00
- 0
4:5
90
5:0
0 -
05
:59
06
:00
- 0
6:5
90
7:0
0 -
07
:59
08
:00
- 0
8:5
90
9:0
0 -
09
:59
10
:00
- 1
0:5
91
1:0
0 -
11
:59
12
:00
- 1
2:5
91
3:0
0-
13
:59
14
:00
- 1
4:5
91
5:0
0 -
15
:59
16
:00
- 1
6:5
91
7:0
0 -
17
:59
18
:00
- 1
8:5
91
9:0
0 -
19
:59
20
:00
- 2
0:5
92
1:0
0 -
21
:59
22
:00
- 2
2:5
92
3:0
0 -
00
:30
Temperatura
0,0
20,0
40,0
60,0
80,0
100,0
120,0
23
:30
- 0
0:5
90
1:0
0 -
01
:59
02
:00
- 0
2:5
90
3:0
0 -
03
:59
04
:00
- 0
4:5
90
5:0
0 -
05
:59
06
:00
- 0
6:5
90
7:0
0 -
07
:59
08
:00
- 0
8:5
90
9:0
0 -
09
:59
10
:00
- 1
0:5
91
1:0
0 -
11
:59
12
:00
- 1
2:5
91
3:0
0-
13
:59
14
:00
- 1
4:5
91
5:0
0 -
15
:59
16
:00
- 1
6:5
91
7:0
0 -
17
:59
18
:00
- 1
8:5
91
9:0
0 -
19
:59
20
:00
- 2
0:5
92
1:0
0 -
21
:59
22
:00
- 2
2:5
92
3:0
0 -
00
:30
Umidità
Private cars trajectories 50
A confermare ciò che è stato detto per i due grafici precedenti, la visibilità sarà minima (fino a 2.5 Km) durante la nebbia.
7.1.2 Venerdì
Le temperature si aggireranno da un massimo di 21° ad un minimo di 7° nelle ore della prima mattina.
L’umidità avrà un picco di 100% nella fascia 04:00 – 04:59, mentre un minimo nelle ore pomeridiane del 46%.
0,0
5,0
10,0
15,0
20,0
25,0
23
:30
- 0
0:5
90
1:0
0 -
01
:59
02
:00
- 0
2:5
90
3:0
0 -
03
:59
04
:00
- 0
4:5
90
5:0
0 -
05
:59
06
:00
- 0
6:5
90
7:0
0 -
07
:59
08
:00
- 0
8:5
90
9:0
0 -
09
:59
10
:00
- 1
0:5
91
1:0
0 -
11
:59
12
:00
- 1
2:5
91
3:0
0-
13
:59
14
:00
- 1
4:5
91
5:0
0 -
15
:59
16
:00
- 1
6:5
91
7:0
0 -
17
:59
18
:00
- 1
8:5
91
9:0
0 -
19
:59
20
:00
- 2
0:5
92
1:0
0 -
21
:59
22
:00
- 2
2:5
92
3:0
0 -
00
:30
Temperatura
0,0
20,0
40,0
60,0
80,0
100,0
120,0
23
:30
- 0
0:5
90
1:0
0 -
01
:59
02
:00
- 0
2:5
90
3:0
0 -
03
:59
04
:00
- 0
4:5
90
5:0
0 -
05
:59
06
:00
- 0
6:5
90
7:0
0 -
07
:59
08
:00
- 0
8:5
90
9:0
0 -
09
:59
10
:00
- 1
0:5
91
1:0
0 -
11
:59
12
:00
- 1
2:5
91
3:0
0-
13
:59
14
:00
- 1
4:5
91
5:0
0 -
15
:59
16
:00
- 1
6:5
91
7:0
0 -
17
:59
18
:00
- 1
8:5
91
9:0
0 -
19
:59
20
:00
- 2
0:5
92
1:0
0 -
21
:59
22
:00
- 2
2:5
92
3:0
0 -
00
:30
Umidità
0,02,04,06,08,0
10,012,014,016,0
23
:30
- 0
0:5
90
1:0
0 -
01
:59
02
:00
- 0
2:5
90
3:0
0 -
03
:59
04
:00
- 0
4:5
90
5:0
0 -
05
:59
06
:00
- 0
6:5
90
7:0
0 -
07
:59
08
:00
- 0
8:5
90
9:0
0 -
09
:59
10
:00
- 1
0:5
91
1:0
0 -
11
:59
12
:00
- 1
2:5
91
3:0
0-
13
:59
14
:00
- 1
4:5
91
5:0
0 -
15
:59
16
:00
- 1
6:5
91
7:0
0 -
17
:59
18
:00
- 1
8:5
91
9:0
0 -
19
:59
20
:00
- 2
0:5
92
1:0
0 -
21
:59
22
:00
- 2
2:5
92
3:0
0 -
00
:30
Visibilità
Private cars trajectories 51
I dati sulla visibilità evidenziano un errore da parte dell’ente che ha effettuato la rilevazione, visto che in condizioni di cielo sereno la visibilità è molto bassa rispetto a quanto atteso.
7.2 Traffic flow analysis in the different city’s areas
FASCIA Martedì Venerdì Media settimanale
23:30 - 00:59 49 78 36 01:00 - 01:59 13 15 22 02:00 - 02:59 21 18 87 03:00 - 03:59 72 70 66 04:00 - 04:59 167 161 162 05:00 - 05:59 398 (Nebbia) 332 (Sereno) 333 06:00 - 06:59 341 (Nebbia) 326 (Sereno) 333 07:00 - 07:59 221 (Nebbia) 208 (Sereno) 232 08:00 - 08:59 184 (Nubi Sparse) 166 (Foschia) 198 09:00 - 09:59 153 (Nubi Sparse) 156 (Sereno) 185 10:00 - 10:59 201 205 238 11:00 - 11:59 208 200 226 12:00 - 12:59 237 225 248 13:00- 13:59 196 220 227 14:00 - 14:59 233 218 256 15:00 - 15:59 304 (Nubi Sparse) 254 (Sereno) 322 16:00 - 16:59 326 (Nubi Sparse) 239 (Sereno) 319 17:00 - 17:59 298 (Nubi Sparse) 235 (Sereno) 311 18:00 - 18:59 185 (Nubi Sparse) 171 (Sereno) 213 19:00 - 19:59 128 (Nubi Sparse) 150 (Sereno) 159 20:00 - 20:59 136 (Nubi Sparse) 134 148 21:00 - 21:59 128 102 131 22:00 - 22:59 67 74 71 23:00 - 00:30 37 80 43
0,0
2,0
4,0
6,0
8,0
10,0
12,02
3:3
0 -
00
:59
01
:00
- 0
1:5
90
2:0
0 -
02
:59
03
:00
- 0
3:5
90
4:0
0 -
04
:59
05
:00
- 0
5:5
90
6:0
0 -
06
:59
07
:00
- 0
7:5
90
8:0
0 -
08
:59
09
:00
- 0
9:5
91
0:0
0 -
10
:59
11
:00
- 1
1:5
91
2:0
0 -
12
:59
13
:00
- 1
3:5
91
4:0
0 -
14
:59
15
:00
- 1
5:5
91
6:0
0 -
16
:59
17
:00
- 1
7:5
91
8:0
0 -
18
:59
19
:00
- 1
9:5
92
0:0
0 -
20
:59
21
:00
- 2
1:5
92
2:0
0 -
22
:59
23
:00
- 0
0:3
0
Visibilità
Private cars trajectories 52
Si è deciso per il proseguo delle prossime analisi di considerare nello specifico due “cluster”: mattina
– andando al lavoro e pomeriggio – ritorno dal lavoro.
Questa scelta è stata frutto sia delle considerazioni sul flusso fatte fino ad ora nel corso della
relazione (le due fasce quasi si equivalgono) e anche perché la somma dei singoli elementi era la
maggiore se presi insieme.
Di seguito le density map delle 10 fasce orarie considerate messe a confronto per analizzare in primis
se ci sono zone specifiche in cui il traffico è maggiore, ed in secondo luogo se le condizioni
metereologiche hanno influenzato il primo punto.
Mattina
Private cars trajectories 53
Partendo da una considerazione analitica, si può osservare dalla tabella iniziale come il Martedì
giorno identificato come soggetto a condizioni atmosferiche cattive fin dalla mattina, abbia sempre
maggiori traiettorie (tranne nella fascia 09:00 – 09:59) rispetto al Venerdì.
A livello specifico, possiamo osservare come nella prima fascia oraria (05:00 - 05:59) ci sia
abbastanza omogeneità nella densità delle varie zone cittadine. Già però nella fascia 06:00 – 06:59
Private cars trajectories 54
possiamo notare come il martedì abbia maggiori traiettorie nella zona del centro città, mentre il
venerdì spicca per il traffico lungo le strade che seguono il confine metropolitano della città.
Nella fascia 07:00 – 07:59 possiamo notare lo stesso comportamento visto nella precedente fascia
per quello che riguarda il martedì.
La fascia 08:00 – 08:59 evidenzia come il venerdì la zona sud-est di Milano sia molto meno trafficata
rispetto a quella di martedì.
Dalle 09:00 alle 9:59 non si registrano differenze sostanziali.
In generale le autostrade (le arterie esterne alla città) sono mediamente più trafficate il martedì
rispetto al venerdì, frutto anche delle condizioni atmosferiche che sicuramente hanno intimorito i
lavoratori che arrivano da fuori città.
Pomeriggio
Private cars trajectories 55
In questo caso, a livello analitico, c’è una enorme differenza nel numero di traiettorie di martedì e
venerdì. Possiamo anche notare come i tragitti del venerdì siano abbastanza inferiori anche rispetto
ai valori medi settimanali.
A livello specifico, possiamo osservare come nella fascia del primo pomeriggio (15:00 – 15:59) si
presentino due situazioni diverse: il martedì avremo maggiore traffico nel centro città, nella
Private cars trajectories 56
periferia nord-est e sul perimetro cittadino nella parte sud-est; il venerdì invece avremo maggiore
traffico nel perimetro cittadino nord-ovest.
Alle 16:00 – 16:59 l’unica differenza sostanziale si registra nella zona sud del centro dove il martedì
c’è più traffico.
Le fasce 17:00 – 17:59 & 18:00 – 18:59 sono accomunate dallo stesso trend, infatti il martedì avremo
più traffico in centro e verso gli snodi autostradali nord, mentre il venerdì ci sarà traffico in aumento
verso gli nodi autostradali sud.
Infine si può notare come già dalle 19 il traffico subisca un rapido abbassamento dei flussi,
soprattutto il venerdì dove si può ipotizzare che essendo il pre-festivo del week end di Pasqua, i
milanesi si siano mossi con mezzi alternativi per raggiungere le loro destinazioni.
In entrambi i cluster di fasce orarie, non c’è stata influenza di alcun evento cittadino, poiché si può
notare come il martedì giorno ad esempio di Milan – Bayer Monaco (ottavi di finale di Champions
League) nonostante la partita inizi alle 20:45 e i cancelli dello stadio siano aperti dalle 17, non si è
registrato un incremento del traffico in direzione ovest dove è situato lo stadio Meazza.
7.3 Traffic flow analysis towards the airport
L’analisi è stata condotta sul flusso del traffico nelle immediate vicinanze dell’aeroporto di Linate.
Nello specifico l’analisi si è concentrata sul confronto tra il numero di traiettorie medio della settima
con partenza dall’aeroporto e con destinazione l’aeroporto e il numero di traiettorie sempre con
partenza e destinazione dall’aeroporto nelle giornate di Martedì e Venerdì. Le fasce orarie
interessate a quest’analisi sono esattamente 10, nello specifico dalle 5 alle 10 del mattino e dalle 15
alle 20.
Nei seguenti grafici si riporta sull’asse delle ordinate il numero di traiettorie rispettivamente con
partenza da Linate e con arrivo a Linate, mentre sull’asse delle ascisse le fasce orarie di riferimento.
Private cars trajectories 57
I grafici mettono in evidenza come:
Nella giornata di Martedì vi sia un picco di traiettorie in partenza dall’aeroporto tra le 15:00
e le 18:00 (valore quasi doppio rispetto alla media). Ipotesi plausibile è che questo picco di
partenze dall’aeroporto possa essere legato alle cattive condizioni climatiche e al Big Match
Milan–Bayern Monaco tenutosi allo stadio Meazza in San Siro qualche ora più tardi.
Nella giornata sempre di Martedì si registri un picco di traiettorie in arrivo dall’aeroporto tra
le 08:00 e le 10:00 del mattino (anche qui con valori quasi doppi rispetto alla media).
0
2
4
6
8
10
12
14
16
18
05
:00
- 05
:59
06
:00
- 06
:59
07
:00
- 07
:59
08
:00
- 08
:59
09
:00
- 09
:59
15
:00
- 15
:59
16
:00
- 16
:59
17
:00
- 17
:59
18
:00
- 18
:59
19
:00
- 19
:59
Partenze da Linate
Martedì start
Venerdì start
AVG week start
0
2
4
6
8
10
12
14
16
18
05
:00
- 05
:59
06
:00
- 06
:59
07
:00
- 07
:59
08
:00
- 08
:59
09
:00
- 09
:59
15
:00
- 15
:59
16
:00
- 16
:59
17
:00
- 17
:59
18
:00
- 18
:59
19
:00
- 19
:59
Arrivi a Linate
Martedì end
Venerdì end
AVG week end
Private cars trajectories 58
Nella giornata di Venerdì vi sia un picco negativo di traiettorie in partenza dall’aeroporto tra
le 08:00 e le 10:00 (valori dimezzati rispetto alla media settimanale).
Nella giornata di Venerdì si registra un traffico in partenza dall’aeroporto leggermente al di
sotto della media tra le 15:00 e le 17:00.
Nella giornata di Venerdì si registra un traffico in arrivo all’aeroporto leggermente al di sotto
della media tra le 08:00 e le 10:00 e tra le 17:00 e le 19:00.
Nel complesso pare quindi che i flussi di traffico registrati nella giornata di Venerdì presentino un
andamento nettamente più regolare rispetto a quelli registrati nella giornata di Martedì. L’ipotesi
plausibile è che questo aspetto sia in qualche misura legato alle avverse condizioni climatiche di
Martedì e all’evento sportivo di interesse mondiale appena citato. L’analisi precedente ha tuttavia
evidenziato come l’area adiacente lo stadio non presenti un’importante variazione nel flusso del
traffico nelle ore precedenti alla partita L’ipotesi più plausibile rimane quindi quella che prevede il
fatto che i tifosi accorsi per la partita abbiano parcheggiato nelle periferie e raggiunto lo stadio in
Metro.
Private cars trajectories 59
Conclusions
È emerso come il centro della città sia fortemente caratterizzato da un flusso di traffico molto
intenso ma principalmente composto da traiettorie di passaggio.
Risultano negate le aspettative connesse alla diminuzione fisiologica del traffico nel weekend, la
velocità media, per esempio, non cresce in maniera significativa e si registra un aumento nelle
lunghezze medie dei tragitti etichettati come corti.
Si evidenzia un notevole incremento, che si attesta intorno al 20%, nell’incidenza dei percorsi di
breve durata nei visitatori rispetto ai residenti. Emerge inoltre una differenza nell’incidenza che si
attesta tra il 5 e il 10% nella composizione delle velocità tra visitatori e residenti, in altre parole i
visitatori tendono ad andare più lentamente. Si può quindi concludere che questi ultimi preferiscono
non utilizzare la propria auto per sportarsi a Milano e preferiscono parcheggiare nelle periferie e
utilizzare mezzi alternativi per spostarsi, come la metro e la compagnia ferroviaria TrenoNord.
Contrariamente a quanto avviene con le durate e le velocità, le lunghezze dei percorsi non
presentano significative differenze tra visitatori e residenti.
Il flusso di traffico risulta sempre inferiore nel weekend rispetto ai giorni lavorativi in ogni fascia
oraria considerata.
I punti di interesse infine non vengono quasi mai raggiunti in auto, queste ultime due considerazione
valgono indifferentemente per visitatori e residenti.
Per quel che riguarda il meteo emerge come, contrariamente a quanto si possa pensare, esso
provochi un incremento nel flusso di traffico nelle principali arterie autostradali che delimitano
l’area metropolitana e l’area adiacente all’aeroporto di Linate. Per Maggiori dettagli su questi
aspetti si rimanda ai paragrafi 7.2 e 7.3
Software & tools
Per la realizzazione di questo studio sono state impiegate diverse tecnologie, alcune tipiche
nell’ambito dei Big data come Hive su una macchina virtuale Cloudera, altre tipiche di data mining
come Knime, e altre ancora tipiche dello studio della mobility come M-atlas a cui si accompagna
pgAdmin III, oltre ad Excel per quanto riguarda i grafici qui riportati.
Private cars trajectories 60
SQL Query
Hive SQL Query Data Preparation
//crea la tabella che ospita il dataset completo
CREATE TABLE final_dataset_milano_bda
(
user_id string,
data timestamp,
lat double,
lon double,
day_of_week string,
fasce_orarie string
)
// trova i minimi e i massimi di lat lon e data
Select min (lat)as min_lat, max(lat)as max_lat, min(lon) as min_lon, max (lon)
as max_lon, min(data) as min_data, max(data) as max_data
From final_dataset_milano_bda
// mappa le coordinate geometriche su matlas
SELECT user_id,st_setsrid(st_makepoint(lon,lat),4326) AS p
From public.final_dataset_milano_bda
//distribuzione dei punti per user_id
Select user_id, count(user_id) AS n_point
From final_dataset_milano_bda
Group by user_id
Order by n_point Desc
//crea la tabella che contiene tutti gli id con più di 200 rilevazioni
settimanali
CREATE TABLE filter_1_dataset_milano_bda
(
user_id string,
n_point int
)
//inserisce dentro la tabella appena creata tutti gli user_id con almeno 200
rilevazioni settimanali
insert into table filter_1_dataset_milano_bda
Select user_id, count(user_id) AS n_point
From final_dataset_milano_bda
Group by user_id
having count(user_id)>200;
Private cars trajectories 61
// crea la tabella che ospiterà tutti i rilevamenti di martedì (per il venerdì,
il sabato e la domenica basta cambiare il giorno)
CREATE TABLE martedi_milano_bda
(
user_id string,
data timestamp,
lat double,
lon double,
day_of_week string,
fasce_orarie string
)
// inserisce tutti i punti del martedì considerando la mezzora del giorno prima
e la mezzora del giorno dopo (per il venerdì basta modificare il giorno)
Insert into table martedi_milano_bda
Select *
From final_dataset_milano_bda
where day_of_week='Martedi' and final_dataset_milano_bda.user_id in
(
Select user_id
From filter_1_dataset_milano_bda
)
union all
Select *
From final_dataset_milano_bda
where (data >'2007-04-02 23:30:00' and data <'2007-04-02 23:59:59')and
final_dataset_milano_bda.user_id in
(
Select user_id
From filter_1_dataset_milano_bda
)
union all
Select *
From final_dataset_milano_bda
where data >'2007-04-04 00:00:00' and data < '2007-04-04 00:30:00' and
final_dataset_milano_bda.user_id in
(
Select user_id
From filter_1_dataset_milano_bda
)
Private cars trajectories 62
// inserisce tutti i punti della domenica considerando la mezzora del giorno
dopo
Insert into table domenica_milano_bda
Select *
From final_dataset_milano_bda
where day_of_week='Domenica' and final_dataset_milano_bda.user_id in
(
Select user_id
From filter_1_dataset_milano_bda
)
union all
Select *
From final_dataset_milano_bda
where data >'2007-04-02 00:00:00' and data < '2007-04-02 00:30:00' and
final_dataset_milano_bda.user_id in
(
Select user_id
From filter_1_dataset_milano_bda
)
// inserisce tutti i punti del sabato considerando la mezzora del giorno prima
Insert into table sabato_milano_bda
Select *
From public.final_dataset_milano_bda
where day_of_week='Sabato' and user_id in
(
Select user_id
From filter_1_dataset_milano_bda
)
union all
Select *
From public.final_dataset_milano_bda
where (data >'2007-04-06 23:30:00' and data <'2007-04-06 23:59:59')and
user_id in
(
Select user_id
From filter_1_dataset_milano_bda
)
//crea i moving point della domenica (
CREATE OBJECT trajectories_table_domenica_bda AS BUILD MOVING_POINT
FROM (
select user_id, lon,lat, data
from filter2_domenica_milano_bda
order by user_id, data
)
WHERE
MOVING_POINT.MAX_TIME_GAP=3600
Private cars trajectories 63
//crea la tabella contenente tutti i rilevamenti dalle 13:00 di Venerdì fino
alla mezzanotte di sabato
CREATE TABLE ven_sab_milano_bda
(
user_id string,
data timestamp,
lat double,
lon double,
day_of_week string,
fasce_orarie string
)
//sequenza di query per determinare i visitatori
CREATE TABLE aux_bda
(
user_id string,
n_point int
)
truncate table aux_bda;
insert into aux_bda
Select user_id, count(user_id) AS n_point
From final_dataset_milano_bda
Where data>'2007-04-02 00:00:00' and data <'2007-04-06 12:59:59'
Group by user_id
insert into ven_sab_milano_bda
select *
from final_dataset_milano_bda
where data>'2007-04-06 13:00:00' and data <'2007-04-07 23:59:59'
Create Table visitors
(
user_id string,
data timestamp,
lat double,
lon double,
day_of_week string,
fasce_orarie string
)
Insert Into visitors
select *
from ven_sab_milano_bda
where ven_sab_milano_bda.user_id not in
(
select user_id
from aux_bda
)
Private cars trajectories 64
pgAdmin III SQL Query
//crea la tabella delle statistiche modificate
Create Table stat_filter_domenica_bda
(
id text,
time_start timestamp without time zone,
average_speed numeric,
length numeric,
duration numeric
)
Delete from stat_filter_domenica_bda
Where average_speed<5
Delete from stat_filter_domenica_bda
Where average_speed<20 and duration >180
//elimina gli id ripuliti
Delete from trajectories_table_domenica_bda
Where id not in
(
Select id
from stat_filter_domenica_bda
)
//unione delle zone per la od_matrix
Insert Into public.zone_milano
(
Select *
from centro_milano
union all
Select *
from mobility_grid_small
union all
Select *
from aeroporto_linate
union all
Select *
from cimitero_monumentale
union all
Select *
from direzione_malpensa
union all
Select *
from navigli
Private cars trajectories 65
union all
Select *
from periferia_est1
union all
Select *
from periferia_est2
union all
Select *
from periferia_nord
union all
Select *
from periferia_ovest
union all
Select *
from periferia_sud
union all
Select *
from piazza_vittoria
union all
Select *
from porta_romana
union all
Select *
from san_siro
union all
Select *
from statione_centrale
union all
Select *
from viale_certosa
union all
Select *
from zona_fiera
)
Private cars trajectories 66
//crea la tabella da cui avere i moving point dei residenti di sabato (matlas
non permette il not in)
CREATE TABLE public.sab_res_bda
(
user_id text,
data timestamp without time zone,
lat numeric,
lon numeric,
day_of_week text,
fasce_orarie text
)
Insert into sab_res_bda
(
select user_id, data, lat, lon, day_of_week, fasce_orarie
from filter2_sabato_milano_bda
WHERE user_id not in
(
select user_id
from visitors
)
order by user_id, data
//crea i moving moving point dei residenti di sabato (per i residenti del
venerdi prima e dopo le 13 basta cambiare il nome della tabella dal from)
CREATE OBJECT trajectories_table_sab_res_bda AS BUILD MOVING_POINT
FROM (
select user_id, lon,lat, data
from sab_res_bda
order by user_id, data
)
WHERE
MOVING_POINT.MAX_TIME_GAP=3600
// crea la tabella contenente i punti dei residenti prima delle 13 di venerdì
CREATE TABLE public.ven_res_bda
(
user_id text,
data timestamp without time zone,
lat numeric,
lon numeric,
day_of_week text,
fasce_orarie text
)
//inserisce i punti dei residenti del venerdi prima delle 13:00
Insert into ven_res_bda
(
select user_id, data, lat, lon, day_of_week, fasce_orarie
from filter2_venerdi_milano_bda
WHERE data<'2007-04-06 13:00' and user_id in
(
Select user_id
From aux_bda
)
order by user_id, data
)
Private cars trajectories 67
// crea la tabella contenente i punti dei residenti dopo le 13 di venerdì
CREATE TABLE public.ven2_res_bda
(
user_id text,
data timestamp without time zone,
lat numeric,
lon numeric,
day_of_week text,
fasce_orarie text
)
//iserisce i punti dei residenti del venerdi dopo le 13:00
Insert into ven2_res_bda
(
select user_id, data, lat, lon, day_of_week, fasce_orarie
from filter2_venerdi_milano_bda
WHERE data>'2007-04-06 13:00' and user_id not in
(
Select user_id
From visitors
)
order by user_id, data
)
//crea la tabella che contiene i residenti sia prima che dopo le 13 di venerdi
CREATE TABLE public.all_ven_res_bda
(
user_id text,
data timestamp without time zone,
lat numeric,
lon numeric,
day_of_week text,
fasce_orarie text
)
//la riempie semplicemente dalla union all
Insert into all_ven_res_bda
(
Select *
from ven_res_bda
union all
select *
from ven2_res_bda
)
//crea i moving point di sabato e venerdi dei visitatori
CREATE OBJECT trajectories_table_ven_vis_bda AS BUILD MOVING_POINT
FROM (
select user_id, lon,lat, data
from visitors
where day_of_week='Venerdi'
order by user_id, data
)
WHERE
MOVING_POINT.MAX_TIME_GAP=3600
Private cars trajectories 68
//conta le righe per fasce orarie così da ottenere la composizione del traffico
per un giorno
Select count (*)
from stat_filter_domenica_bda
where time_start between '2007-04-01 22:00:00' and '2007-04-01 23:59:59'
//union dei punti di interesse
Insert Into public.od_matrix_centro
(
Select *
from piazza_duomo
union all
Select *
from parco_sempione
union all
Select *
from pinacoteca_brera
union all
Select *
from zona_san_siro
union all
Select *
from cimitero_monumentale
union all
Select *
from bocconi
union all
Select *
from zona_ospedale
union all
Select *
from aeroporto
union all
Select *
from cattolica
union all
Select *
from sant_ambrogio
union all
Select *
from san_vittore
Private cars trajectories 69
union all
Select *
from biblioteca_ambrosiana
union all
Select *
from navigli
union all
Select *
from porta_ticinese
union all
Select *
from corso_buenos_aires
union all
Select *
from piazza_romana
union all
Select *
from pirellone
union all
Select *
from stazione_centrale
union all
Select *
from bosco_verticale
union all
Select *
from museo_nazionale_della_scienza
union all
Select *
from museo_arte_moderna
union all
Select *
from basilica_san_lorenzo
union all
Select *
from unicredit
union all
Select *
Private cars trajectories 70
from san_babila
union all
Select *
from direzione_malpensa
)
//conta il numero di traiettorie per ora
select count(case when time_start >'2007-04-06 22:00' and time_start< '2007-04-
06 22:59' then 1 end) as prova
from stat_filter_venerdi_res_bda
//crea i MV per singola ora
CREATE OBJECT trajectories_table_mart_1 AS BUILD MOVING_POINT
FROM (
select user_id, lon,lat, data
from filter2_martedi_milano_bda
where data >='2007-04-03 05:00' and data <= '2007-04-03 05:59'
order by user_id, data
)
WHERE
MOVING_POINT.MAX_TIME_GAP=3600
//crea la tabella che contiene i rilevamenti splittati nell'ora della settimana
CREATE TABLE public.settima_over_200_split
(
user_id text,
data timestamp without time zone,
lat numeric,
lon numeric,
day_of_week text,
fasce_orarie text,
ora time without time zone
)
//crea i moving point della settimana nelle 10 fasce orarie analizzare
CREATE OBJECT trajectories_table_settima_1 AS BUILD MOVING_POINT
FROM (
select user_id, lon,lat, data
from settima_over_200_split
where ora >='05:00' and ora <='05:59'
order by user_id, data
)
WHERE
MOVING_POINT.MAX_TIME_GAP=3600