Closed pigreco closed 4 years ago
Caro @pigreco ,
leggendo rapidamente il file leggimi file matrix_pendo2011_10112014.doc
contenuto nell'URL che hai indicato, e volendo vedere chi si sposta verso Palermo, farei così:
Provincia abituale di studio o di lavoro
e Comune abituale di studio o di lavoro
filtro chi va a lavorare o studiare a PA, usando i codici ISTAT;1
nel campo Motivo dello spostamento
;Tipo record
il valore è S
prenderò il valore dalla colonna Numero di individui
, se L
dalla colonna Stima numero di individui
.Non ti resta che mettere insieme le query/filtro nel motore da te preferito.
Se non sono stato chiaro e/o se serve qualcosa d'altro, fischia
Ovviamente, non l'ho specificato, per avere esattamente l'output che chiedi c'è da fare alla fine la concatenazione delle colonne con i codici provinciali e comunali ISTAT
@aborruso grazie per la tempestiva risposta,
ma come faccio le query che suggerisci su un file di questo tipo??
L 1 001 001 1 1 1 001 001 000 04 2 1 0000005.00 ND
L 1 001 001 1 1 1 001 001 000 05 1 3 0000001.00 ND
L 1 001 001 1 1 1 001 001 000 05 2 2 0000001.00 ND
L 1 001 001 1 1 1 001 001 000 06 2 1 0000009.00 ND
L 1 001 001 1 1 1 001 001 000 06 2 2 0000002.00 ND
L 1 001 001 1 1 1 001 001 000 07 1 1 0000002.00 ND
L 1 001 001 1 1 1 001 001 000 08 1 1 0000001.00 ND
L 1 001 001 1 1 1 001 001 000 08 2 1 0000052.00 ND
....
....
Caro @pigreco , il file con i dati è una tabella con i campi fixed. Nel documento descrittivo c'è 1) la lunghezza in caratteri di ogni campo, e 2) da quale carattere inizia ogni campo.
È quello che nei fogli elettronici si importa come sotto, fissando a mano i separatori di campo.
Qui ci sono 4 milioni di righe, quindi non è importabile in un foglio elettronico. Potresti però prima filtrare tutto ciò che riguarda Palermo, con
<matrix_pendo2011_10112014.txt grep -E '082.+053' >palermo.txt
Le righe diventano circa 11000 e puoi aprirlo come sopra con LibreOffice Calc.
Oppure lo apri per intero con VisiData con vd -f fixed matrix_pendo2011_10112014.txt
, buttando un occhio in basso a destra aspettando che finisca il load.
E altri mille mila modi.
Da qui in poi dovresti essere autonomo
caro @aborruso non ho mai lavorato con file con campi fixed e quindi non capivo.
grazie, sei stato - come sempre - illuminante!!!
per non perderlo
mlr --p2c --implicit-csv-header filter -S '$8=="082" && $9=="053"' then put -S '$source=$3.$4;$destination=$8.$9;if ($1=="S") {$valore=gsub($15,"^0+","")} else {$valore=gsub($14,"^0+","")}' then cut -f source,destination,valore matrix_pendo2011_10112014.txt | vd -f csv
ciao @pigreco sconoscevo queste serie di ISTAT sul pendolarismo. E' davvero interessantissima. Ti faccio una domanda un po' off-topic rispetto al thread ma correlata in qualche maniera. Sono dati interessantissimi, perchè io sto cercando da anni i dati sul pendolarismo di lungo raggio. Da quel che ho visto queste serie a cui fai riferimento sono del pendolarismo di reggio breve.
Sai se per caso c'è qualche serie di ISTAT o se si possono combinare i dati di ISTAT di altre serie in modo da tirare fuori questo dato?
Vengo e mi spiego: quello che sto cercando (invano) da anni è un dato ufficiale sulle persone che vivono/lavorano/studiano lontano dal luogo di residenza. Questo dato sarebbe utilissimo, specialmente in questo momento che si sta discutendo la legge elettorale perchè darebbe al legislatore dei dati oggettivi per suffragare la necessità di un intervento per tutelare il voto in mobilità (al momento chi si trova a vivere o lavorare fuori dalla propria città di residenza praticamente non può votare se non pagando un salato biglietto aereo/ferroviario).
Al momento l'unico dato certo che ho tirato giù incrociando i dati dell'anagrafica del MIUR sono quelli relativi agli studenti fuori sede, ovvero che studiano fuori dalla propria regione di residenza (circa 350.000 persone) ma sicuramente ce ne sono molti di più se consideriamo anche i lavoratori.
Ciao Stefano, non ho approfondito, ma questo report potrebbe fare al caso tuo https://ec.europa.eu/eurostat/cache/digpub/eumove ?
Scusami per la brevità, ti sto scrivendo dal cellulare.
website: https://medium.com/tantotanto 38° 7' 48" N, 13° 21' 9" E EPSG:4326
Il dom 19 gen 2020, 03:22 stelab82 notifications@github.com ha scritto:
ciao @pigreco https://github.com/pigreco sconoscevo queste serie di ISTAT sul pendolarismo. E' davvero interessantissima. Ti faccio una domanda un po' off-topic rispetto al thread ma correlata in qualche maniera. Sono dati interessantissimi, perchè io sto cercando da anni i dati sul pendolarismo di lungo raggio. Da quel che ho visto queste serie a cui fai riferimento sono del pendolarismo di reggio breve.
Sai se per caso c'è qualche serie di ISTAT o se si possono combinare i dati di ISTAT di altre serie in modo da tirare fuori questo dato?
Vengo e mi spiego: quello che sto cercando (invano) da anni è un dato ufficiale sulle persone che vivono/lavorano/studiano lontano dal luogo di residenza. Questo dato sarebbe utilissimo, specialmente in questo momento che si sta discutendo la legge elettorale perchè darebbe al legislatore dei dati oggettivi per suffragare la necessità di un intervento per tutelare il voto in mobilità (al momento chi si trova a vivere o lavorare fuori dalla propria città di residenza praticamente non può votare se non pagando un salato biglietto aereo/ferroviario).
Al momento l'unico dato certo che ho tirato giù incrociando i dati dell'anagrafica del MIUR sono quelli relativi agli studenti fuori sede, ovvero che studiano fuori dalla propria regione di residenza (circa 350.000 persone) ma sicuramente ce ne sono molti di più se consideriamo anche i lavoratori.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/opendatasicilia/tansignari/issues/105?email_source=notifications&email_token=AAAHPDYSEWEJQZJBR7C7NO3Q6O2MTA5CNFSM4KHZPCPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJKG66I#issuecomment-575958905, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAHPD3NIVLZIKVXY37PJSTQ6O2MTANCNFSM4KHZPCPA .
ho creato un db SpatiaLite
e importato gli strati:
out_matrix
è la matrice del pendolarismo 2011
con questo script SQL:
WITH toto AS
(
SELECT q.*,e."X_WGS84_32N", e."Y_WGS84_32N"
FROM "ElencoUnitaAmmin2011" e,
(
SELECT m.*,c.comune
FROM "Com2011_g_WGS84" c,
(
SELECT t.source AS source, count(*) AS nro, sum (valore) AS valore_tot
FROM
(
SELECT "prov_stud_lav"||"com_stud_lav" AS destination,"prov_resid"||"com_resid" AS source,
CASE WHEN "tipo_record" = 'S' THEN cast ("nro_indiv" AS real)
ELSE cast ("stima_nro_indiv" AS real)
END valore
FROM "out_matrix"
WHERE "prov_stud_lav"||"com_stud_lav" ='082053' -- Palermo città
) t
GROUP BY 1
) m
WHERE m.source = c."pro_com_t"
ORDER BY m.nro desc
) q
WHERE q.source = e."pro_com_t"
)
SELECT *,
makeline(
makepoint("X_WGS84_32N", "Y_WGS84_32N"),
makepoint((SELECT "X_WGS84_32N" FROM toto ORDER BY nro desc limit 1),
(SELECT "Y_WGS84_32N" FROM toto ORDER BY nro desc limit 1))
) as geom
FROM toto;
ottengo la geotabella:
che in QGIS è cosi:
SELECT q.*,e."X_WGS84_32N", e."Y_WGS84_32N"
FROM "ElencoUnitaAmmin2011" e,
(
SELECT m.*,c.comune
FROM "Com2011_g_WGS84" c,
(
SELECT t.source AS source,
t.destination AS destination, count(*) AS nro,
sum (valore) AS valore_tot
FROM
(
SELECT "prov_stud_lav"||"com_stud_lav" AS destination,
"prov_resid"||"com_resid" AS source,
CASE WHEN "tipo_record" = 'S' THEN cast ("nro_indiv" AS real)
ELSE cast ("stima_nro_indiv" AS real)
END valore
FROM "out_matrix"
WHERE "prov_stud_lav"||"com_stud_lav" IN (SELECT "PRO_COM_T"
FROM "ElencoUnitaAmmin2011" ) -- tutti i comuni
) t
GROUP BY 1,2
) m
WHERE m.source = c."pro_com_t"
ORDER BY m.nro desc
) q
WHERE q.source = e."pro_com_t";
Ciao Stefano, non ho approfondito, ma questo report potrebbe fare al caso tuo https://ec.europa.eu/eurostat/cache/digpub/eumove ?
grazie @aborruso link molto interessante mi sembrava di aver trovato proprio quello che cercavo in questa sezione https://ec.europa.eu/eurostat/cache/digpub/eumove/bloc-2d.html?lang=en
ma purtroppo i dati sono incompleti e mappati malissimo evidentemente, guarda un po' cosa restituisce l'hover sulla Sicilia :(
Ciao @stelab82, perché non provi a scrivergli e chiedergli la cosa in modo diretto?
altri appunti:
ho creato un db
SpatiaLite
e importato gli strati:
out_matrix
è la matrice del pendolarismo 2011con questo script SQL:
WITH toto AS ( SELECT q.*,e."X_WGS84_32N", e."Y_WGS84_32N" FROM "ElencoUnitaAmmin2011" e, ( SELECT m.*,c.comune FROM "Com2011_g_WGS84" c, ( SELECT t.source AS source, count(*) AS nro, sum (valore) AS valore_tot FROM ( SELECT "prov_stud_lav"||"com_stud_lav" AS destination,"prov_resid"||"com_resid" AS source, CASE WHEN "tipo_record" = 'S' THEN cast ("nro_indiv" AS real) ELSE cast ("stima_nro_indiv" AS real) END valore FROM "out_matrix" WHERE "prov_stud_lav"||"com_stud_lav" ='082053' -- Palermo città ) t GROUP BY 1 ) m WHERE m.source = c."pro_com_t" ORDER BY m.nro desc ) q WHERE q.source = e."pro_com_t" ) SELECT *, makeline( makepoint("X_WGS84_32N", "Y_WGS84_32N"), makepoint((SELECT "X_WGS84_32N" FROM toto ORDER BY nro desc limit 1), (SELECT "Y_WGS84_32N" FROM toto ORDER BY nro desc limit 1)) ) as geom FROM toto;
ottengo la geotabella:
che in QGIS è cosi:
@pigreco non ho competenze di query e db, ma da quel che capisco con quella query hai individuato tutti i pendolari di Palermo. Quindi sottraendo quelli che viaggiano verso un comune siciliano si potrebbero individuare i pendolari di lungo raggio di Palermo corretto? E se si facesse la stessa cosa per ogni città, si potrebbero conoscere il totale dei pendolari di lungo raggio corretto? E' un'analisi fattibile secondo te o sarebbe impossibile estrarre questi dati da questo db?
Ciao @stelab82, perché non provi a scrivergli e chiedergli la cosa in modo diretto?
I will try
Quindi sottraendo quelli che viaggiano verso un comune siciliano si potrebbero individuare i pendolari di lungo raggio di Palermo corretto?
@stelab82 sicuramente è possibile mappare quanti si spostano verso un comune. Ti basta avere nel caso ad esempio di Palermo tutti quelli che si spostano nel territorio comunale (per studio o lavoro), venendo da qualsiasi altro comune?
Oppure la definizione di lungo raggio è specifica e individua la provenienza di spostamento in modo preciso? E se sì quale?
Con queste info, @pigreco non penso avrà alcuna difficoltà
@aborruso al momento attuale, il legislatore nella discussione parlamentare si riferisce al pendolare di lungo raggio come a chi lavora/studia in una regione diversa dalla sua. Quindi si dovrebbero sottrarre ad esempio nel caso di Palermo, tutti i lavoratori che provengono da un comune siciliano. Capisco che non è un'operazione semplice farlo per tutti gli 8000 comuni d'italia (tranne che nel file non sia indicata anche la regione a cui appartiene ogni singolo comune) ma sarebbe già molto significativo farlo per le 10 maggiori città italiane per avere un trend. Non so se sono stato più chiaro o è ancora scuro?
@stelab82 tutto chiaro, si può fare!
@aborruso mi dai una grande notizia!!!
Buongiorno, @stelab82 scusami se non ti ho risposto subito;
ho fatto una rapida prova su Palermo ed è uscita questa tabella: sono tutti i comuni che puntano verso Palermo ma con COD_REG diverso dalla SIcilia:
appena posso lo faccio per tutti i Comuni.
@stelab82 cosa preferisce leggere: Per ogni comune la somma di provenienza da regioni? La somma di provenienza dalle province?? o solo Comuni???
ecco i pallini per Roma, Milano e Bologna (Regioni)
SELECT h.destination AS destination,
k.comune AS Comune,
count(*) as Nro,
sum (h.valore_tot) AS tot,
k."COD_REG" AS "COD_REG",
k."COD_PROV" AS "COD_PROV"
FROM
(
SELECT s.*, g."COD_REG" AS "Reg_dest"
FROM "ElencoUnitaAmmin2011" g,
(
SELECT q.*,e.comune, e."X_WGS84_32N", e."Y_WGS84_32N", e."COD_REG" AS "Reg_orig"
FROM "ElencoUnitaAmmin2011" e,
(
SELECT t.source AS source,t.destination AS destination, count(*) AS nro, sum (valore) AS valore_tot
FROM
(
SELECT "prov_stud_lav"||"com_stud_lav" AS destination,"prov_resid"||"com_resid" AS source,
CASE WHEN "tipo_record" = 'S' THEN cast ("nro_indiv" AS real)
ELSE cast ("stima_nro_indiv" AS real)
END valore
FROM "out_matrix"
WHERE "prov_stud_lav"||"com_stud_lav" IN (SELECT "PRO_COM_T" FROM "ElencoUnitaAmmin2011") -- TUTTI I COMUNI
) t
GROUP BY 1,2
) q
WHERE q.source = e."pro_com_t"
) s
WHERE s.destination = g."pro_com_t" AND "Reg_orig" != "Reg_dest" -- LUNGO RAGGIO
) h, "ElencoUnitaAmmin2011" k
WHERE h.destination = k."pro_com_t"
GROUP BY h.destination
ORDER BY tot DESC;
dove:
destination
codice COD_PROV_T
Comune
nome del Comune
Nro
numero di Comuni source;
tot
numero di individui
COD_REG
e COD_PROV
codici ISTAT
Domanda a tutt@ questa infografica di sotto rappresenta il pendolarismo a lungo raggio su Bologna
ha senso che delle persone hanno dichiarato di spostarsi giornalmente dalla Sicilia (Palermo) o Calabria ecc.. per recarsi a Bologna?? (non sarebbe troppo costoso??) mi sfugge qualcosa! .-(
@pigreco scusami l'orario ma oggi ho avuto giornata lunghissima.
Dunque come ordine di grandezza ci potremmo essere anche se mi sarei aspettato anche il doppio. Per rispondere alla tua domanda:
Per ogni comune la somma di provenienza da regioni? La somma di provenienza dalle province?? o solo Comuni???
Per ogni Comune la somma di provenienza di cittadini residenti in altre regioni.
MOlto interessante la visualizzazione che hai fatto dei dati riguardanti Milano, Bologna e Roma perchè mi fa sorgere il tuo stesso dubbio sulla consistenza del database in questione.
Come si evince dalla densità dei pallini verso ROma viaggiano sopratutto dalle Regioni subito adiacenti: il che mi porta a pensare che questo Database riporti, come temevo, soltanto i dati riguardanti i pendolari giornalieri che non sono quasi mai quelli di lungo raggio. Infatti a Roma ci sono decine di migliaia di studenti che sicuramente non risiedono a ROma e provengono da Sicilia, Calabria e Puglia....ma sulla mappa e quindi nei dati non li vedo. Quindi temo che questo database escluda proprio i pendolari di lungo raggio che sono quelli che interessano a me :(
Stessa situazione per Bologna, so per certo che ci sono migliaia di residenti a Palemro che studiano e vivono lì, ma il database sembra non vederli...
@stelab82 da quello che hai scritto deduco che non ha senso considerare questa matrice per spostamenti a lungo raggio, quindi mi fermo??
@pigreco scusa il ritardo nella risposta. Purtroppo sì, mi sa che questo non è il database da cui poter estrarre i dati che sto cercando. Grazie mille per la preziosa collaborazione!
Peccato, mi sembrava di aver trovato finalmente quello che cercavo, certo è incredibile che non ci siano dati sui movimenti interregionali, aquanto pare l'unica traccia da seguire è quella indicata da @aborruso con quel dataset di eurostat...
Certo che però è incredibile che non si possa tirar fuori da nessuna parte questo dato: tralasciando il fatto che interesserebbe direttamente il MInistero dell'Intenro per la questione legata al voto dei cittadini in moblità, penso solo a quanto sarebbe importante conoscere il dettaglio di questi spostamenti per tutte le imprese che offrono servizi di mobilità, aiuterebbe parecchio a migliorare le offerte di viaggio e poter aiutare gli operatori di mercato a razionalizzare le risorse tanto per dire...
Buonasera, In merito a questo passaggio, non mi è chiaro dove inserire l'espressione volta a filtrare i contenuti della tabella con campi fixed. Una volta importato in Excel, senza questo passaggio, il sistema omette dati e non mi consente di proseguire. Grazie mille in anticipo.
In merito a questo passaggio, non mi è chiaro dove inserire l'espressione volta a filtrare i contenuti della tabella con campi fixed.
Ciao @Ale1799 non sono sicuro di avere compreso la domanda. Se vuoi applicare un filtro al file txt, come nell'esempio di Palermo, basta avere una shell in cui usare grep. Lo puoi fare in ambiente Linux, in ambiente windows (utilizzando Windows SubSystem for Linux), in ambiente windows usando findstr (l'analogo di grep in ambiente win). E in altri millemila modi.
Con grep, ad esempio tutte le righe della provincia 039
<matrix_pendo2011_10112014.txt grep -P '^[SL] [1-2] 039' >out.txt
Con findstr
findstr /R /C:"^[SL] [1-2] 039" matrix_pendo2011_10112014.txt >out.txt
@aborruso Grazie mille della risposta: purtroppo, come avrà capito, sono un completo neofita in questo campo dell'informatica. Ho provato ad inserire entrambe le espressioni in Windows PowerShell, ma purtroppo credo che mi manchi qualche passaggio: ho tentato di arrivarci modificando l'espressione o aggiungendo il percorso del file ma non è proprio il mio campo. Posso chiedere cosa manca per far sì che il filtro funzioni?
Ciao @Ale1799 domattina spero di inviarti un mini filmato. Perché visto che sei un neofita, scriverti lo "spiegone" è molto più oneroso.
@aborruso grazie mille davvero, è gentilissimo. Purtroppo, ho esperienza nell'utilizzo di QGIS, ma solo a livello accademico (e dunque con tabelle attributi già fatte e finite, o al massimo da riformulare): non mi era mai capitata tra le mani una matrice di livello nazionale, né tantomeno di dover svolgere questi passaggi. Grazie ancora, mi sarà di grande aiuto per la mia ricerca.
Ciao @Ale1799 ecco il video con l'audio
@aborruso non la ringrazierò mai abbastanza. E' tutto chiarissimo e sono riuscito a filtrare gli elementi che mi servivano: credo di poter procedere in autonomia da qui in poi. Grazie ancora per il tempo che mi ha dedicato, le auguro una buona giornata!
Ciao @Ale1799 non ti ho detto che in questo spazio c'è una regola: chi riceve una mano per risolvere un problema, deve restituire in cambio una guida, che descriva il problema e come l'ha risolto.
È spiegato qui https://tansignari.opendatasicilia.it/about/
Quello che ti chiediamo è di scrivere una guida (noi le chiamiamo ricette), che illustra quale era il tuo problema e come l'hai risolto. In modo che possa tornare utile a qualcun/a altro/a.
Qui trovi le tante ricette attuali https://tansignari.opendatasicilia.it/ricette/
Basta che la metti nero su bianco su un documento (google docs, word, libreoffice writer, ecc.) e ce lo giri. Noi poi ci occupiamo di metterla online.
Saluti
@aborruso @Ale1799 qui la bozza della ricetta di @Ale1799 , Andrea appena puoi completala tu,
@Ale1799 la tua ricetta è qui https://tansignari.opendatasicilia.it/ricette/utilities/matrice_pendolarismo/
Benvenuto su "T'ansignari"!
E grazie @pigreco
La matrice del pendolarismo, per vari motivi, ha questa forma:
Alla matrice è allegato un documento metodologico che, oltre a descrivere la struttura dei dati, fornisce indicazioni utili per l’utilizzo della matrice, con particolare riferimento alle variabili rilevate con metodo campionario (mezzo di trasporto utilizzato, fascia oraria di partenza e durata del tragitto). Sono anche allegati alcuni documenti utili alla comprensione al corretto utilizzo dei dati (questionari e classificazioni).
Il file contiene i dati sul numero di persone che si spostano tra comuni – o all’interno dello stesso comune – classificate, oltre che per il motivo dello spostamento, per il sesso, il mezzo di trasporto utilizzato, la fascia oraria di partenza e la durata del tragitto.
Sarebbe interessante poter estrarre rapidamente una matrice OD (Origine Destinazione) cosi fatta:
....
dove:
origine
sono i codici istat dei comuni;destinazione
codice istat del comune (es: PalermoPRO_COM = 82053
)valore
numero di persone (es: studenti)la
matrice OD
di sopra è utile per poi creare mappette come questa:Link ISTAT: https://www.istat.it/it/archivio/139381