Palermo, popolazione residente per cittadinanza, UPL , Quartiere e Circoscrizione – 2018

Grazie al Dr Girolamo D’Anneo, Responsabile Studi e Ricerche Statistiche e Ciro Spataro  dell’Area Servizi alla città Servizio Innovazione  U.O. Transizione al Digitale, entrambi funzionari del Comune di Palermo, sono stati pubblicati i dataset relativi alla popolazione residente, italiana e straniera.

I nuovi dataset mi hanno permesso di replicare e migliorare il lavoro fatto nel post Milano e Palermo: le mappe della distribuzione della popolazione straniera residente nel 2018, dove  il dataset su Palermo non era esattamente ideale, in quell’esercizio i dati sono stati estratti da una tabella pdf, GLI STRANIERI A PALERMO NEL 2018pagina 21, Tavola 6: Cittadini al 31/12/2018 per cittadinanza a circoscrizione.

I dati

Per realizzare i grafici e le mappe abbiamo scelto 2 dei 12 dataset pubblicati in opendata dal Comune di Palermo, e sono: Stranieri residenti a Palermo al 31/12/2018 per Unità di primo livello e cittadinanza e Popolazione residente a Palermo al 31/12/2018 per Unità di primo livello e cittadinanza, scelti perché contengono l’informazione sulla cittadinanza distribuita nella UPL (Unità di primo livello), avere come identificatore geografico la sezione censuaria dell’ISTAT sarebbe stato l’ideale, più accurata è la distribuzione geografica dei residenti, più sarà realistica la mappa a densità di punti.

Come prima cosa abbiamo unito i due dataset, notiamo che manca il dato sul “genere” (maschio/femmina), per le mappe è ininfluente, ma nei grafici potrebbe essere utile per ulteriori analisi.

La tabella dei dati di base è composta da 56 righe e N colonne, una per ogni Nazionalità presente a Palermo. Per il nostro progetto questo tipo di ordine è poco utile, per noi è importante conoscere quanti residenti di ogni singola Nazionalità abitavano in una UPL, ovvero tutte le colonne delle Nazionalità dovevano essere trasposte da colonne in righe, mantenendo le colonne con le info sul territorio, UPL, quartiere e circoscrizione.

Tutto questo lavoro è stato fatto come per magia da @aborruso con VisiData e Miller

Ecco la nuova tabella dati, le colonne Cittadinanza e Residenti sono il frutto della magia di Andrea, in seguito sono state aggiunte le colonne del Continente e Sub-Regione di provenienza per avere ulteriori livelli di analisi sulla popolazione. Questa nuova tabella è stata la nostra base dati, con un dataset ripulito e ordinato si lavora meglio 🙂

Tutti i dati rielaborati da @opendatasicilia e usati per il progetto sono disponibili in unico dataset su – data.world – Popolazione residente a Palermo – 2018 – UPL

Residenti stranieri a Palermo

Gli stranieri residenti a Palermo nel 2018  sono 25.735 e rappresentano 130 Nazionalità, oggi sono il 3,83% della popolazione totale (670.954). Chi sono questi stranieri? Da dove vengono? Quanti sono? Dove vivono? Qual’è il rapporto stranieri/italiani nel territorio? Tutti i dettagli delle statistiche più recenti nei grafici e nelle mappe.

Il Viz sottostante presenta le Nazionalità di tutti gli stranieri che vivono a Palermo. Il 46,75% proviene da Paesi asiatici, il 31,60% da Paesi africani, il 18,61 proviene da Paesi europei,  il 3,03% sono di provenienza americana,  e solo 0,02% provengono dall’Oceania.

I cittadini Bangladesi, Singalesi, Ghanesi e Romeni da soli costituiscono più della  metà (57,41%) di tutti gli stranieri residenti a Palermo.

Dalle mappe e dai grafici emerge che nel centro stroico (quartieri Palazzo Reale – Monte di Pietà e Tribunali) c’è la maggior presenza di residenti stranieri con 5.183 residenti pari al 20,14%  , seguono i quartieri di:

  • Politeama 3.710 residenti – 14,42%;
  • Libertà  1.444 residenti – 5,61%;
  • Zisa 2.531 residenti – 9.83%;
  • Noce  2.248 residenti – 8,74%;
  • Oreto Stazione 4.230 residenti – 16,44%

che da soli ospitano 19.346 residenti, pari al 75,17% del totale dei residenti.

La presenza straniera si è quasi triplicata negli anni duemila raggiungendo a Dicembre 2018 il livello di 25.735 cittadini (il 3,83% dei residenti, è l’8,5% a livello nazionale) con un rapporto di genere abbastanza equilibrato.

In basso il Viz realizzato con Tableau PubblicPalermo, popolazione residente per cittadinanza, UPL , Quartiere e Circoscrizione – 2018


Palermo, popolazione residente per cittadinanza, UPL , Quartiere e Circoscrizione – 2018


Mappa One-person-one-dot

La mappa a densità di punti è un’istantanea su Palermo, fornisce una chiara una visualizzazione della distribuzione geografica, della densità di popolazione e delle diversa nazionalità
di residenti stranieri a Palermo in ogni UPL (unità di primo livello), quartiere e circoscrizione della Città. La mappa mostra 25.735 punti, uno per ogni persona che risiede a Palermo. Per semplificare la visualizzazione, ogni punto è codificato per colore dalla Sub-Regione di provenienza della persona.

Le posizioni dei punti non rappresentano gli indirizzi reali. L’identificatore geografico più dettagliato nei dati è il blocco (poligono) delle UPL, non sono diponibbili ad oggi i dati dei residenti stranieri per le zone censuarie dell’ISTAT.
I singoli punti sono posizionati casualmente  all’interno del blocco delle UPL per associare i totali di popolazione aggregata per quel blocco.
Di conseguenza, i punti in alcuni blocchi potrebbero trovarsi in mezzo a parchi, cimiteri, o altre aree chiaramente non residenziali all’interno di quel blocco UPL.
Una rappresentazione più accurata della distribuzione geografica dei residenti è possibile solo se i dati disponibili tengono conto di parchi, edifici e/o indirizzi fisici. Pertanto, la posizione dei singoli punti potrebbe essere condizionata da dati più dettagliati.

Come realizzare la mappa a densità di punti…?

Ecco un interessante post One-person-one-dot maps and how to make them che ci spiega in modo efficace cosa sono le mappe a densità di punti e come realizzarle con QGIS.

In sintesi, sono necessari due file: uno del territorio che si vuol mappare e i dati statitici che vogliamo rappresentare di quel territorio. Nel post precedente è spiegato in dettaglio il procedimento.


Mappa densità di punti elaborata con QGIS


Mappa densità di punti elaborata con QGIS e Leaflet

Mappa a densità di punti (One-person-one-dot) Palermo, popolazione residente per cittadinanza, UPL , Quartiere e Circoscrizione – 2018

Ciascuno dei 27.735 di punti è più piccolo di un pixel sullo schermo del computer nella maggior parte dei livelli di zoom. Pertanto, le “macchie di colore” che si vedono a livello comunale sono in realtà aggregazioni di molti punti individuali. Lo zoom è stato bloccato a 14 per facilitare la lettura d’insime.
Ogni punto sulla mappa è anche codificato per colore in base alla Sub-Regione di provenienza:

  • giallo, Asia del sud;
  • blu, Sud-est asiatico;
  • rosso, Nord Africani;
  • fuscia, Asia orientale;
  • verde, Africa sub-sahariana;
  • ceruleo, europeri appertaneti alla EU
  • arancio, europei fuori dall’UE
  • rosa, Sud America;
  • marrone, tutti gli altri.

Mappa densità di punti elaborata con Mapbox e Carto

Calcolati i punti utilizzando  la funzione ‘Random points in polygons’  di QGIS, come descritto nel post precedente, possiamo realizzare una mappa a densità di punti direttamente con mapbox o con cartodb, utilizzando un file .geojosn o un semplice file .csv con le coordinate dei punti (lat. long)  esportsati da QGIS, entrambe le piattaforme portano allo stesso risultato (tiles) utilizzando tecniche diverse. Stessa cosa si può realizzare con D3.js una libreria JavaScript per manipolare documenti basati su dati.

La mappa realizzata com mapbox è stata utilizzata come mappa di base per il Viz realizzato con Tableau Pubblic, disattivando tutti gli strati informativi della mappa di base è lasciando attivo solo il layer dei punti che rappresentano gli stranieri residenti a Palermo.


Fonte dati: Comune di PalermoDati sul territorio –  Stranieri residenti a Palermo al 31/12/2018 per Unità di primo livello e cittadinanza e Popolazione residente a Palermo al 31/12/2018 per Unità di primo livello e cittadinanza – distribuiti con Licenza CC BY 4.0 IT

Dataset rielaborato da @opendatasiciliadata.world – Popolazione residente a Palermo – 2018 – UPL


Riferimenti:

Brussels. A lovely Melting-Pot.
One Dot Per Person for the Entire United States
Miller
VisiData
QGIS
Leaflet
Mapbox
Cartodb
Datawrapper
Tableau Public


Ringrazziamenti

Milano e Palermo: le mappe della distribuzione della popolazione straniera residente nel 2018

1-2 giugno si svolgerà a Milano il raduno di Spaghetti Open Data del 2019 (in breve SOD19) presso la Fabbrica del Vapore, il programma e le proposte per l’hackathon del raduno si discutono nella Mailing-list di Spaghetti Open Data, tra tutte le proposte la mia attenzione è stata attirata dal post di Alberto Cottica, ovvero provare a fare una versione milanese della visualizzazione di Bruxelles Melting Pot.
In breve, è una mappa one person one dot dove ogni pixel rappresenta un abitante non nato in Italia. Il colore del pixel rappresenta la nazionalità: europea, nord-africana, asiatica etc. La mappa serve a capire se c’è segregazione spaziale. A Bruxelles c’è, con gli europei che abitano più a sud e est, i nord africani a nord e ovest, i turchi a nordest etc. (cit)L’idea mi affascina e visto che non potrò andare al raduno, penso… Se sul portale open data del Comune di Palermo ci sono i dati statistici sulla popolazione residente al 2018, perché non farne anche una versione palermitana…e dare il mio piccolo contributo al raduno ?

Per realizzare una buona mappa occorre un dataset come quello pubblicato dal Comune di Milano, con i dati anagrafici della popolazione residente distinta per anno, età, sesso, cittadinanza e quartiere, cosa che non sono riuscito a trovare per Palermo.
Sulla popolazione residente straniera ho trovato solo una pubblicazione in pdf  GLI STRANIERI A PALERMO NEL 2018 sul sito tematico Pubblicazioni Statistiche.

Sfogliando la pubblicazione pdf, a pagina 21 noto una tabella, Tavola 6: Cittadini al 31/12/2018 per cittadinanza a circoscrizione; non era esattamente quello che cercavo, ma pazienza, con un po di lavoro in più si possono tirar fuori i dati anche pdf 🙂

Come replicare la mappa di Bruxelles Melting Pot

Studiando gli esempi  suggeriti da Alberto Cottica, (Mailing-list di Spaghetti Open Data)  Bruxelles Melting Pot e One-person-one-dot maps and how to make them replicare la mappa non è impossibile.

Gli ingredienti di base sono:

  • Dataset ben strutturato di dati statistici;
  • Dataset dei poligoni del territorio da analizzare;
  • Semplici conoscenze del software QGIS o altri software GIS

Visto che il Comune di Milano rende disponibile in opendata entrambi i dataset, ho preferito iniziare  da Milano l’analisi della popolazione residente; capito il metodo, lo si può replicare in tanti altri casi.

Grazie a Tommaso Dardi per aver indicato dove trovare i dataset di Milano  – Popolazione: residenti per cittadinanza e quartiereTerritorio: localizzazione dei quartieri della città (Nuclei d’Identità Locale – NIL)

Il dataset sulla popolazione residente di Milano è un ricchissimo file con le serie storiche dal 1999 a 2018: contiene 2.136.906 di righe, indigeste ai normali fogli di calcolo, proprio per questo motivo sul portale è consigliato l’uso di pacchetti statistici o software per la gestione di database (DataBase Management System), in quanto i file possono superare il numero massimo di record supportato dai normali fogli elettronici.Per il mio test ero interessato soltanto ai dati relativi all’anno 2018. Per estrarli ho usato QGIS, ma si può fare in altri modi, come importando il file in data.world ed eseguendo una query per anno, oppure utilizzando VisiData come il maestro @aborruso.Con una semplicissima selezione “Anno” = ‘2018’ otteniamo i dati di nostro interesse.Non ci resta che salvare la selezione, adesso con 131.162 elementi è più semplice lavorare.

Esempio di estrazione dei dati dell’anno 2018  con data.world e queryCon data.world è sufficiente importare il file .csv scaricato dal portale opendata del Comune di Milano Popolazione: residenti per cittadinanza e quartiere e scrivere una nuova query:

select * from ds27_pop_sto_quartiere where ds27_pop_sto_quartiere.anno like "2018"

cliccare su Run query e  dopo qualche secondo di attesa otteniamo i dati relativi all’anno 2018.

Estratti i dati del 2018 possiamo iniziare a giocare 🙂

Come strutturare i dati

Il nostro obbiettivo è quello mappare i residenti di ogni quartiere, aggregati per Paese, Continente o Sub-Regione di provenienza. Come prima cosa dobbiamo conoscere il numero totale dei residenti aggregati per Paese, Continente e Sub-Regione di provenienza.

L’aggregazione, può essere fatta velocemente con le Tabelle-Pivot (grazie Andrea Borruso), per comodità ho usato Google sheets,  la stessa procedura può essere fatta con Libreoffice ed Excel e con QGIS usando il plugin Group Stats (grazie a Salvatore Fiandaca per le info QGIS).

Ad un primo confronto con i dati di Bruxelles mi rendo conto che nei dati di Milano mancano le informazioni sul Continente e la Sub-Regione di provenienza, per cui è necessario aggiungere due colonne ed aggiungere le relative  informazioni.Con l’aiuto di wikipedia.org ho trovato le Sub-Regioni:

Dal sito Eurostat Statistics Explained:

Aggiunte le nuove info, possiamo costruire tutte le tabelle-pivot necessarie per la nostra analisi.La tabella in alto rappresenta l’aggregazione della popolazione residente per quartiere e sub-regione di provenienza, visto che vogliamo fare anche un confronto residenti stranieri e italiani, quest’ultimi non sono stati inseriti nella sub-regione, (EU-15).

Il campo dell’anno si poteva omettere visto che sono tutti dati dello stesso anno, il campo IdNil, ci tornerà utile nelle operazioni da fare con QGIS

Mappa One-person-one-dot

Come realizzare la mappa a densità di punti una persona un punto…?  Ecco un interessante post One-person-one-dot maps and how to make them che ci spiega cosa sono le mappe a densità di punti e come realizzarla QGIS.

In sintesi, sono necessari due file: uno del territorio che si vuol mappare e i dati statitici che vogliamo rappresentare di quel territorio.

Carichiamo i file in QGIS, per comodità mi sono creato un Geopackage, dove ho caricato i file necessari al test. Eseguiamo una Join tra i poligoni (nilzome) e le tabelle che abbiamo estratto in precedenza, usando come campo unione ID_NIL, selezioniamo solo le colonne utili e lasciamo vuoto il campo del prefisso da utilizzare per le nuove colonne.Ecco la nuova tabella, con il totale dei residenti vari quartieri, aggregati per sub-regioni.

Adesso non ci rimane che creare un nuovo layer di punti casuali, utilizzando i poligoni dei quartieri, uno per ogni subregione.Aprire il pannello Strumenti Processing, dal menù ‘Processing’ –> ‘Strumenti’,  scrivere nel cerca il nome del comando da eseguire, ‘Punti casuali dentro poligoni’, in inglese ‘Random points in polygons’ e:

  1. Selezionare il vettore d’ingresso, potrebbero esserci più layer di poligoni;
  2. selezionare il campo/espressione che si desidera mappare
  3. Dare un nome al file e specificare il percorso di salvataggio, se lasciato vuoto verrà creato un file temporaneo;

cliccare su esegui, nel giro di pochi secondi il nuovo layer sarà generato.Se dobbiamo ottenere ‘N’ layer, uno per ogni sub-regione possiamo eseguire un processo in serie.Prima di selezionare la colonna dati da mappare, clicchiamo su ‘Esegui come processo in serie‘ e configuriamo i parametri nella nuova finestra.Questa volta il processo sarà più lungo e dobbiamo attendere qualche minuto. Andrea Borruso e Salvatore Fiandaca sono a lavoro per uno script #arigadicomando, che velocizzi e automatizzi tutto il processo. La mappa inizia a prendere vita, diminuendo la dimensione dei punti la mappa sarà più leggibile.Per fare un confronto con mappa di Bruxelles Melting Pot non ci resta che adottare gli stessi colori.

Ecco le mappe a densità di punti della popolazione residente di Milano 🙂

Qui il dataset costruito con tutte le tabelle-pivot ricavate dal google-sheets e rielaborato con Andrea Borruso e Salvatore Fiandaca, usato per il test, della popolazione residente a Milano nel 2018; il dataset contiene i dati anagrafici della popolazione residente distinta per età, sesso, cittadinanza e quartiere e il geojson dei quartieri di Milano (Nil – Nuclei d’Identità Locale), per poter replicare il test e miglioralo, e per  realizzare altri elaborati. Licenza CC0

Grafico realizzato con Tableau Public che mette a confronto la popolazione residente, italiani e stranieri nei quartieri, aggregati per genere.


Il caso Palermo

Capito il metodo, torno a lavorare sulla mappa di Palermo, sicuro di dover faticare un pò di più 🙂

Come già detto i dati di base non sono ideali, li devo ricavare da una tabella in un file pdf, GLI STRANIERI A PALERMO NEL 2018, pagina 21, Tavola 6: Cittadini al 31/12/2018 per cittadinanza a circoscrizione.

A questo punto la domanda mi sorge spontanea… chiudo tutto e vado a fare una passeggiata a Mondello o mi armo di pazienza e vado avanti…?

Dopo qualche minuto di perplessità ha prevalso  l’amore per Palermo…si va avanti 🙂

La prima cosa da fare e convertire la taballa pdf human learning in una tabella machine learning, fortunatamente è un file pdf a è posso copiare direttamente la tabella nello sheet. Prossimo passo organizzare un dataset simile a quello di Milano e Bruxelles per poter replicare l’esperienza.Contestualmente alla riorganizzazione dei dati, aggiungiamo le colonne, Continents e Subregions, perché a me interessa l’aggregazione per Sub-Regione. Con i dati in possesso non è stato possibile suddividere i cittadini Europei in EU-N13, EU-15, EU28 e Europeans out of EU. Sempre con Tabella-Pivot ho estratto i dati della popolazione residente a Palermo nel 2018, aggregata per Circoscrizione e Sub-Regione di provenienza.

Per replicare la mappa è necessario il file con i poligoni del territorio, in questo caso i le aree delle circoscrizioni sono state estratte dal dataset ISTAT Basi territoriali e variabili censuarie – Censimento 2011.


Mappa One-person-one-dot – Palermo

La procedura per ottenere i layer puntuali con QGIS è la stessa vista in precedenza, è cambiata la finalità, oltre alle immagini statiche, desidero ottenere una webmap, utilizzando QGIS e LeafletDopo aver ottenuto i singoli file di punti per ogni Sub-Regione ho usato la funzione ‘MergeFondi vettori, per ottenere un solo file di punti, più semplice da tematizzare.Caricato e tematizzato il nuovo layer, tutto è pronto per realizzare la webmap. Con il plugin QTiles vengono create le piastrelle ‘Tiles‘  del layer di punti, con il plugin qgis2web, viene creato tutto il pacchetto base delle webmab, usando il layer delle Circoscrizioni. Con Dreamweaver o con qualsiasi altro software che lavori con file html, si assemblano tutte le parti.

palermohub.opendatasicilia.it/stranieri_residenti_suregions

Per il grafico all’interno del tooltip è stata usata la webapp datawrapper (grazie Andrea Borruso)Sempre nella mappa non manca un Viz realizzato con Tableau Public e con i pochi dati disponibili.

Qui il dataset costruito con tutte le tabelle-pivot ricavate dal google-sheets e rielaborato con Andrea Borruso e Salvatore Fiandaca, usato per il test, della popolazione residente a Palermo nel 2018, disponibile su data.world.

L’insufficienza dei dati disponibili, per quartieri o zone censuarie, rende la mappa a densità di punti per popolazione la straniera residente a Palermo, è un mero esercizio di stile, non paragonabile alle mappe di Milano e Brussels. Se in futuro ci saranno dati più dettagliati si potrebbe rieseguire l’analisi.


Riferimenti:

Brussels. A lovely Melting-Pot.
One-person-one-dot maps and how to make them
QGIS
Datawrapper
Tableau Public


Ringraziamenti: